Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

опять InitList()
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 07 May 2007 18:49    Post subject: Reply with quote

Quote:
Function Main()

LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,aRef,bDel,aSortSeek

aSet:=SaveSet()
aSetKey:=SaveSetKey()

NetUse("Mlabel",loadpath()+"\sclad\mlabel.dbf",,.F.)
NetUse("Mgrup",loadpath()+"\sclad\mgrup.dbf",,.F.)
NetUse("Mkart",LoadPath()+"\sclad\mkart.dbf",,.F.)
Mlabel->(OrdSetFocus("MLAB_ST"))
MLabel->(dbcreateindex('C:\temp\mlbl','upper(GRUP+NNUM+" ")'))
Mgrup->(OrdSetFocus("MGrup"))
MKart->(OrdSetFocus("MKart_P10"))
Mkart->(SetScope(UPPER(GRUP+NNUM+PARTIA+SCLAD)))
MKart->(dbgotop())
DBPUSH("Mlabel","MlBL","",{'upper(GRUP+NNUM+" ")',Mkart->(UPPER(GRUP+NNUM+PARTIA+SCLAD))})


DispBox(2,0,23,79,(CHR(201)+CHR(205)+CHR(187)+CHR(186)+CHR(188)+CHR(205)+CHR(200)+CHR(186)+' ' ),"W+/B")

nTop:=3

nBot:=22

cColHead:={"Ценовая группа группа ном.номер Наименование "}

aBlockCols:={{{||FIELD->gr_cen},4},{{||FIELD->grup},19},{{||FIELD->nnum},24},{{||LEFT(FIELD>NAME,37)},41}}

cCurProc:={||"2"}

aHeads:={;
{"Ценовая группа......:","gr_cen"},;
{"Группа..............:","grup"},;
{"Номенклатурный №....:","nnum"},;
{"Наименование........:","name",0},;
{"Цена до 2-х тн......:","oCena1"},;
{"Цена c 2-х до 5и тн.:","oCena2"},;
{"Цена c 5-и тн.......:","oCena3"},;
{"Спец. цена..........:","oCena4"}}

Mgrup->(MakeRefer("grupss","Справочник групп",2,{"Группа","Наименование"},{3,23,7},"n/w,w+/n",{"CODE"},{"aIn[1]"},,{{||FIELD->Code},{||FIELD->Name}}))
aRef:={,,,,,,"grupss"}

bDel:={||.T.}

aSortSeek:={{'- номерам ТМЦ внутри групп ',{'Код группы?:','Ном. номер?: '},{'Grup','NNum'},'UPPER(aIn[1]+aIn[2])',,,{"grupss"},"MLABEL"},;
{'- наименованиям внутри групп',{'Код группы: ','Наименование:'},{'grup','Space(10)'},'UPPER(" "+aIn[1]+aIn[2])',,,{"grupss"},"MLAB_ST"}}

Mlabel->(InitList(nTop,nBot,cColHead,aBlockCols,cCurProc,aHeads,aRef,,,,,bDel,,aSortSeek))

mgrup->(dbclosearea())

RestSetKey(aSetKey)
RestSet(aSet)

return


Где-то я ступарюсь=(

Учёт партионный (для каждой номенклатуры есть пустая карточка - её и берём).
Соответственно надо объединить Мкарт и Млабел по (груп+ннум+партия(5пробелов)+Прайс (1пробел))

КАК??? Ну помогите пожалуйста!

PS мне ответы типа "Ну да можно F_SETRALATION(), но здесь я бы воспользовался дбсикоком()" ничего не говорят... Я бы хотел примерчик с коментариями для новичк
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 10 May 2007 15:21    Post subject: Reply with quote

Был в небольшом отпуске
Я честно говоря так и не могу понять чего Вы хотите добиться.
Вы открываете Mlabel - это я вижу. Вы что отфильтровать хотите mlabel только по позициям включенным в прайс-лист или что ?
Или просто информация нужна на экране из mkart ?
Back to top
View user's profile Send private message Send e-mail
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 10 May 2007 15:47    Post subject: Reply with quote

Quote:
Вы что отфильтровать хотите mlabel только по позициям включенным в прайс-лист или что ?


ДА!!! Я хочу из Mlabel брать только те позиции, которые в прайсе висят.

и ещё вопрос... можно-ли запустить на одном экране сразу 2 initlist, что бы, двигая курсором по верхней половине, на нижней он автоматически перемещался. (опять на примере mkart+Mlabel).
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 10 May 2007 17:41    Post subject: Reply with quote

Вы хотите экран по примеру типовых операци
Back to top
View user's profile Send private message Send e-mail
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 11 May 2007 10:52    Post subject: Reply with quote

ну, например... но это так, для общего развития... а конкретно сейчас мне надо понять как отфильтровать Mlabel по MKart->Price=" "
Back to top
View user's profile Send private message
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 11 May 2007 12:39    Post subject: Reply with quote

первый вопрос остаётся в силе. Очень хочу увидеть примерчик фильтра...

а вот такой вопрос... Чё не так??? Tab-ами окошки переключаются (правда на подсыеченной области пропадает cColHead. Сначала он был Local, но всё равно пропадал ) и... Tab нажимается, следующее окошко подсвечивается, а если нажать стрелочку вниз (или PageDown) начинают мелькать окнна (как будто Tab зажат), потом, секунд через 20 прога вываливается в главное меню

Quote:
FUNCTION Main()
Private mcur1,mcur2,_numrec

aSet:=SAVESET()
aSetKey:=SAVESETKEY()

_numrec:=1

NetUse("_Mgrup",loadpath()+"\sclad\mgrup.dbf",,.F.)
_Mgrup->(OrdSetFocus("MGrup"))
_Mgrup->(MakeRefer("grupss","Справочник групп",2,{"Группа","Наименование"},{3,23,7},"n/w,w+/n",{"CODE"},{"aIn[1]"},,{{||FIELD->Code},{||FIELD->Name}}))
NetUse("Mkart",LoadPath()+"\sclad\mkart.dbf",,.F.)
NetUse("Mlabel",loadpath()+"\sclad\mlabel.dbf",,.F.)



DO WHILE INIT1(.T.).AND.INIT2(.T.)
ENDDO

//INIT1()
//INIT2()

RESTSETKEY(aSetKey)
RESTSET(aSet)

MKart->(DBCLOSEAREA())
_Mgrup->(DBCLOSEAREA())
Mlabel->(DBCLOSEAREA())

RETURN NIL


Function Init2(lFlag1)

LOCAL aSet,aSetKey,nTop,nBot,aBlockCols,cCurproc,aHeads,aRef,bDel,aSortSeek
Private hnRowAct,cColHead1


Mlabel->(OrdSetFocus("MLAB_ST"))


DispBox(2,0,23,79,(CHR(201)+CHR(205)+CHR(187)+CHR(186)+CHR(188)+CHR(205)+CHR(200)+CHR(186)+' ' ),"W+/B")

nTop:=14
nBot:=22
cColHead1:={"Ценовая группа группа ном.номер Наименование "}

aBlockCols:={;
{{||FIELD->gr_cen},4},;
{{||FIELD->grup},19},;
{{||FIELD->nnum},24},;
{{||LEFT(FIELD->NAME,37)},41};
}

cCurProc:={||mcur2(lFlag1,@hnRowAct,m->_numrec,RecNo())}

cHead:='Прайс глист'
cHead1:='Ацтой'
cHelp:="ENTER:Правка F4:Ввод F3:Сортировка F6/Alt-F6:Фильтр F7/Alt-F7:поиск"

aHeads:={;
{"Ценовая группа......:","gr_cen"},;
{"Группа..............:","grup"},;
{"Номенклатурный №....:","nnum"},;
{"Наименование........:","name",0},;
{"Цена до 2-х тн......:","oCena1"},;
{"Цена c 2-х до 5и тн.:","oCena2"},;
{"Цена c 5-и тн.......:","oCena3"},;
{"Спец. цена..........:","oCena4"}}


bDel:={||.T.}

aSortSeek:={{'- номерам ТМЦ внутри групп ',{'Код группы?:','Ном. номер?: '},{'Grup','NNum'},'UPPER(aIn[1]+aIn[2])',,,{"grupss"},"MLABEL"},;
{'- наименованиям внутри групп',{'Код группы: ','Наименование:'},{'grup','Space(10)'},'UPPER(" "+aIn[1]+aIn[2])',,,{"grupss"},"MLAB_ST"}}

@ 13,1 SAY REPLICATE("─",7 COLOR "w/b" //это не смайлик, это "8 )" без пробела
SHADOWBOX("ENTER:Правка F4:Ввод F3:Сортировка F6/Alt-F6:Фильтр F7/Alt-F7:поиск",23,3,23,75,"W/B")

Mlabel->(InitList(nTop,nBot,cColHead1,aBlockCols,cCurProc,aHeads,aRef,,,,,bDel,,aSortSeek,,,,,,,,,,,,,,,hnRowAct))


RETURN LASTKEY()!=27


FUNCTION INIT1(lFlag)
LOCAL aSet,aSetKey,nTop,nBot,aBlockCols,cCurproc,aHeads,aRef,bDel,aSortSeek
Private hnRowAct,cColHead2

MKart->(OrdSetFocus("MKart_P2"))
MKart->(OrdSetFocus("MKart_P10"))

DispBox(2,0,23,79,(CHR(201)+CHR(205)+CHR(187)+CHR(186)+CHR(188)+CHR(205)+CHR(200)+CHR(186)+' ' ),"W+/B") // первый прямоугольник

nTop:=3
nBot:=12
//nLeft:=1
cColHead2:={"Группа ном.№ Наименование На складе Резерв Склад№"}

aBlockCols:={{{||FIELD->grup},1},;
{{||RIGHT(FIELD->nnum,5)},8},;
{{||LEFT(FIELD->Name,32)},15},;
{{||RIGHT(STR(FIELD->koltek),10)},48},;
{{||RIGHT(STR(FIELD->kolres),10)},59},;
{{||FIELD->sclad},71} }


cCurProc:={||mcur1(lFlag,@hnRowAct,m->_numrec,RecNo())}


aHeads:={;
{"Группа..............:","grup"},;
{"Номенклатурный №....:","nnum"},;
{"Наименование........:","name",0}}

//{"Цена до 2-х тн......:","oCena1"},;
//{"Цена c 2-х до 5и тн.:","oCena2"},;
//{"Цена c 5-и тн.......:","oCena3"},;
//{"Спец. цена..........:","oCena4"}}

aRef:={,,,,,,"grupss"}
bDel:={||.T.}

aSortSeek:={{'- номерам ТМЦ внутри групп ',{'Код группы?:','Ном. номер?: '},{'Grup','NNum'},'UPPER(aIn[1]+aIn[2])',,,{"grupss"},"Mkart_P10"},;
{'- наименованиям внутри групп',{'Код группы: ','Наименование:'},{'grup','Space(10)'},'UPPER(" "+aIn[1]+aIn[2])',,,{"grupss"},"MKart_P2"}}

@ 13,1 SAY REPLICATE("─",7 COLOR "w/b" //это тоже не смайлик
SHADOWBOX("ENTER:Правка F4:Ввод F3:Сортировка F6/Alt-F6:Фильтр F7/Alt-F7:поиск",23,3,23,75,"W/B")

MKart->(InitList(nTop,nBot,cColHead2,aBlockCols,cCurProc,aHeads,aRef,,,,,bDel,,aSortSeek,,,,,,,,,,,,,,,hnRowAct))

RETURN LASTKEY()!=27

FUNCTION mcur1(_xlActiv,hnRowAct,xRec,xRec1)
LOCAL m1end,m1Ar

m1End:=2
m1Ar:=MKart->(QScroll())
hnRowAct:=m1Ar[6]

IF LASTKEY()=9
mkart->(QOFF())
SETLASTKEY(0)
m1End:=0
ELSE
IF xRec == NIL.OR.xRec<>xRec1
Init2(.F.)
m->_numrec:=xRec1
ENDIF
IF _xlActiv
m1End:=2
ELSE
(QOff())
m1End:=0
ENDIF
ENDIF

RETURN m1end

FUNCTION mcur2(_lActiv,hnRowAct,xRec,xRec1)
LOCAL m2end,m2Ar
m2Ar:=MLabel->(QScroll())
hnRowAct:=m2Ar[6]
IF LASTKEY()=9
(QOff())
SETLASTKEY(0)
m2End:=0
ELSE
IF xRec == NIL.OR.xRec<>xRec1
Init1(.F.)
m->_numrec:=xRec1
ENDIF
IF _lActiv
m2End:=2
ELSE
QOff()
m2End:=0
ENDIF
ENDIF
RETURN m2end

и... как мне сделать так, чтобы перемещая курсор по верхней половине экрана он по нижней сам передвигался???
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 11 May 2007 13:27    Post subject: Reply with quote

На первый вопрос мне надо немножко подумать (пару-тройку рабочих дней) чтобы получше способ предложить или образец из исходника БЭСТа дать.
А вот по второму вопросу и предваряя будущие вопросы у меня к Вам есть такое предложение.
Давайте научимся пользоваться отладчиком и на многие вопросы Вы самостоятельно и оперативно ответы видеть будете.
Согласны ?
Back to top
View user's profile Send private message Send e-mail
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 11 May 2007 13:46    Post subject: Reply with quote

я постараюсь...
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 11 May 2007 18:49    Post subject: Reply with quote

Я к тому что готов помогать и направлять в этом вопросе.
Хотите откроем тему-урок и в ней попробуем совместно с отладчиком поработать на Вашем примере ?
Back to top
View user's profile Send private message Send e-mail
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 14 May 2007 10:42    Post subject: Reply with quote

КОНЕЧНО ХОЧУ!!! Я об этом даже и не мечтал
Нужно сделать модуль "Прайс с ценовыми группами"
Для этого в Mlabel добавляем поле "Cen_Gr" C3. При этом надо 2 инитлиста (Mkart и Mlabel), чтобы передвигая курсор по первому - во втором он автоматически перемещался. Плюс поиск/сортировка позиций по Mlabel->Cen_Gr, и Hot Key (например Alt+R) "Применить цену по всей ценовой группе" То есть что бы не вбивать одинаковые цены, а разбить их по группам, потом вбить цены в одну (любую) позицию и применить цену ко всей ценовой группе.
Сложно???
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 14 May 2007 12:31    Post subject: Reply with quote

ОК вечером поработаю над темо
Back to top
View user's profile Send private message Send e-mail
Notwar



Joined: 21 Sep 2005
Posts: 101
Location: Notwar Dan
Occupation: mlst(it)
Interests: Moscow

PostPosted: 14 May 2007 13:20    Post subject: Reply with quote

НЕСКАЗАННО БЛАГОДАРЕН!!!!!!!
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 15 May 2007 12:40    Post subject: Reply with quote

Переходим в тему строчкой выше
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru