Подход к организации печати одного макета документа из обычной и управляемой форм документа (интерфейс Такси)

06.11.13

Учетные задачи - Печатные формы

В статье описывается подход к реализации печати одного макета из управляемой и обычной формы документа. Описанная методика близка к преподаваемой в учебных центрах 1С.

Задание. Реализовать печать макета «Заказ клиента» из обычной и управляемой формы одноименного документа.

Выполнение задания.

1. Пусть дан документ «ЗаказКлиента», в котором есть реквизиты документа и табличная часть.

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

2. Создадим подчиненный объект документа – команду «Печать». С ее помощью реализуем возможность печати макета из управляемой формы.

В свойстве команды «Тип параметра команды» укажем «ДокументСсылка.ЗаказКлиента».

В модуле команды создадим процедуру ОбработкаКоманды:


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
          Команды.ПечатьЗаказа(ПараметрКоманды); //вызов клиентского общего модуля Команды
КонецПроцедуры

В 

 3. Создадим общий модуль Команды. Определим его свойства как показано на рисунке

Определим в модуле экспортную процедуру ПечатьЗаказа:

Процедура ПечатьЗаказа(ПараметрКоманды) Экспорт
   ТабДок = Новый ТабличныйДокумент;

   НаСервере.Печать(ТабДок, ПараметрКоманды); //вызов серверного общего модуля Команды

   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Защита = Ложь;
   ТабДок.ТолькоПросмотр = Ложь;
   ТабДок.ОтображатьЗаголовки = Ложь;
   ТабДок.Показать();
КонецПроцедуры

4. Создадим общий модуль НаСервере. Определим его свойства как показано на рисунке

Определим в модуле экспортную процедуру Печать:

Процедура Печать(ТабДок, ПараметрКоманды) Экспорт
      
Документы.ЗаказКлиента.Печать(ТабДок, ПараметрКоманды); //вызов модуля менеджера документа
КонецПроцедуры

5. Создадим модуль менеджера документа. Именно в нем мы полностью пропишем алгоритм заполнения макета. 

Процедура Печать(ТабДок, Ссылка) Экспорт
   Макет = Документы.ЗаказКлиента.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст = "…"; //сам текст запроса нам не принципиален
   Запрос.Параметры.Вставить("Ссылка", Ссылка); //в качестве параметра указываем Ссылку – параметр процедуры
   Выборка = Запрос.Выполнить().Выбрать();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьСоставШапка = Макет.ПолучитьОбласть("СоставШапка");
   ОбластьСостав = Макет.ПолучитьОбласть("Состав");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока
Выборка.Следующий() Цикл
      Если
ВставлятьРазделительСтраниц Тогда
         ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
      КонецЕсли;


      ТабДок.Вывести(ОбластьЗаголовок);

      Шапка.Параметры.Заполнить(Выборка);
      ТабДок.Вывести(Шапка, Выборка.Уровень());

      ТабДок.Вывести(ОбластьСоставШапка);
      ВыборкаСостав = Выборка.Состав.Выбрать();
      Пока
ВыборкаСостав.Следующий() Цикл
         ОбластьСостав.Параметры.Заполнить(ВыборкаСостав);
         ТабДок.Вывести(ОбластьСостав, ВыборкаСостав.Уровень());
      КонецЦикла;


      ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
КонецПроцедуры

Пунктами 1-5 мы реализовали печать макета с помощью команды из управляемой формы.

Теперь реализуем печать из обычной формы.

6. Добавим на обычную форму кнопку «Печать» и создадим для нее сответсвующий обработчик

Процедура Печать(Кнопка)
    
Команды.ПечатьЗаказа(Ссылка); //вызов клиентского общего модуля Команды
КонецПроцедуры

Итак, реализованный подход организации печати одного макета документа из обычной и управляемой форм документа показан на следующем рисунке:

Печать макет управляемая форма обычная форма методология

См. также

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    20889    55    19    

86

Печатные формы Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Транспорт, автопарки, такси Бухгалтерский учет Платные (руб)

Учет путевых листов выполнен в виде расширения. Предназначен для учета путевых листов в конфигурации БП 3.0., УТ 11.5 и КА 2.5 Печатная форма: Типовая межотраслевая форма № 3. Утверждена постановлением Госкомстата России от 28.11.97 № 78. Типовая межотраслевая форма № 4-П от 18.09.2008 г. N 152 с учетом изменений указанных в Приказе Министерства транспорта Российской Федерации №368 от 11 сентября 2020 г. №368, Типовая межотраслевая форма № ЭСМ-7, и др. ЭСМ-2, 4-С, 3 спец., 6 спец., ПЛ для Автомобильного крана.

4800 руб.

14.10.2019    40855    287    216    

187

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Задайте для каждой организации свою печать и для каждого физического лица свою подпись. Выберите в документе печатную форму "... с печатью и подписью" - и автоматически сформируется табличный документ с печатью и подписями той организации и ответственных лиц, которые указаны в документе.

14400 руб.

13.03.2018    63381    227    79    

120

Печатные формы Программист Пользователь Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

3960 руб.

08.10.2019    49698    182    105    

175

Печатные формы Производство готовой продукции (работ, услуг) Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Строительство Россия Бухгалтерский учет Платные (руб)

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

4560 руб.

13.02.2019    103521    467    46    

450

Печатные формы Логистика, склад и ТМЦ Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработки для "1С:Бухгалтерия предприятия 3.0", которые формируют акты МХ-1 и МХ-3 для документов "ПоступлениеТоваровУслуг", "Реализация товаров услуг", "Возврат товаров поставщику", "Передача материалов в эксплуатацию" соответственно. Так же можно сформировать акты с факсимиле, которая загружена в 1С:Бухгалтерия предприятия 3.0.

3720 руб.

18.02.2019    66433    229    15    

182

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3500 руб.

07.02.2023    8401    90    17    

47
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Makushimo 160 11.10.13 06:18 Сейчас в теме
просто и лаконично
в копилку
2. RailMen 829 14.10.13 00:58 Сейчас в теме
3. ilonnaa 23.12.13 09:28 Сейчас в теме
Спасибо! Очень помогло!
4. O-lesya 25.12.13 12:04 Сейчас в теме
Спасибо,очень помогло.Было бы здорово теперь посмотреть печать документа из внешней печ.формы(с возможностью выбора в ней дополнит.реквизитов)
5. mikhailovaew 127 24.01.14 11:35 Сейчас в теме
В управляемых формах ничего не понимаю. Вопрос: для печати документа обязательно тащить процедуры в общие модули, или все же можно ограничиться размещением процедур в модуле менеджера и объекта с инструкциями перепроцессора?
6. RailMen 829 24.01.14 13:02 Сейчас в теме
(5) Если необходимо реализовать функционал печати одного макета и из управляемой и из обычной формы, то делать лучше так, как написано в статье.

Если вы решаете другую задачу - то возможно эта схема вам не подойдет. Если у вас печать только из обычной формы или только из управляемой - то лучше все немного упростить. Друми словами - пляшем от ТЗ.
7. AlexandrIvanov 20.09.17 18:51 Сейчас в теме
Скажите, а только у меня при вызове серверного метода ошибка Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода?
8. RailMen 829 21.09.17 11:58 Сейчас в теме
(7) на момент написания статьи все работало. С тех пор платформа много раз менялась.
9. hanio 58 25.07.18 13:37 Сейчас в теме
ну так выводится конечно печатная форма но когда роли включаешь то недоступны кнопки файл-печать, это где копать?
Оставьте свое сообщение