Имя: Пароль:
1C
1С v8
Вывести в печатную форму счета на оплату договор из заказа клиента в УТ 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) задать, упасть в отладчик, вызвать стек вызовов, смотреть вышестоящую процедуру, она передает ДанныеПечати, где-то там и будет
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.