Имя: Пароль:
1C
1С v8
Внешняя печатная форма в ландшафт
0 KoalaJustKoala
 
04.05.21
07:06
Доброго утречка!
Имеется печатная форма, которую удобнее было бы печатать сразу в ландшафтном варианте, но через предпросмотр он выдает так же портретный вариант.
Вот такой код(Сообщить для тестов):
ТабДок = Новый ТабличныйДокумент;
    
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Сообщить(ТабДок.ОриентацияСтраницы);
Сообщить ("Приветик");
Макет = ПолучитьМакет("ПромежуточныйДокумент");

Вот скрин того что выходит на предпросмотре:
https://prnt.sc/12gegvu
Скрин на то как выглядит после вывода:
https://prnt.sc/12geij0
1 KoalaJustKoala
 
04.05.21
07:33
ап
2 Momus
 
04.05.21
08:12
задать КлючПараметровПечати
3 KoalaJustKoala
 
04.05.21
08:20
(2) Насколько я понял, Ключ и Имя одно и то же
Плюс смотрел через отладчик, ключ задается такой же
и ориентация была такая же, но!
В предпросмотре все равно выдавал портрет и при печати то же
4 KoalaJustKoala
 
04.05.21
08:30
(3) https://prnt.sc/12gijqz
вот подтверждение насчет ключа
вот как раз можно увидеть что в отладчике стоит ландшафт
https://prnt.sc/12gin22
5 Мимохожий Однако
 
04.05.21
09:08
(3) Покажи код, где ты устанавливаешь КлючПараметровПечати
6 KoalaJustKoala
 
04.05.21
09:29
Функция Печать() Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПеремещениеТоваров.Номер,
    |    ПеремещениеТоваров.Дата,
    |    ПеремещениеТоваров.СкладОтправитель.Организация КАК Организация,
    |    ПеремещениеТоваров.СкладОтправитель,
    |    ПеремещениеТоваров.СкладОтправитель.Представление КАК Поставщик,
    |    ПеремещениеТоваров.СкладПолучатель,
    |    ПеремещениеТоваров.СкладПолучатель.Представление КАК Покупатель,
    |    ПеремещениеТоваров.Товары.(
    |        Номенклатура,
    |        Номенклатура.НаименованиеПолное КАК Товар,
    |        ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        Количество
    |    )
    |ИЗ
    |    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
    |ГДЕ
    |    ПеремещениеТоваров.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    ПеремещениеТоваров.Товары.НомерСтроки";

    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПеремещениеТоваровТовары.НомерСтроки КАК Номер,
    |    ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК Товар,
    |    ПеремещениеТоваровТовары.Количество,
    |    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры.Производитель КАК Производитель,
    |    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры.СерияПроизводителя КАК Серия,
    |    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры.СрокГодности КАК СрокГодности
    |ИЗ
    |    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
    |ГДЕ
    |    ПеремещениеТоваровТовары.Ссылка = &Ссылка
    |
    |УПОРЯДОЧИТЬ ПО
    |    ПеремещениеТоваровТовары.Номенклатура.Наименование";

    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать();
    
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Промежуточный";
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    
    Макет = ПолучитьМакет("ПромежуточныйДокумент");
                                            
    ОбластьЗаголовка = Макет.ПолучитьОбласть("Заголовок");
    ОбластьЗаголовка.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Документ для акта расхождений по зоне И");
    ТабДок.Вывести(ОбластьЗаголовка);
    
    ОбластьПоставщик = Макет.ПолучитьОбласть("Поставщик");
    ОбластьПоставщик.Параметры.ПредставлениеПоставщика = Шапка.Поставщик;
    ТабДок.Вывести(ОбластьПоставщик);
    
    ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель");
    ОбластьПокупатель.Параметры.ПредставлениеПокупателя = Шапка.Покупатель;
    ТабДок.Вывести(ОбластьПокупатель);

    ОбластьШапка = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ТабДок.Вывести(ОбластьШапка);
    
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    
    Пока ВыборкаСтрокТовары.Следующий() Цикл
        
        ОбластьСтрока.Параметры.НомерСтроки = ВыборкаСтрокТовары.Номер;
        ОбластьСтрока.Параметры.Товар = ВыборкаСтрокТовары.Товар;
        ОбластьСтрока.Параметры.Производитель = ВыборкаСтрокТовары.Производитель;
        ОбластьСтрока.Параметры.Количество = ВыборкаСтрокТовары.КОличество;
        ОбластьСтрока.Параметры.Серия = ВыборкаСтрокТовары.Серия;
        ОбластьСтрока.Параметры.СрокГодности = ВыборкаСтрокТовары.СрокГодности;
        ТабДок.Вывести(ОбластьСтрока);
        
    КонецЦикла;
    
    ОбластьПодпись = Макет.ПолучитьОбласть("Подписи");
    ТабДок.Вывести(ОбластьПодпись);
    Возврат ТабДок;
    
КонецФункции (5)
7 KoalaJustKoala
 
04.05.21
09:29
Тогда уж всю функцию разом скину
8 KoalaJustKoala
 
04.05.21
09:30
(6)  ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Промежуточный";
Было:
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Промежуточный";
9 hhhh
 
04.05.21
11:23
(8) возможно пользователь в режиме предприятия настроил уже по своему, а у него приоритет. Попробуйте Промежуточный2
10 НоваяВолна
 
04.05.21
11:31
(6) а зачем запросов два?
11 KoalaJustKoala
 
04.05.21
11:39
(9) Хм, вроде помогло, по крайней меня без настройки заработало
12 KoalaJustKoala
 
04.05.21
11:40
(10) Делал на подобии запроса которые были, во 2м доставались еще цены и скидки (вроде)
Сильно систему не тормозит, так что ничего страшного если 2 запроса
13 НоваяВолна
 
05.05.21
04:50
(12) Первый запрос вообще не верно построен. Если тебе нужна в нем Номенклатура, то надо ее выбирать сначала выбирать из табличной части документа, как сделано во втором запросе, а реквизиты шапки брать через ссылку этой ТЧ. Но тебе похоже там вообще Номенклатура не нужна, так что не надо тянуть лишнее.
   Ну и самое главное. Лучше общаться с регистрами, в которые документ делает движения, а не с самими документами.