Block( Use(SystemDir+'docdrv.ppu'), Let(@IsVTT,DCL.GetFieldVal(PRIM,'IsVTT')), If(IsVTT,Let(@AktType,1)), Const('CustomName',String,Global,DCL.GetRegString('HKCU','Software\CTM\DCL\MAIN\USER','CustomCode','')), If(Length(CustomName), Let(@CustomName,DCL.GetNSIInfo('KTAM1','CODE',CustomName,'NAMT','(DATAS IS NULL OR DATAS>=DATE())')) ), {Поручение на досмотр} smpAKT.SDP('Поручение'), ClearPage(smpAKT), Const('Import',Integer,Global,1), Const('Nomer',String,Global,Left(DCL.GetND(DCL.GetFieldVal(PRIM,'ND')),16)), smpAKT.SFP('№ Поручения','Caption',Nomer), If(Length(CustomName),smpAKT.SFP('T2','Caption',CustomName)), Var('ts',Memo,Global), Var('sdoc',Memo,Global), Use('getdkd.ppu'), smpAKT.SFP('ТC','Caption',ts), smpAKT.SFP('Документы','Caption',sdoc), Let(@BufString,UCase(DCL.GetFieldVal(PRIM,'G011'))), If(BufString='ЭК',Let(@Import,0)), If(Import=0, Let(@BufString, Trim(SupressCRLF(DCL.GetFieldVal(PRIM,'G022'))+' '+ Supress('код ОКПО ',DCL.GetFieldVal(PRIM,'G021'))+' '+ Supress('ИНН ',DCL.GetFieldVal(PRIM,'M021')) ) ), Let(@BufString, Trim(SupressCRLF(DCL.GetFieldVal(PRIM,'G082'))+' '+ Supress('код ОКПО ',DCL.GetFieldVal(PRIM,'G081'))+' '+ Supress('ИНН ',DCL.GetFieldVal(PRIM,'M081')) ) ) ), smpAKT.SFP('Фирма','Caption',BufString), smpAKT.SFP('Страна','Caption',DCL.GetFieldVal(PRIM,'G15')), smpAKT.SFP('Мест','Caption',DCL.GetFieldVal(PRIM,'G06')), smpAKT.SFP('Нетто','Caption',Supress(Zero(DCL.GetFieldVal(ITOGI,'SumG38'),'%g'),' кг')), smpAKT.SFP('Брутто','Caption',Supress(Zero(DCL.GetFieldVal(ITOGI,'SumG35'),'%g'),' кг')), smpAKT.SFP('Место назначения','Caption',DCL.GetFieldVal(PRIM,'G17B')), smpAKT.SFP('Место досмотра','Caption',DCL.GetFieldVal(PRIM,'G30')), smpAKT.Update(), smpAKT.Recalc(), AKT.Roll(D.Instance(smpAKT)+'.Поручение'), AKT.RollBreak(), {Акт досмотрa} If(AktType=1, smpAKT.SDP('AktHead'), smpAKT.SDP('Page2_Header') ), ClearPage(smpAKT), smpAKT.SFP('№ Акта','Caption',Nomer), smpAKT.SFP('№ Поручения','Caption',Nomer), If(Length(CustomName),smpAKT.SFP('T2','Caption',CustomName)), smpAKT.SFP('Грузоотправитель','Caption', Trim(SupressCRLF(DCL.GetFieldVal(PRIM,'G022'))+' '+ Supress('код ОКПО ',DCL.GetFieldVal(PRIM,'G021'))+' '+ Supress('ИНН ',DCL.GetFieldVal(PRIM,'M021'))+ If(AktType=2,ts,'') ) ), Let(@BufString,DCL.GetFieldVal(PRIM,If(Import,'G15','G17B'))), smpAKT.SFP('Страна','Caption',BufString), smpAKT.SFP('Грузополучатель','Caption', Convert( Trim(SupressCRLF(DCL.GetFieldVal(PRIM,'G082'))+' '+ Supress('код ОКПО ',DCL.GetFieldVal(PRIM,'G081'))+' '+ Supress('ИНН ',DCL.GetFieldVal(PRIM,'M081')) ),Memo) ), smpAKT.SFP('Документы','Caption',sdoc), smpAKT.SFP('Место досмотра','Caption',DCL.GetFieldVal(PRIM,'G30')), smpAKT.SFP('Мест','Caption',DCL.GetFieldVal(PRIM,'G06')), smpAKT.SFP('Брутто по документам','Caption',Zero(DCL.GetFieldVal(ITOGI,'SumG35'),'%g')), smpAKT.SFP('ТС','Caption',ts), smpAKT.SFP('ТС_1','Caption',ts), If(AktType=1, Block( {по приказу} AKT.SetTopBands(D.Instance(smpAKT)+'.AktHead'), AKT.SetBottomBands(D.Instance(smpAKT)+'.AktFoot'), AKT.Roll(D.Instance(smpAKT)+'.ClearPage'), Const('vDopList', Global, Integer, 0), SmpAkt.SDP('DopHead'), smpAKT.SFP('aktNo','Caption',Nomer), SmpAkt.SDP('WareInfo'), DCL.MoveFirst(DOP), While(Not(DCL.IsEOF(DOP)), Block ( Let(@BufMemo,""), AddStrToSnake(@BufMemo,SupressCRLF(DCL.GetFieldVal(DOP,'G312'))+' '), AddStrToSnake(@BufMemo,DCL.GetFieldVal(DOP,'AddToG312')+' '), AddStrToSnake(@BufMemo,Supress('Товарные знаки:',DCL.GetFieldVal(DOP,'G317TVZ'))+' '), Let(@BufString,Zero(DCL.GetFieldVal(DOP,'FIZ_KOL'),'%g')), AddStrToSnake(@BufMemo,BufString+' '+DCL.GetFieldVal(DOP,'FIZ_NAME')+' '), Let(@BufString,Zero(DCL.GetFieldVal(DOP,'DOP_KOL'),'%g')), AddStrToSnake(@BufMemo,BufString+' '+DCL.GetFieldVal(DOP,'DOP_NAME')+' '), If(IsVTT, AddStrToSnake(@BufMemo,DCL.GetFieldVal(DOP,'G311')+' '+DCL.GetFieldVal(DOP,'UPAK')+' '), AddStrToSnake(@BufMemo,Zero(DCL.GetFieldVal(DOP,'G311'),'%d')+' '+DCL.GetFieldVal(DOP,'UPAK')+' ') ), AddStrToSnake(@BufMemo,DCL.GetFieldVal(DOP,'MARKS')), smpAKT.SFP('WareString', 'Caption', bufMemo), smpAKT.Update(), smpAKT.Recalc(), AKT.PrepareRoll(D.Instance(smpAKT)+'.WareInfo'), if(AKT.IsNewPage(), Block( Let(@vDopList, vDopList+1), SmpAkt.SDP('DopHead'), smpAKT.SFP('listNo','Caption',vDopList), SmpAkt.SDP('WareInfo'), AKT.SetTopBands(D.Instance(smpAKT)+'.DopHead'), AKT.SetBottomBands(D.Instance(smpAKT)+'.DopFoot') )), AKT.Roll(D.Instance(smpAKT)+'.WareInfo'), DCL.MoveNext(DOP) ) ) { use('akttov.ppu'), smpAKT.SFP('Текст','Caption',BufMemo), smpAKT.Update(), smpAKT.Recalc(), AKT.Roll(D.Instance(smpAKT)+'.Акт досмотра'), {Добавочный лист} { use('aktadd.ppu')} ), Block( {не по приказу} smpAKT.Update(), smpAKT.Recalc(), AKT.Roll(D.Instance(smpAKT)+'.Page2_Header'), AKT.RollBreak(), use('aktadd2.ppu'), AKT.SDP('Акт досмотра 1'), AKT.SFP('Стат. стоимость1','Caption',Format('%g USD',SumG46)), AKT.Update() ) ) )