Имя: Пароль:
1C
 
Меню печать
, ,
0 KukenKvaken
 
20.09.18
12:49
Добрый день.
есть в 1с меню Печать
https://ibb.co/mbLRBe

Но мне бы хотелось туда добавить подменю для однотипных документов.
как это сделать???
1 Cool_Profi
 
20.09.18
12:54
Сюда подменю добавить нельзя
2 Cool_Profi
 
20.09.18
12:55
Точнее можно, но для этого придётся переписать половину подсистемы печати.
Там идёт выбор из списка значений, а как в нём сделать иерархическое меню - я не знаю
3 KukenKvaken
 
20.09.18
12:57
(2) т.е. если у меня 12 типов договоров которые менеджер выбирает сам в зависимости от типа клиента, и прочих составляющих то мне все 12 суда и добавлять?
4 Cool_Profi
 
20.09.18
13:00
(3) Да. Или одну, а в ней уже делай выбор типа договора
5 KukenKvaken
 
20.09.18
13:02
(4) ну дак это я и хочу сделать. тока макеты то под все договора разные, разные данные из формы цепляют. вот и хотелось чтоб был выбор у манагера. а как сделать не знаю даже не представляю..
6 Cool_Profi
 
20.09.18
13:03
ВПФ и справочник варианты договора.
В ВПФ - открывать окно выбора "Выберите нужный вариант договора".
7 KukenKvaken
 
20.09.18
13:04
(6) для особо тупых типа меня поподробней мона
8 Cool_Profi
 
20.09.18
13:08
(7) Что конкретно не понятно?
ВПФ регистрируем как работающую на клиенте (не помню, как именно, там должен быть клиентский вызов);
В процедуре Печать() Или как там она называется, зовешь Справочник.ВариантыДоговоров.Выбрать() и по результату печчатаешь нужный договор.
9 KukenKvaken
 
20.09.18
13:13
(8) тоесть вот этот кусок кода мне будет не нужен?.
Функция ПечатьДоговора(МассивОбъектов, ОбъектыПечати)
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Договор_ТА";
    
    Макет = ПолучитьМакет("ПФ_MXL_Договор_ТА");
    
    ОблЧасть_1 = Макет.ПолучитьОбласть("Часть_1");
    ОблЧасть_2 = Макет.ПолучитьОбласть("Часть_2");
    ОблЧасть_3 = Макет.ПолучитьОбласть("Часть_3");
    ОблЧасть_4 = Макет.ПолучитьОбласть("Часть_4");
    
    Шапка_СведенияОТуристах  = Макет.ПолучитьОбласть("Шапка_СведенияОТуристах");
    Строка_СведенияОТуристах = Макет.ПолучитьОбласть("Строка_СведенияОТуристах");
    Подвал_СведенияОТуристах = Макет.ПолучитьОбласть("Подвал_СведенияОТуристах");
    
    Шапка_СведенияОМаршруте  = Макет.ПолучитьОбласть("Шапка_СведенияОМаршруте");
    Строка_СведенияОМаршруте = Макет.ПолучитьОбласть("Строка_СведенияОМаршруте");
    
    Шапка_СредствоРазмещения  = Макет.ПолучитьОбласть("Шапка_СредствоРазмещения");
    Строка_СредствоРазмещения = Макет.ПолучитьОбласть("Строка_СредствоРазмещения");
    
    Шапка_Экскурсии  = Макет.ПолучитьОбласть("Шапка_Экскурсии");
    Строка_Экскурсии = Макет.ПолучитьОбласть("Строка_Экскурсии");
    
    Шапка_Трансфер  = Макет.ПолучитьОбласть("Шапка_Трансфер");
    Строка_Трансфер = Макет.ПолучитьОбласть("Строка_Трансфер");
    
    Шапка_УслугиПеревозки  = Макет.ПолучитьОбласть("Шапка_УслугиПеревозки");
    Строка_УслугиПеревозки = Макет.ПолучитьОбласть("Строка_УслугиПеревозки");
    
    Шапка_Страхование  = Макет.ПолучитьОбласть("Шапка_Страхование");
    Строка_Страхование = Макет.ПолучитьОбласть("Строка_Страхование");
    
    Шапка_ВизовоеОформление  = Макет.ПолучитьОбласть("Шапка_ВизовоеОформление");
    Строка_ВизовоеОформление = Макет.ПолучитьОбласть("Строка_ВизовоеОформление");
    
    Шапка_ДругиеУслуги  = Макет.ПолучитьОбласть("Шапка_ДругиеУслуги");
    Строка_ДругиеУслуги = Макет.ПолучитьОбласть("Строка_ДругиеУслуги");
    
    списокПараметров = Новый Структура();
    
    Для Каждого Объект Из МассивОбъектов Цикл
        
        НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
        
        СведенияОбОрганизации    = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Объект.Организация, Объект.Дата);
        
        Если Объект.КлиентЯвляетсяФизЛицом Тогда
            СведенияОКлиенте = УправлениеНебольшойФирмойСервер.ДанныеФизЛица(Объект.Организация, Объект.Контрагент, Объект.Дата, Ложь);
            СведенияОКлиенте.Вставить("ПолноеНаименование", ?(ЗначениеЗаполнено(СведенияОКлиенте.Представление), СведенияОКлиенте.Представление, Объект.Контрагент.Наименование));
            СведенияОКлиенте.Вставить("ФактическийАдрес", УправлениеНебольшойФирмойСервер.ПолучитьКонтактнуюИнформацию(Объект.Контрагент, Справочники.ВидыКонтактнойИнформации.АдресПроживанияФизЛица));
        Иначе
            СведенияОКлиенте = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Объект.Контрагент, Объект.Дата);
        КонецЕсли;
        
        списокПараметров.Вставить("Организация", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование"));
        списокПараметров.Вставить("Клиент", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОКлиенте, "ПолноеНаименование"));
        
        Руководители = УправлениеНебольшойФирмойСервер.ОтветственныеЛицаОрганизационнойЕдиницы(Объект.Организация, Объект.Дата);
        списокПараметров.Вставить("ФИОРуководителя", Руководители.ФИОРуководителя);
        
        списокПараметров.Вставить("Дата", Формат(Объект.Дата, "ДЛФ=DD"));
        списокПараметров.Вставить("Номер", Объект.Номер);
        
        списокПараметров.Вставить("ОрганизацияСокрНаименование", Объект.Организация.Наименование);
        списокПараметров.Вставить("ЮридическийАдрес", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ЮридическийАдрес"));
        списокПараметров.Вставить("ПочтовыйАдрес", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ФактическийАдрес"));
        списокПараметров.Вставить("Телефоны", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "Телефоны"));
        списокПараметров.Вставить("EMAIL", УправлениеНебольшойФирмойСервер.ПолучитьКонтактнуюИнформацию(Объект.Организация, Справочники.ВидыКонтактнойИнформации.EmailОрганизации));
        
        Стр = Объект.Организация.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации, "Вид");
        Если Стр <> Неопределено Тогда
            списокПараметров.Вставить("Город", Стр.Город);
        Иначе    
            списокПараметров.Вставить("Город", "г. ");
        КонецЕсли;
        
        списокПараметров.Вставить("Банк", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "Банк"));
        списокПараметров.Вставить("РасчетныйСчет", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "НомерСчета"));
        списокПараметров.Вставить("АдресБанка", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "АдресБанка"));
        списокПараметров.Вставить("КоррСчет", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "КоррСчет"));
        списокПараметров.Вставить("БИК", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "БИК"));
        
        Если Объект.ВыбратьПакетныйТур Тогда
            Туроператор = Объект.ПакетныйТур.Оператор;
        Иначе
            Туроператор = Объект.Организация;
        КонецЕсли;    
        
        СведенияОТуроператоре = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Туроператор, Объект.Дата);
        списокПараметров.Вставить("ТуроператорПолноеНаименование", Туроператор.НаименованиеПолное);
        списокПараметров.Вставить("Туроператор", Туроператор);
        списокПараметров.Вставить("ТуроператорЮридическийАдрес", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОТуроператоре, "ЮридическийАдрес"));
        списокПараметров.Вставить("ТуроператорПочтовыйАдрес", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОТуроператоре, "ФактическийАдрес"));
        списокПараметров.Вставить("ТуроператорФактическийАдрес", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОТуроператоре, "ФактическийАдрес"));
        списокПараметров.Вставить("ТуроператорТелефоны", УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОТуроператоре, "Телефоны"));
        
        ДопРекв = Справочники.ТА_ДопРеквизитыТуроператоров.Выбрать(, Туроператор, Новый Структура("Основной", Истина));
        Если ДопРекв.Следующий() Тогда
            списокПараметров.Вставить("ТуроператорРеестровыйНомер", ДопРекв.РеестровыйНомер);
            списокПараметров.Вставить("ВидИРазмерФинансовогоОбеспечения", ДопРекв.ВидИРазмерФинансовогоОбеспечения);
            списокПараметров.Вставить("НомерДатаИСрокДействия", ДопРекв.НомерДатаИСрокДействияДоговораСтрахованияОтветственностиТуроператораИлиБанковскойГарантии);
            списокПараметров.Вставить("НаименованиеОрганизации", ДопРекв.НаименованиеОрганизацииПредоставившейФинансовоеОбеспечение);
            списокПараметров.Вставить("АдресОрганизации", ДопРекв.АдресОрганизацииПредоставившейФинансовоеОбеспечение);
            списокПараметров.Вставить("ПочтовыйАдресОрганизации", ДопРекв.ПочтовыйАдресОрганизацииПредоставившейФинансовоеОбеспечение);
        КонецЕсли;
        
        СписокТуристов = "";
        Для Каждого Стр Из Объект.Туристы Цикл
            Если Стр.Турист <> Объект.Контрагент Тогда
                СписокТуристов = СписокТуристов + ?(ПустаяСтрока(СписокТуристов), "", Символы.ПС) + Стр.Турист;
            КонецЕсли;
        КонецЦикла;
        
        списокПараметров.Вставить("СписокТуристов", СписокТуристов);
        списокПараметров.Вставить("Страна", Объект.ПакетныйТур.Страна);
        списокПараметров.Вставить("ДатаВыезда", Формат(Объект.ДатаВыезда, "ДЛФ=DD"));
        списокПараметров.Вставить("ДатаВозврата", Формат(Объект.ДатаВозврата, "ДЛФ=DD"));
        списокПараметров.Вставить("Менеджер", Объект.Ответственный);
        списокПараметров.Вставить("СуммаДокументаПрописью", УправлениеНебольшойФирмойСервер.СформироватьСуммуПрописью(Объект.СуммаДокумента, Объект.ВалютаДокумента));
        списокПараметров.Вставить("ТелефонКлиента", Объект.ТелефонКлиента);
        
        списокПараметров.Вставить("ГородПребывания", Объект.ПакетныйТур.Город);
        
        ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840", Истина);
        Если Объект.ВалютаДокумента<>Объект.ВалютаТура Тогда
                        
            списокПараметров.Вставить("СуммаДокументаВал", формат(Объект.СтоимостьВВалютеТура, "ЧЦ=15; ЧДЦ=2"));
            списокПараметров.Вставить("СуммаДокументаВалПрописью", УправлениеНебольшойФирмойСервер.СформироватьСуммуПрописью(Объект.СтоимостьВВалютеТура, Объект.ВалютаТура));
            
        Иначе
            списокПараметров.Вставить("СуммаДокументаВал", Формат(Объект.СуммаДокумента, "ЧЦ=15; ЧДЦ=2"));
        КонецЕсли;    
        
        ВалютаРуб = Константы.ВалютаУчета.Получить();
        Если НЕ ВалютаРуб.Пустая() Тогда
            
            СтруктураПоВалюте = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Объект.Дата, Новый Структура("Валюта", ВалютаРуб));
            Курс              = СтруктураПоВалюте.Курс;
            Кратность         = СтруктураПоВалюте.Кратность;
            
            списокПараметров.Вставить("СуммаДокумента", Формат(УправлениеНебольшойФирмойСервер.ПересчитатьИзВалютыВВалюту(Объект.СуммаДокумента, Объект.Курс, Курс, Объект.Кратность, Кратность), "ЧЦ=15; ЧДЦ=2") + " " + ВалютаРуб);
            
        Иначе
            списокПараметров.Вставить("СуммаДокумента", Формат(0, "ЧЦ=15; ЧДЦ=2") + " " + Объект.ВалютаДокумента);
        КонецЕсли;    
        
        СуммаОплаты  = 0;
        СуммаДоплаты = 0;
        ДатаДоплаты = "";
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Дата",Объект.Дата);
        Запрос.УстановитьПараметр("Объект", Объект.Ссылка);
        Запрос.Текст =
        "ВЫБРАТЬ
        |    СУММА(РасчетыСПокупателямиОбороты.СуммаРасход) КАК СуммаОплачено,
        |    РасчетыСПокупателямиОбороты.Регистратор
        |ИЗ
        |    РегистрНакопления.РасчетыСПокупателями.Обороты(&Дата, , Регистратор, Документ = &Объект) КАК РасчетыСПокупателямиОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |    РасчетыСПокупателямиОбороты.Регистратор";
        
        Выб = Запрос.Выполнить().Выбрать();
        Пока Выб.Следующий() Цикл
            
            Если СуммаОплаты = 0 Тогда
                списокПараметров.Вставить("СуммаАванса", Формат(Выб.СуммаОплачено, "ЧЦ=15; ЧДЦ=2"));
                списокПараметров.Вставить("ДатаАванса", Формат(Выб.Регистратор.Дата, "ДЛФ=D") );
            Иначе
                списокПараметров.Вставить("ДатаДоплаты", Формат(Выб.Регистратор.Дата, "ДЛФ=D") );
                СуммаДоплаты = СуммаДоплаты + Выб.СуммаОплачено;
            КонецЕсли;    
            
            СуммаОплаты = СуммаОплаты + Выб.СуммаОплачено;
            
        КонецЦикла;
        
        списокПараметров.Вставить("СуммаОплачено", Формат(СуммаОплаты, "ЧЦ=15; ЧДЦ=2") + " " + ВалютаРуб);
        списокПараметров.Вставить("СуммаДоплаты", Формат(СуммаДоплаты, "ЧЦ=15; ЧДЦ=2") + " " + ВалютаРуб);
        списокпараметров.Вставить("ВалютаОператора", Объект.ВалютаТура);
        
        Запрос = Новый Запрос(
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    ТА_ДоверенностиМенеджеровСрезПоследних.Период КАК Период,
        |    ТА_ДоверенностиМенеджеровСрезПоследних.НомерДоверенности,
        |    ТА_ДоверенностиМенеджеровСрезПоследних.Менеджер
        |ИЗ
        |    РегистрСведений.ТА_ДоверенностиМенеджеров.СрезПоследних КАК ТА_ДоверенностиМенеджеровСрезПоследних
        |ГДЕ
        |    ТА_ДоверенностиМенеджеровСрезПоследних.Менеджер = &Ответственный
        |
        |УПОРЯДОЧИТЬ ПО
        |    Период УБЫВ");
        Запрос.УстановитьПараметр("Ответственный", Объект.Ответственный);
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() тогда
            ДоверенностьМенеджера = "По доверенности №" + Выборка.НомерДоверенности + " от " + Выборка.Период;
            списокПараметров.Вставить("ПоДоверенности", ДоверенностьМенеджера);
            списокПараметров.Вставить("Ответственный", Выборка.Менеджер);
        Иначе
            списокПараметров.Вставить("Ответственный", Руководители.ФИОРуководителя);
        КонецЕсли;

        ОблЧасть_1.Параметры.Заполнить(списокПараметров);
        ОблЧасть_2.Параметры.Заполнить(списокПараметров);
        ОблЧасть_3.Параметры.Заполнить(списокПараметров);
        ОблЧасть_4.Параметры.Заполнить(списокПараметров);
        
        ТабДокумент.Вывести(ОблЧасть_1);
        
        ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        
        ТабДокумент.Вывести(ОблЧасть_2);
        
        ТабДокумент.Вывести(Шапка_СведенияОТуристах);
        
        спВидовДокументов = Новый СписокЗначений;
        Если Объект.ПакетныйТур.Заграничный Тогда
            спВидовДокументов.Добавить(Справочники.ВидыДокументовФизическихЛиц.ЗагранпаспортРФ);
            спВидовДокументов.Добавить(Справочники.ВидыДокументовФизическихЛиц.ПаспортРФ);
        Иначе
            спВидовДокументов.Добавить(Справочники.ВидыДокументовФизическихЛиц.ПаспортРФ);
            спВидовДокументов.Добавить(Справочники.ВидыДокументовФизическихЛиц.НайтиПоНаименованию("Паспорт гражданина СССР", Истина));
        КонецЕсли;
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Объект", Объект);
        Запрос.УстановитьПараметр("Дата", Объект.Дата);
        Запрос.УстановитьПараметр("спВидовДокументов", спВидовДокументов);
        Запрос.Текст =
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ДокументВид,
        |    ДокументыФизическихЛицСрезПоследних.Серия КАК Серия,
        |    ДокументыФизическихЛицСрезПоследних.Номер КАК Номер,
        |    ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи,
        |    ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан,
        |    ДокументыФизическихЛицСрезПоследних.КодПодразделения КАК КодПодразделения,
        |    ТА_ЗаявкаНаТурТуристы.Турист,
        |    ТА_ЗаявкаНаТурТуристы.СтатусТуриста,
        |    ТА_ЗаявкаНаТурТуристы.Турист.ДатаРождения КАК ДатаРождения,
        |    ТА_ЗаявкаНаТурТуристы.ТипПитания,
        |    ТА_ЗаявкаНаТурТуристы.КатегорияНомера,
        |    ТА_ЗаявкаНаТурТуристы.КоличествоПроживающих,
        |    1 КАК Количество
        |ИЗ
        |    Документ.ТА_ЗаявкаНаТур.Туристы КАК ТА_ЗаявкаНаТурТуристы
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц.СрезПоследних(&Дата, ВидДокумента В (&спВидовДокументов)) КАК ДокументыФизическихЛицСрезПоследних
        |        ПО ДокументыФизическихЛицСрезПоследних.Физлицо = ТА_ЗаявкаНаТурТуристы.Турист
        |ГДЕ
        |    ТА_ЗаявкаНаТурТуристы.Ссылка = &Объект";
        
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
        ПромТЗ = Результат.Выгрузить();
        ТЗОтеля = Результат.Выгрузить();;

        Пока Выборка.Следующий() Цикл
            
            Родитель = Неопределено;
            Запрос = Новый Запрос;
            Запрос.Текст =
            "ВЫБРАТЬ
            |    ТА_РодственныеСвязиДети.Ссылка.ФизЛицо
            |ИЗ
            |    Справочник.ТА_РодственныеСвязи.Дети КАК ТА_РодственныеСвязиДети
            |ГДЕ
            |    ТА_РодственныеСвязиДети.Ребенок = &Турист";
            
            Запрос.УстановитьПараметр("Турист", Выборка.Турист);
            ВыборкаРС = Запрос.Выполнить().Выбрать();
            Если ВыборкаРС.Следующий() Тогда
                Родитель = ВыборкаРС.ФизЛицо;
            КонецЕсли;
            
            ПаспортныеДанные = "Паспорт серия " + Выборка.Серия + " № " + Выборка.Номер + " Выдан: " + Формат(Выборка.ДатаВыдачи, "ДФ=dd.MM.yyyy") + " " + Выборка.КемВыдан;
            Если Родитель <> Неопределено И НЕ ЗначениеЗаполнено(Выборка.КемВыдан) Тогда
                Стр = ПромТЗ.Найти(Родитель, "Турист");
                Если Стр <> Неопределено Тогда
                    ПаспортныеДанные = "Вписан в паспорт серия " + Стр.Серия + " № " + Стр.Номер;
                КонецЕсли;
            КонецЕсли;
            
            Строка_СведенияОТуристах.Параметры.Турист = Выборка.Турист;
            Строка_СведенияОТуристах.Параметры.Статус = Выборка.СтатусТуриста;
            Строка_СведенияОТуристах.Параметры.ДатаРождения = Формат(Выборка.ДатаРождения, "ДЛФ=DD") ;
            Строка_СведенияОТуристах.Параметры.ПаспортныеДанные = ПаспортныеДанные;
            
            ТабДокумент.Вывести(Строка_СведенияОТуристах);
            
        КонецЦикла;
        
        ИтогоКолЧеловек = "";
        ПромТЗ.Свернуть("СтатусТуриста", "Количество");

        Для Каждого Стр Из ПромТЗ Цикл
            
            Если Стр.СтатусТуриста = Справочники.ТА_СтатусТуриста.Взрослый Тогда
                ИтогоКолЧеловек = "Взрослых - " + Строка(Стр.Количество) + ?((Стр.Количество = 1 или Стр.Количество > 4), " человек", " человека") + "; Детей: ";
                Продолжить;
            КонецЕсли;    
            
            СтатусТуриста = СтрЗаменить(Строка(Стр.СтатусТуриста), "Дети", "");
            ИтогоКолЧеловек = ИтогоКолЧеловек + " " + СтатусТуриста + " - " + Строка(Стр.Количество) + ?((Стр.Количество = 1 или Стр.Количество > 4), " человек", " человека");
            
        КонецЦикла;  
        Подвал_СведенияОТуристах.Параметры.ИтогоКолЧеловек = ИтогоКолЧеловек;
        
        ТабДокумент.Вывести(Подвал_СведенияОТуристах);
        
        ТабДокумент.Вывести(Шапка_СведенияОМаршруте);
        Строка_СведенияОМаршруте.Параметры.Заполнить(списокПараметров);
        ТабДокумент.Вывести(Строка_СведенияОМаршруте);
        
        ТабДокумент.Вывести(Шапка_СредствоРазмещения);
        ТЗОтеля.Свернуть("КатегорияНомера, КоличествоПроживающих, ТипПитания");
        Для Каждого Стр Из ТЗОтеля Цикл
            Строка_СредствоРазмещения.Параметры.Заполнить(Стр);
            Строка_СредствоРазмещения.Параметры.Отель = Объект.ПакетныйТур.Отель;
            ТабДокумент.Вывести(Строка_СредствоРазмещения);
        КонецЦикла;
        
        ТабДокумент.Вывести(Шапка_Экскурсии);
        Для Каждого Стр Из Объект.Услуги Цикл
            Если Стр.Услуга.ВидУслуги = Перечисления.ТА_ВидыДополнительныхУслуг.Экскурсия Тогда
                Строка_Экскурсии.Параметры.НомЭкскурсия = Стр.Услуга;
                ТабДокумент.Вывести(Строка_Экскурсии);
            КонецЕсли;    
        КонецЦикла;  
        
        ТабДокумент.Вывести(Шапка_Трансфер);
        Если Объект.ВыбратьПакетныйТур Тогда
            Если ЗначениеЗаполнено(Объект.пакетныйТур.ТрансферВид) тогда
                Строка_Трансфер.Параметры.Маршрут = Объект.пакетныйТур.ТрансферМаршрут;
                Строка_Трансфер.Параметры.ТипТрансфера = Объект.пакетныйТур.ТрансферВид;
                ТабДокумент.Вывести(Строка_Трансфер);
            КонецЕсли;
        КонецЕсли;
        
        Для Каждого Стр Из Объект.Услуги Цикл
            Если Стр.Услуга.ВидУслуги = Перечисления.ТА_ВидыДополнительныхУслуг.Трансфер Тогда
                Строка_Трансфер.Параметры.Маршрут = Стр.Услуга.Маршрут;
                Строка_Трансфер.Параметры.ТипТрансфера = стр.Услуга.ВидТрансфера;
                ТабДокумент.Вывести(Строка_Трансфер);
            КонецЕсли;    
        КонецЦикла;
        ТабДокумент.Вывести(Шапка_УслугиПеревозки);
        КолТуристовПерелет = 0;
        Для каждого Стр из Объект.Авиаперелет Цикл
            Если Стр.ДляВсехТуристовВЗаявке = Истина Тогда
                Для каждого турист Из Объект.Туристы Цикл
                    Строка_УслугиПеревозки.Параметры.Турист = Турист.Турист;
                    Строка_УслугиПеревозки.Параметры.АэропортВылета = Стр.АэропортВылета;
                    Строка_УслугиПеревозки.Параметры.Перевозчик = Стр.АвиаКомпания;
                    Строка_УслугиПеревозки.Параметры.АэропортВылета = Стр.АэропортВылета;
                    Строка_УслугиПеревозки.Параметры.АэропортПрилета = Стр.АэропортПрилета;
                    Строка_УслугиПеревозки.Параметры.НомерРейса = Стр.НомерРейса;
                    Строка_УслугиПеревозки.Параметры.ДатаВылета = Стр.ДатаВремяВылета;
                    Строка_УслугиПеревозки.Параметры.ДатаПрилета = Стр.ДатаВремяПрилета;
                    ТабДокумент.Вывести(Строка_УслугиПеревозки);
                КонецЦикла;    
            ИначеЕсли ТипЗнч(Стр.ДляВсехТуристовВЗаявке) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
                    Строка_УслугиПеревозки.Параметры.Турист = Стр.ДляВсехТуристовВЗаявке;
                    Строка_УслугиПеревозки.Параметры.Перевозчик = Стр.АвиаКомпания;
                    Строка_УслугиПеревозки.Параметры.АэропортВылета = Стр.АэропортВылета;
                    Строка_УслугиПеревозки.Параметры.АэропортПрилета = Стр.АэропортПрилета;
                    Строка_УслугиПеревозки.Параметры.НомерРейса = Стр.НомерРейса;
                    Строка_УслугиПеревозки.Параметры.ДатаВылета = Стр.ДатаВремяВылета;
                    Строка_УслугиПеревозки.Параметры.ДатаПрилета = Стр.ДатаВремяПрилета;
                    ТабДокумент.Вывести(Строка_УслугиПеревозки);            
            КонецЕсли;
        КонецЦикла;
        
        ТабДокумент.Вывести(Шапка_Страхование);
        Если Объект.ВыбратьПакетныйТур Тогда
            Если Объект.ПакетныйТур.СтраховкаМедицинская Тогда
                Строка_Страхование.Параметры.НаименованиеСтраховщика = Объект.ПакетныйТур.Оператор;
                Строка_Страхование.Параметры.ТипСтраховки = ПредопределенноеЗначение("Справочник.ТА_ТипыСтраховки.Медицинская");
                ТабДокумент.Вывести(Строка_Страхование);
            КонецЕсли;
            Если Объект.ПакетныйТур.СтраховкаОтНевыезда Тогда
                Строка_Страхование.Параметры.НаименованиеСтраховщика = Объект.ПакетныйТур.Оператор;
                Строка_Страхование.Параметры.ТипСтраховки = ПредопределенноеЗначение("Справочник.ТА_ТипыСтраховки.ОтНевыезда");
                ТабДокумент.Вывести(Строка_Страхование);
            КонецЕсли;
        КонецЕсли;
                
        Для Каждого Стр Из Объект.Услуги Цикл
            Если Стр.Услуга.ВидУслуги = Перечисления.ТА_ВидыДополнительныхУслуг.Страхование Тогда
                Строка_Страхование.Параметры.НаименованиеСтраховщика = Стр.Оператор;
                Строка_Страхование.Параметры.ТипСтраховки = Стр.Услуга.ТипСтраховки;
                ТабДокумент.Вывести(Строка_Страхование);
            КонецЕсли;    
        КонецЦикла;
        
        ТабДокумент.Вывести(Шапка_ВизовоеОформление);
        Если Объект.ВыбратьПакетныйТур Тогда
            Если Объект.ПакетныйТур.ВизовоеОформление Тогда
                Строка_ВизовоеОформление.Параметры.ТипУслуги = Объект.ПакетныйТур.ФорматВизы;
                ТабДокумент.Вывести(Строка_ВизовоеОформление);
            КонецЕсли;
        КонецЕсли;
        Для Каждого Стр Из Объект.Услуги Цикл
            Если Стр.Услуга.ВидУслуги = Перечисления.ТА_ВидыДополнительныхУслуг.ВизовоеОформление Тогда
                Строка_ВизовоеОформление.Параметры.ТипУслуги = Стр.Услуга;
                ТабДокумент.Вывести(Строка_ВизовоеОформление);
            КонецЕсли;    
        КонецЦикла;
        
        ТабДокумент.Вывести(Шапка_ДругиеУслуги);
        Для Каждого Стр Из Объект.Услуги Цикл
            Если Стр.Услуга.ВидУслуги = Перечисления.ТА_ВидыДополнительныхУслуг.Прочее Тогда
                Строка_ДругиеУслуги.Параметры.НаименованиеУслуги = Стр.Услуга;
                ТабДокумент.Вывести(Строка_ДругиеУслуги);
            КонецЕсли;    
        КонецЦикла;
        
        ТабДокумент.Вывести(ОблЧасть_3);
        ТабДокумент.Вывести(ОблЧасть_4);
        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Объект.Ссылка);
        
    КонецЦикла;
    
    ТабДокумент.АвтоМасштаб = Истина;
    
    Возврат ТабДокумент;

КонецФункции // ПечатьПутевки()



вместо него будет. процедура печати с выбором бланка договора?
10 KukenKvaken
 
20.09.18
13:13
вместо него будет. процедура печати с выбором бланка договора?
11 KukenKvaken
 
20.09.18
13:25
Макет = Справочник.БланкиДоговоров.Выбрать()
по идее вот так?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.