![]() |
![]() |
![]() |
|
Вывести в печатную форму счета на оплату договор из заказа клиента в УТ 11 | ☑ | ||
---|---|---|---|---|
0
aea1984
23.01.18
✎
11:19
|
Добрый день.
Данная задача в УТ 10.3 решалась одной строкой - ОбластьМакета.Параметры.Договор = СсылкаНаОбъект.ДоговорКонтрагента; Но как это сделать в УТ 11, не пойму. Подскажите, пожалуйста. |
|||
1
Ц_У
23.01.18
✎
11:21
|
(0) также как и в 10.3
нам неведома процедура заполнения твоего макета |
|||
2
aea1984
23.01.18
✎
11:23
|
Процедура ЗаполнитьРеквизитыШапкиСчетаНаОплату(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, ТаблицаТовары)
Макет = ПолучитьМакет("ПФ_MXL_СчетНаОплату"); СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата); ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); ФормированиеПечатныхФорм.ВывестиЛоготипВТабличныйДокумент(Макет, ОбластьМакета, "ЗаголовокСчета", ДанныеПечати.Организация); ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка); Если ТаблицаЭтапыОплаты.Количество() = 0 Тогда ДатаПлатежа = '00010101'; ИначеЕсли ТаблицаЭтапыОплаты.Количество() = 1 Тогда ДатаПлатежа = ТаблицаЭтапыОплаты[0].ДатаПлатежа; Иначе ДатаПлатежа = ТаблицаЭтапыОплаты[ТаблицаЭтапыОплаты.Количество()-1].ДатаПлатежа; КонецЕсли; Если ЗначениеЗаполнено(ДатаПлатежа) Тогда СтруктураДанныхЗаголовок = Новый Структура; НадписьСрокДействия = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru='Счет действителен до %1.'"), Формат(ДатаПлатежа, "ДЛФ=D")) + " "; СтруктураДанныхЗаголовок.Вставить("СрокДействия", НадписьСрокДействия); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхЗаголовок); КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); Если ДанныеПечати.ПлатежЗаРубеж Тогда ОбластьМакета = Макет.ПолучитьОбласть("ОбразецЗаполненияРеквизитыБанка"); СтруктураДанныхШапки = Новый Структура; ПредставлениеПоставщикаДляПлатПоручения = ""; Если ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда СтруктураДанныхШапки.Вставить("СчетБанкаПолучателяПредставление", ДанныеПечати.НомерБанковскогоСчета); СтруктураДанныхШапки.Вставить("БанкПолучателяПредставление", ДанныеПечати.НаименованиеБанка); СтруктураДанныхШапки.Вставить("АдресБанкаПолучателяПредставление", ДанныеПечати.АдресБанка); СтруктураДанныхШапки.Вставить("СВИФТБанка", ДанныеПечати.СВИФТБанка); ПредставлениеПоставщикаДляПлатПоручения = ДанныеПечати.БанковскийСчетТекстКорреспондента; КонецЕсли; Если ПустаяСтрока(ПредставлениеПоставщикаДляПлатПоручения) Тогда ПредставлениеПоставщикаДляПлатПоручения = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,"); КонецЕсли; СтруктураДанныхШапки.Вставить("ПредставлениеПоставщикаДляПлатПоручения", ПредставлениеПоставщикаДляПлатПоручения); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки); ТабличныйДокумент.Вывести(ОбластьМакета); Если Не ПустаяСтрока(ДанныеПечати.НаименованиеБанкаДляРасчетов) Тогда ОбластьМакета = Макет.ПолучитьОбласть("ОбразецЗаполненияРеквизитыБанкаКорреспондента"); СтруктураДанныхШапки.Очистить(); СтруктураДанныхШапки.Вставить("БанкКорреспондентПолучателяПредставление", ДанныеПечати.НаименованиеБанкаДляРасчетов + " " + ДанныеПечати.АдресБанкаДляРасчетов); СтруктураДанныхШапки.Вставить("СВИФТБанкаДляРасчетов", ДанныеПечати.СВИФТБанкаДляРасчетов); СтруктураДанныхШапки.Вставить("СчетБанкаДляРасчетовПредставление", ДанныеПечати.СчетВБанкеДляРасчетов); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки); ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("ОбразецЗаполненияНазначениеПлатежа"); СтруктураДанныхШапки.Очистить(); Если Не ЗначениеЗаполнено(ДанныеПечати.НазначениеПлатежа) И ТипЗнч(ДанныеПечати.Ссылка) <> Тип("ДокументСсылка.СчетНаОплатуКлиенту") Тогда СтруктураДанныхШапки.Вставить("НазначениеПлатежа", Документы.СчетНаОплатуКлиенту.СформироватьНазначениеПлатежа( ДанныеПечати.Номер, ДанныеПечати.Ссылка)); Иначе СтруктураДанныхШапки.Вставить("НазначениеПлатежа", ДанныеПечати.НазначениеПлатежа); КонецЕсли; ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки); ТабличныйДокумент.Вывести(ОбластьМакета); Иначе Если ДанныеПечати.КонтрагентЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо И ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда ОбластьМакета = Макет.ПолучитьОбласть("ОбразецЗаполненияППСКодом"); Иначе ОбластьМакета = Макет.ПолучитьОбласть("ОбразецЗаполненияПП"); КонецЕсли; СтруктураДанныхШапки = Новый Структура; СтруктураДанныхШапки.Вставить("ИНН", СведенияОПоставщике.ИНН); СтруктураДанныхШапки.Вставить("КПП",СведенияОПоставщике.КПП); ПредставлениеПоставщикаДляПлатПоручения = ""; СтруктураДанныхШапки.Вставить("ИдентификаторПлатежа", ДанныеПечати.ИдентификаторПлатежа); Если ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда Если ЗначениеЗаполнено(ДанныеПечати.БИКБанкаДляРасчетов) Тогда Банк = ДанныеПечати.НаименованиеБанкаДляРасчетов; БИК = ДанныеПечати.БИКБанкаДляРасчетов; КоррСчет = ДанныеПечати.КоррСчетБанкаДляРасчетов; ГородБанка = ДанныеПечати.ГородБанкаДляРасчетов; НомерСчета = ДанныеПечати.КоррСчетБанка; Иначе Банк = ДанныеПечати.НаименованиеБанка; БИК = ДанныеПечати.БИКБанк; КоррСчет = ДанныеПечати.КоррСчетБанка; ГородБанка = ДанныеПечати.ГородБанка; НомерСчета = ДанныеПечати.НомерБанковскогоСчета; КонецЕсли; СтруктураДанныхШапки.Вставить("БИКБанкаПолучателя", БИК); СтруктураДанныхШапки.Вставить("БанкПолучателя", Банк); СтруктураДанныхШапки.Вставить("БанкПолучателяПредставление", СокрЛП(Банк) + " " + ГородБанка); СтруктураДанныхШапки.Вставить("СчетБанкаПолучателя", КоррСчет); СтруктураДанныхШапки.Вставить("СчетБанкаПолучателяПредставление", КоррСчет); СтруктураДанныхШапки.Вставить("СчетПолучателяПредставление", НомерСчета); СтруктураДанныхШапки.Вставить("СчетПолучателя", НомерСчета); ПредставлениеПоставщикаДляПлатПоручения = ДанныеПечати.БанковскийСчетТекстКорреспондента; КонецЕсли; Если ПустаяСтрока(ПредставлениеПоставщикаДляПлатПоручения) Тогда ПредставлениеПоставщикаДляПлатПоручения = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,"); КонецЕсли; Если Не ЗначениеЗаполнено(ДанныеПечати.НазначениеПлатежа) И ТипЗнч(ДанныеПечати.Ссылка) <> Тип("ДокументСсылка.СчетНаОплатуКлиенту") Тогда СтруктураДанныхШапки.Вставить("НазначениеПлатежа", Документы.СчетНаОплатуКлиенту.СформироватьНазначениеПлатежа( ДанныеПечати.Номер, ДанныеПечати.Ссылка)); Иначе СтруктураДанныхШапки.Вставить("НазначениеПлатежа", ДанныеПечати.НазначениеПлатежа); КонецЕсли; СтруктураДанныхШапки.Вставить("ПредставлениеПоставщикаДляПлатПоручения", ПредставлениеПоставщикаДляПлатПоручения); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки); Если ДанныеПечати.КонтрагентЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо И ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда РеквизитыПлатежа = РеквизитыПлатежаQRКод(СтруктураДанныхШапки); РеквизитыПлатежа.СуммаЧислом = СуммаКОплатеПоСчету(ДанныеПечати, ТаблицаТовары); ВывестиQRКод(РеквизитыПлатежа, ДанныеПечати, ОбластьМакета); КонецЕсли; ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки(); ВыводитьКоды = ЗначениеЗаполнено(КолонкаКодов); Смещать = ТипСмещенияТабличногоДокумента.ПоВертикали; ОбластьПервойКолонкиТоваров = Макет.Область("ПерваяКолонкаТовара"); Если НЕ ВыводитьКоды Тогда ОбластьПервойКолонкиТоваров.ШиринаКолонки = ОбластьПервойКолонкиТоваров.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; Макет.УдалитьОбласть(Макет.Область("КолонкаКодов"), Смещать); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Счет на оплату'")); СтруктураДанныхШапки = Новый Структура; СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); СтруктураДанныхПоставщик = Новый Структура; СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.ОрганизацияПоставщик, ДанныеПечати.Дата), "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,")); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); СтруктураДанныхПокупатель = Новый Структура; СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,")); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель); ТабличныйДокумент.Вывести(ОбластьМакета); //Если ЗначениеЗаполнено(ДанныеПечати.Грузоотправитель) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Грузоотправитель"); СтруктураДанныхГрузоотправитель = Новый Структура; СтруктураДанныхГрузоотправитель.Вставить("ПредставлениеГрузоотправителя", ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.ОрганизацияПоставщик, ДанныеПечати.Дата), "ПолноеНаименование,ИНН,КПП,ФактическийАдрес,Телефоны,")); //СтруктураДанныхГрузоотправитель.Вставить("ПредставлениеГрузоотправителя", ОписаниеОрганизации(ДанныеПечати, "Грузоотправитель")); ОбластьМакета.Параметры.Основание = ЭтотОбъектСсылка.ДоговорыКонтрагентов; ОбластьМакета.Параметры.Заполнить(СтруктураДанныхГрузоотправитель); ТабличныйДокумент.Вывести(ОбластьМакета); //КонецЕсли; //Если ЗначениеЗаполнено(ДанныеПечати.Грузополучатель) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Грузополучатель"); СтруктураДанныхГрузополучатель = Новый Структура; //СтруктураДанныхГрузополучатель.Вставить("ПредставлениеГрузополучателя", ОписаниеОрганизации(ДанныеПечати, "Грузополучатель")); СтруктураДанныхГрузополучатель.Вставить("ПредставлениеГрузополучателя", ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ПолноеНаименование,ИНН,КПП,ФактическийАдрес,Телефоны,")); СтруктураДанныхГрузополучатель.Вставить ("Основание", ЭтотОбъект.Ссылка.ДоговорКонтрагента); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхГрузополучатель); ТабличныйДокумент.Вывести(ОбластьМакета); //КонецЕсли; КонецПроцедуры |
|||
3
Ц_У
23.01.18
✎
12:01
|
ДанныеДляПечати.Ссылка.
|
|||
4
Ц_У
23.01.18
✎
12:02
|
ДанныеПечати ест-но, и найди функцию формирования этих данных
|
|||
5
aea1984
23.01.18
✎
12:21
|
Сделал так - СтруктураДанныхГрузополучатель.Вставить ("Договор", ДанныеПечати.Договор);
Подскажите, где задать значение ДанныеПечати.Договор? Есть ли описание по этой теме? |
|||
6
Ц_У
23.01.18
✎
12:32
|
(5) ДанныеПечати.Ссылка.ДоговорКонтрагента или просто Договор я не знаю что у вас там
|
|||
7
Ц_У
23.01.18
✎
12:33
|
(5) задать, упасть в отладчик, вызвать стек вызовов, смотреть вышестоящую процедуру, она передает ДанныеПечати, где-то там и будет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |