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

06.11.13

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

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

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

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

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

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

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

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

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


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

В 

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

См. также

SALE! 15%

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

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.

6000 руб.

09.11.2016    241840    1114    906    

1042

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

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

22200 руб.

06.10.2023    18917    51    19    

83

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

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

14400 руб.

13.03.2018    62735    221    79    

120

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

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

3960 руб.

08.10.2019    49037    175    105    

171

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

Программа для автоматизации учета путевых листов в 1С - расширение, добавляющее в конфигурацию "Комплексная автоматизация", документ Путевой лист и печатные формы установленных образцов для легковых и грузовых авто, расчет и списание нормативного количества топлива, отчет "Реестр путевых листов" с отбором по автомобилю и по водителю (через настройки) Позволит контролировать расход топлива, потому что сразу будет виден сверхнормативный расход.

13200 руб.

27.06.2023    4836    16    2    

17

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

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

4500 руб.

23.08.2019    58894    186    64    

179

Печатные формы Бухгалтер Платформа 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 спец., ПЛ для Автомобильного крана.

3600 руб.

14.10.2019    40233    276    216    

180

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

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

4560 руб.

13.02.2019    101826    458    45    

441
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
ну так выводится конечно печатная форма но когда роли включаешь то недоступны кнопки файл-печать, это где копать?
Оставьте свое сообщение