Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 13:25

Проблема с печатной формой и масштаб "По ширине страницы"

Автор SuperPuper, 26 сен 2022, 15:51

0 Пользователей и 3 гостей просматривают эту тему.

SuperPuper

Доброго дня!
Столкнулся с мелкой, но проблемой сохранения печатной формы для документа. Поиск в интернете не помог.  :xfbnsdfb:
При выводе на печать, параметры страницы настроены по масштабу так, что выводятся в таком вот виде:
1.PNG
2.PNG
Чтобы это исправить, сотрудник постоянно вынужден лезть в настройки параметров страницы и ставить Масштаб "По ширине страницы", тогда всё ОК. Попросили настроить так, чтобы не нужно было это постоянно делать.
Я полез в макеты печатных форм:
3.PNG
Выставил Масштаб "По ширине страницы", на предварительном просмотре всё корректно.
4.PNG
Сохраняю форму, лезу в документ на печать - а там никаких изменений, словно ничего и не менял.
Помогите разобраться, где я что пропустил?

SuperPuper

1С:Предприятие 8.3 (8.3.21.1393)
1С:ERP Управление предприятием 2 (2.5.8.175)

LexaK

SuperPuper, это надо в коде печати смотреть и править
ТабличныйДокумент.АвтоМасштаб = Истина; //Ложь;
Масштаб и т.д.
если помогло нажмите: Спасибо!

SuperPuper

upd
Что-то странное, любые изменения, сделанные в макете печатной формы - не отражаются при выводе документа на печать, словно это не тот макет...

Цитата: LexaK от 26 сен 2022, 16:07SuperPuper, это надо в коде печати смотреть и править
ТабличныйДокумент.АвтоМасштаб = Истина; //Ложь;
Масштаб и т.д.

эх, слабоват я в коде, буду пробовать разобраться, спасибо за подсказку

SuperPuper


SuperPuper

Когда закрыл эту задачу, прилетело к ней дополнение, разобраться пока не смог:
"- неверно формируется название файла pdf  (в названии файла указано «на прием»)":
6.PNG
7.PNG

Вот код, в нем есть " ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Распоряжение на прием"; " - меняю в строчке "прием" на "отгрузку" - эффекта никакого. Повторюсь в коде я ещё слаб, может кто что подскажет?


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    ТабДок = Новый ТабличныйДокумент;
    ПечатьМХ3(ТабДок, ПараметрКоманды);
    ВывестиВОбщуюФормуПечатьДокументов(ТабДок, ПараметрКоманды);
КонецПроцедуры

&НаСервере
Процедура ПечатьМХ3(ТабДок, ПараметрКоманды)
    Документы.пва_РаспоряжениеНаОтгрузку.ПечатьМХ3(ТабДок, ПараметрКоманды);
КонецПроцедуры

&НаКлиенте
Процедура ВывестиВОбщуюФормуПечатьДокументов(ТабДокумент,ПараметрКоманды)
   
    ПредставлениеОбъекта = ПолучитьПредставлениеОбъектаНаСервере(ПараметрКоманды);
    КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
    ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Макет");
    ПечатнаяФорма.СинонимМакета = ПредставлениеОбъекта;
    ПечатнаяФорма.ТабличныйДокумент = ТабДокумент;
    ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Распоряжение на прием";
    ОбластиОбъектов = Новый СписокЗначений;
    ТабДокумент.АвтоМасштаб = Истина;
    //УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов);
   
    КлючУникальности = Строка(Новый УникальныйИдентификатор);
    ПараметрыВывода = Новый Структура;
    ЗаполнитьПараметрыОтправкиНаСервере(КоллекцияПечатныхФорм, ПараметрКоманды, ПараметрыВывода);   
    ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
    ПараметрыОткрытия.ПараметрКоманды = Новый Массив;
    ПараметрыОткрытия.ПараметрыПечати = Новый Структура("ЗаголовокФормы", "Печать: " + ПараметрКоманды[0]);
    ПараметрыОткрытия.ИменаМакетов = "Макет";
    ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
    ПараметрыОткрытия.Вставить("ОбъектыПечати", Новый СписокЗначений);
    ПараметрыОткрытия.Вставить("ПараметрыВывода", ПараметрыВывода);
   
    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, , КлючУникальности);   
   
   
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПараметрыОтправкиНаСервере(КоллекцияПечатныхФорм, ПараметрКоманды, ПараметрыВывода)
    ПараметрыВывода = ПодготовиитьПараметрыВыводаНаСервере();
    МассивОбъектов = ПараметрКоманды;
    ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
КонецПроцедуры   

&НаСервере
Функция ПодготовиитьПараметрыВыводаНаСервере()
    Возврат УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
КонецФункции

&НаСервере
Функция ПолучитьПредставлениеОбъектаНаСервере(ПараметрКоманды)
        Возврат Документы.пва_РаспоряжениеНаПрием.ПолучитьПредставлениеОбъекта(ПараметрКоманды);
КонецФункции

LexaK

SuperPuper, даже не знаю поможет ли вам это (справитесь ли)
когда формируется печатная форма, заполняется такая таблица КоллекцияПечатныхФорм
у нее есть колонка: ИмяФайлаПечатнойФормы вот ее заполните нужным наименованием, им и будет называться сохраняемый файл.

так в обычном варианте оно не задано (не заполнено), то имя сохраняемого файла формируется из представления документа. 
если помогло нажмите: Спасибо!

SuperPuper

Цитата: LexaK от 27 сен 2022, 17:29SuperPuper, даже не знаю поможет ли вам это (справитесь ли)
когда формируется печатная форма, заполняется такая таблица КоллекцияПечатныхФорм
у нее есть колонка: ИмяФайлаПечатнойФормы вот ее заполните нужным наименованием, им и будет называться сохраняемый файл.

так в обычном варианте оно не задано (не заполнено), то имя сохраняемого файла формируется из представления документа. 
Ну это хоть что-то, а то застряло решение этой задачи. А где её можно найти?

LexaK

если помогло нажмите: Спасибо!

SuperPuper

Не смог разобраться, вернулся к началу.  :xfbnsdfb:  :dfbsdfbsdf:

Вроде вот строки в процедуре есть ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Распоряжение на прием";, меняю на ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Распоряжение на отгрузку";, все равно сохраняются как и было:

&НаКлиенте
Процедура ВывестиВОбщуюФормуПечатьДокументов(ТабДокумент,ПараметрКоманды)
   
    ПредставлениеОбъекта = ПолучитьПредставлениеОбъектаНаСервере(ПараметрКоманды);
    КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
    ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Макет");
    ПечатнаяФорма.СинонимМакета = ПредставлениеОбъекта;
    ПечатнаяФорма.ТабличныйДокумент = ТабДокумент;
    ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Распоряжение на прием";
    ОбластиОбъектов = Новый СписокЗначений;
    ТабДокумент.АвтоМасштаб = Истина;
    //УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов);
   
    КлючУникальности = Строка(Новый УникальныйИдентификатор);
    ПараметрыВывода = Новый Структура;
    ЗаполнитьПараметрыОтправкиНаСервере(КоллекцияПечатныхФорм, ПараметрКоманды, ПараметрыВывода);   
    ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
    ПараметрыОткрытия.ПараметрКоманды = Новый Массив;
    ПараметрыОткрытия.ПараметрыПечати = Новый Структура("ЗаголовокФормы", "Печать: " + ПараметрКоманды[0]);
    ПараметрыОткрытия.ИменаМакетов = "Макет";
    ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
    ПараметрыОткрытия.Вставить("ОбъектыПечати", Новый СписокЗначений);
    ПараметрыОткрытия.Вставить("ПараметрыВывода", ПараметрыВывода);
   
    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, , КлючУникальности);   
   
   
КонецПроцедуры

Подскажите как разобраться?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск