Block( {Таблица} Var('TopBands',Memo,Global), smpDOC.SDP('Header'), smpDOC.SFP('Регистрационный номер', 'Caption', DCL.GetNDCaption(DCL.GetFieldVal(PRIM, 'DECLPRIM.ND')) ), Let(@BufString, DCL.GetNSIInfo('CustomsCodes','CODE', Left(smpDOC.GFP('Регистрационный номер', 'Caption'), 8), 'NAMT','(DATAS IS NULL OR DATAS>=DATE())') ), smpDOC.SFP('Таможенный орган', 'Caption', BufString), Let(@BufString, DCL.GetFieldVal(DOP, 'G37')), Let(@BufString, BufString + Supress(' ', DCL.GetNSIInfo('CustomsProcedures_Main', 'Code', Left(BufString, 2), 'Dsc', ''))), smpDOC.SFP('Таможенная процедура', 'Caption', BufString), Const('AddTableId', Integer, Global, PRIM), {для совместимости с dclitn.ppu} Use('dclitn.ppu'), Let(@BufMemo, SupressCRLFInMemo(GetGTDFirmNameAndAddress('02', 1))), AddStrToSnake(@BufMemo, PersonalData(PRIM, 2, 0, 0, 0)), AddStrToSnake(@BufMemo, Supress('ИНН ', DCL.GetFieldVal(PRIM, 'M021'))), smpDOC.SFP('Отправитель товаров', 'Caption', BufMemo), Let(@BufMemo, SupressCRLFInMemo(GetGTDFirmNameAndAddress('08', 1))), AddStrToSnake(@BufMemo, PersonalData(PRIM, 8, 0, 0, 0)), AddStrToSnake(@BufMemo, Supress('ИНН ', DCL.GetFieldVal(PRIM, 'M081'))), AddStrToSnake(@BufMemo, '/'), AddStrToSnake(@BufMemo, Supress('КПП ', DCL.GetFieldVal(PRIM, 'G087'))), smpDOC.SFP('Получатель товаров', 'Caption', BufMemo), Let(@BufMemo, GetGTDFirmNameAndAddress('14', 1)), AddStrToSnake(@BufMemo, PersonalData(PRIM, 14, 0, 0, 0)), AddStrToSnake(@BufMemo, Supress('ИНН ', DCL.GetFieldVal(PRIM, 'M141'))), smpDOC.SFP('Декларант', 'Caption', BufMemo), smpDoc.SFP('Страна назначения', 'Caption', DCL.GetFieldVal(PRIM, 'G17B')), Let(@BufMemo, ""), While(Not(DCL.IsEOF(GTD44)), Block( Let(@BufString, DCL.GetFieldVal(GTD44, 'G444') + ' ' + DCL.GetFieldVal(GTD44, 'G442') + Supress(' выд.', DCL.GetFieldVal(GTD44, 'G443')) ), AddStrToSnake(@BufMemo, BufString, 1, ', '), DCL.MoveNext(GTD44) ) ), smpDOC.SFP('Сведения о предоставляемых документах', 'Caption', BufMemo), smpDOC.Update(), DOC.Roll(D.Instance(smpDOC)+'.Header'), DOC.Roll(D.Instance(smpDOC)+'.Table_Captions'), smpDOC.SDP('Table_Data'), Var('G32', Integer, Global), Const('sCurrencyCode', String, Global, DCL.GetFieldVal(PRIM, 'G221')), Const('sCurrencyAbbr', String, Global, GetValAbbr(sCurrencyCode)), Const('sCurrencyInfo', String, Global, DCL.RefCurrency(sCurrencyCode, 'KRNAIM')+ Supress('/', sCurrencyAbbr) ), While(Not(DCL.IsEOF(DOP)), Block( ClearPage(smpDOC), Let(@G32, DCL.GetFieldVal(DOP, 'DECLDOP.G32')), smpDOC.SFP('№ п/п', 'Caption', G32), smpDOC.SFP('Наименование товара', 'Caption', GetCargoDscForTable(DOP, DOP, GTDBACK, 0, 1)), {основной текст + доп. текст + группы} smpDOC.SFP('Код товара по ТН ВЭД ТС', 'Caption', DCL.GetFieldVal(DOP, 'G33') + Supress(' ', DCL.GetFieldVal(DOP, 'G33_AddInfo'))), smpDOC.SFP('Количество товара в основной единице измерения (кг)', 'Caption', Format('%g', DCL.GetFieldVal(DOP, 'G35'))), smpDOC.SFP('Количество товара в дополнительной единице измерения', 'Caption', Format('%g', DCL.GetFieldVal(DOP, 'G315A'))), smpDOC.SFP('Обозначение и код дополнительной единицы измерения', 'Caption', DCL.GetFieldVal(DOP, 'G315') + Supress('/', DCL.GetFieldVal(DOP, 'G41A'))), smpDOC.SFP('Стоимость товара', 'Caption', Format('%.2f', DCL.GetFieldVal(DOP, 'G42'))), smpDOC.SFP('Краткое наименование и код валюты', 'Caption', sCurrencyInfo), smpDOC.Update(), smpDOC.Recalc(), MakeTableLines(smpDOC, 'L', 36, 45, 'L35'), DOC.PrepareRoll(D.Instance(smpDOC)+'.Table_Data'), If(DOC.IsNewPage(), If(DOC.CurrPage()=0, DOC.SetTopBands(ConvertToMemo(D.Instance(smpDOC) + '.Pages_Info') + ConvertToMemo(D.Instance(smpDOC) + '.Table_Captions') ) ) ), DOC.CommitRoll(D.Instance(smpDOC)+'.Table_Data'), DCL.MoveNext(DOP) ) ), smpDOC.SDP('Footer'), smpDOC.SFP('Общая стоимость декларируемых товаров', 'Caption', Format('%.2f РУБ', DCL.GetFieldVal(PRIM, 'G12')) ), Let(@BufMemo, ""), If(DCL.FindFirst(GTDB, 'PAYM_ID IN (10, 20) AND Summa1 IS NOT NULL AND Summa1<>0'), Block( Let(@BufMemo, Format('%.2f ' + GetValAbbr(DCL.GetFieldVal(GTDB, 'ValCode1')), DCL.GetFieldVal(GTDB, 'Summa1') ) ), Let(@BufString, 'PAYM_ID = ' + DCL.GetFieldVal(GTDB, 'PAYM_ID')), Let(@BufInt, DCL.FindFirst(GTDNPP, BufString)), While(BufInt, Block( Let(@BufString1, Supress(DCL.GetFieldVal(GTDNPP, 'NAMEPDOK'), ' ') + DCL.GetFieldVal(GTDNPP, 'NUMPDOK') + Supress(' от ', DCL.GetFieldVal(GTDNPP, 'DATPDOK')) ), AddStrToSnake(@BufMemo, BufString1, 1, ', '), Let(@BufInt, DCL.FindNext(GTDNPP, BufString)) ) ), smpDOC.SFP('Сведения об уплате таможенных сборов', 'Caption', BufMemo) ) ), Use('dcl54_2.ppu'), Let(@BufMemo, ConvertToMemo(BufString)), Use('dcl54_3.ppu'), AddToMemo(@BufMemo, BufString), smpDOC.SFP('Сведения о лице, заполнившем перечень', 'Caption', BufMemo), Use('GetCustRepresInfoToBufMemo.ppu'), Use('AddG54CertInfoToBufMemo.ppu'), AddStrToSnake(@BufMemo, Trim(Supress('Договор №', GetFieldVal(PRIM, 'G5411')) + Supress(' от ', GetFieldVal(PRIM, 'G5411D')) ), 1, '. ' ), smpDOC.SFP('Таможенный представитель', 'Caption', BufMemo), Let(@BufString, DCL.GetFieldVal(PRIM, 'G542')), smpDOC.SFP('Дата', 'Caption', '"' + FormatDateTime('DD', BufString) + '" ' + MonthName(FormatDateTime('MM', BufString)) + ' '+ FormatDateTime('YYYY', BufString) + ' г.' ), smpDOC.SFP('Подпись', 'Caption', DCL.GetFIO(PRIM, 0)), smpDOC.Update(), DOC.Roll(D.Instance(smpDOC)+'.Footer') )