View previous topic :: View next topic
Author
Message
asu6 Joined: 15 May 2007 Posts: 6 Location: Kovalko Occupation: Гапром-Нефть (Вед.инж.пр.) Interests: Кемерово
Posted: 16 May 2007 10:48 Post subject: Генерация проводок в плагине в товарном блоке
Напомните пожалуйста, как сгенерировать проводки в товарном блоке по приходу товара в плагине (БЭСТ -4 9.03)
В расходе работает такая строка :
GenPro(MDOC->DATE, MDOC->DATE, 2, 1,,, {MDOC->(UPPER(Sclad+Vid+Type+CodeDoc+NumDoc))})
а в приходе не отрабатывает (предварительно автоматически с помощью плагина сформированы строки документа и шапка, тип.операция - оперативная )
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 16 May 2007 11:21 Post subject:
Давайте по порядку:
1. Точка вызова - откуда вызываете свой плагин
2. Текущий алиас
3. Текущее состояние алиаса (скоб наложен, фильтр,актьивный индекс)
4. Именно эту строку пишете в плагине ?
Back to top
asu6 Joined: 15 May 2007 Posts: 6 Location: Kovalko Occupation: Гапром-Нефть (Вед.инж.пр.) Interests: Кемерово
Posted: 17 May 2007 08:53 Post subject:
1. В реестре "Закупка " (vid="1" type="1")
2.
3.
4. Кусок формирования шапки документа
DBPUSH("MDOC","MDOC")
Mdoc->(DbAppend())
Mdoc->Vid:='1'
Mdoc->Type:='1'
Mdoc->Sclad:=ScPath
Mdoc->CodeDoc:='ЗАК'
Mdoc->NumDoc:=Right(Smena->NumDoc,6)
Mdoc->CodeOper:='01'
Mdoc->AgentCode:=сAgentCode
Mdoc->AgentName:=сAgentName
Mdoc->Date:=Smena->Date1
Mdoc->Date1:=Smena->Date1
Mdoc->CodeVal:='РУБ'
Mdoc->CenaVal:=1
Mdoc->Input:='1'
Mdoc->Schet_a:='6007'
Mdoc->Model:=-1
Mdoc->kolpos:=xkolpos
Mdoc->SumOut:=ccccc
Mdoc->Summa:=ccccc
Mdoc->SumOutr:=ccccc
Mdoc->Sumr:=ccccc
Mdoc->Sumrn:=ccccc
// не прикручен итератор - пока для пробы
Mdoc->Pro:=999999
//
Mdoc->(F_DbUnlock())
GenPro(MDOC->DATE, MDOC->DATE, 2, 1,,, {MDOC->(UPPER(Sclad+Vid+Type+CodeDoc+NumDoc))})
DBPOP()
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 17 May 2007 13:25 Post subject:
Сегодня у меня встреча важная - завтра посмотрю Ваш вопрос....
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 21 May 2007 19:50 Post subject:
Ну что же давайте теперь разбираться а у Вас в MDOCM есть строчки ?
В приведенном примере Вы привели только MDOC()
Проводки то по MDOCM создаваться должны вообще-
Back to top
asu6 Joined: 15 May 2007 Posts: 6 Location: Kovalko Occupation: Гапром-Нефть (Вед.инж.пр.) Interests: Кемерово
Posted: 22 May 2007 06:04 Post subject:
// Добавляем из массива строки
While iii<=iiLen
xCol:=Val(Substr(ySmena001[iii],24,3))
xSumma:=Val(Substr(ySmena001[iii],27,15))
ccccc:=ccccc+xSumma
xCol2:=xCol
If xCol=0
xCena:=0
Else
xCena:=xSumma/xCol
Endif
ggGrup:=Left(ySmena001[iii],5)
nnNum:=Substr(ySmena001[iii],6,13)
ppPartia:=" "
// Добавление партии в справочник партий - другой источник поступления
DBPUSH("SPR_PART","TAG_NUM","",{"UPPER(Grup+Nnum+Code)",Upper(ggGrup+nnNum+"Г")})
SPR_PART->(DbGoBottom())
ppPartia:=SPR_PART->Code
If ppPartia=" "
ppPartia:="Г0001"
Else
ppPartia:="Г"+Padl(Alltrim(Str(Val(Right(ppPartia,4))+1)),4,'0')
Endif
DBPOP()
DBPUSH("SPR_PART","TAG_NUM")
SPR_PART->(DbAppend())
SPR_PART->Grup:=ggGrup
SPR_PART->Nnum:=nnNum
SPR_PART->Code:=ppPartia
SPR_PART->Name:="ТТН "+Right(Smena->NumDoc,6)+" АЗК "+Alltrim(ScPath)
SPR_PART->Ag_Schet:="6007"
SPR_PART->Ag_Code:=Smena->AgentCode
SPR_PART->Agent_Code:=Smena->AgentCode
SPR_PART->Ag_Name:=Parta
SPR_PART->Val_Code:="USD"
SPR_PART->Data_p:=Smena->Date1
SPR_PART->Cena_p:=xCena
SPR_PART->Cena_f:=xCena
SPR_PART->Cena_Fn:=xCena
SPR_PART->Kol_tek:=xCol
SPR_PART->Kol_all:=xCol
spr_part->(F_DbUnlock())
//spr_part->(F_DbUnlock())
DBPOP()
// Поиск наименования в картотеке
nomenkll:=""
//-----------
Dbpush("Mlabel","NNUM")
If Mlabel->(DbSeek(Upper(nnNum)))
nomenkll:=Mlabel->Name
Endif
dbpop()
//-----------
// Добавление в картотеку
// заголовок по партии
DbPush("MKART","MKART")
Mkart->(DbAppend())
Mkart->Sclad:=ScPath
Mkart->Grup:= ggGrup
Mkart->Nnum:= nnNum
Mkart->Koltek:=xCol
Mkart->Schet:="4103100"
Mkart->Name:=nomenkll
Mkart->(F_DbUnlock())
// по складу
Mkart->(DbAppend())
Mkart->Sclad:=ScPath
Mkart->Grup:= ggGrup
Mkart->Nnum:= nnNum
Mkart->Koltek:=xCol
Mkart->Schet:="4103100"
Mkart->Name:=nomenkll
Mkart->Partia:=ppPartia
Mkart->(F_DbUnlock())
DBPOP()
DBPUSH("MDOCM","MDOCM")
Mdocm->(DbAppend())
Mdocm->Vid:='1'
Mdocm->Type:='1'
Mdocm->Sclad:=ScPath
Mdocm->CodeDoc:='ЗАК'
Mdocm->NumDoc:=Right(Smena->NumDoc,6)
Mdocm->CodeOper:='01'
Mdocm->Date:=Smena->Date1
Mdocm->CodeVal:='РУБ'
Mdocm->AgentCode:=Smena->AgentCode
Mdocm->Schet_a:='6007'
Mdocm->Schet:="4103100"
Mdocm->Grup :=ggGrup
Mdocm->Nnum :=nnNum
Mdocm->Partia :=ppPartia
Mdocm->Kol:=xCol2
Mdocm->KolOut:=xCol2
Mdocm->Cenaout:=xCena
Mdocm->Cena0n:=xCena
Mdocm->SumOut :=xSumma
Mdocm->SumOutR:=xSumma
Mdocm->SumFact:=xSumma
Mdocm->Sumn:=xSumma
Mdocm->Ed1:=Substr(ySmena001[iii],19,3)
Mdocm->Ed2:=Substr(ySmena001[iii],19,3)
//Mdocm->SumRn:=xSumma
Mdocm->Input:='1'
xkolpos:=xkolpos+1
Mdocm->NumStr:=xkolpos
Mdocm->(F_DbUnlock())
DbPop()
iii:=iii+1
Enddo
и далее строки из прошлого листинг
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 22 May 2007 13:04 Post subject:
Продолжаем разговор
По поводу точки вызова уточните как конкретно в реестре закупок вызываете.
Дальше взгляните в отладчике на значение переменной
plAct
Дальше попробуйте сами смастерить массив aMat в цикле по mdocm
по алгоритму
Code: aMat := {{}}
IF(LEN(aMat[LEN(aMat)])>999,AADD(aMat,{}),) // (aMat{{}})
AADD(aMat[LEN(aMat)],;
MakeMat(IF(MDocM->Type=="$",Kol0,KolOut),Ed1,IF(MDocM->Type=="$",Kol0,Kol),CenaOut,Ed2,;
SumOut,SumOutR,SumFact,Sum,Iznos,;
Period,MLabel->Ed,Schet,Kol1,CodeDoc1,;
NumDoc1,Sclad1,Kol2,KolBr,KolNed,;
Oper_Fact,0,,,Date1,;
,MDocM->SumN))
Далее посмотрите на массив который Вам вернет
Code: aPro := AddPro({},aMat,,{})
Back to top
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