Создание внешней печатной формы в 1С
-

Создание внешней печатной формы в 1С

0
5578
27.07.2021 Тимур Тютеньков


  Содержание:

1.       Для чего необходимо создавать внешние печатные формы в 1С

2.       Использование Замера производительности

3.       Изменение обработки после создания внешней печатной формы


1.    Для чего необходимо создавать внешние печатные формы в 1С


Добрый день! В этой статье мы рассмотрим создание внешней печатной формы «Авансовый отчёт» на основании имеющейся «Авансовый отчёт (АО-1)» с помощью одной интересной и полезной функции 1С, «Замера производительности». Она позволяет, в том числе, отследить, какие блоки кода скомпилировались в ходе работы той или иной функции или процедуры. Преимущество внешних печатных форм заключается в том, что их можно настраивать или дорабатывать, изменять для конкретных нужд, в отличие от неизменяемой стандартной печатной формы.    

Для начала, поскольку мы, всё-таки, создаём внешнюю печатную форму, потребуется создание внешней обработки. В левом верхнем углу ищем «Файл», далее «Новый» и жмём «Внешняя обработка» (рис. 1). Описанные ниже действия стандартны для создания внешней обработки.


Рисунок 1 Создание внешней обработки


Назначим нашей обработке имя и синоним и перейдём в модуль внешней обработки. Для этого снизу в меню процедуры нажмём на кнопку «Действия → Открыть модуль объекта» (рис. 2).


Рисунок 2 Открытие модуля объекта при создании внешней обработки


Затем в модуле объекта пропишем ряд типовых для всех внешних обработок функций и процедур (рис. 3-4).


Рисунок 3 Код в модуле объекта при создании внешней обработки



Рисунок 4 Пример кода в модуле объекта при создании внешней обработки


Сохраним полученную процедуру (нажмём сочетание клавиш Ctrl + S или перейдём в «Файл → Сохранить»).



Рисунок 5 Сохранение при создании внешней обработки


Выбираем нужную локацию и сохраняем.

Далее начинается самое интересное. Вернёмся к нашему модулю объекта. Поставим точку останова (нажав F9) около любой строки кода в модуле объекта и начинаем отладку (нажав F5 или через «Отладка → Начать отладку») (рис. 6).


Рисунок 6 Запуск отладки – первый шаг при создании внешней печатной формы


После этого открываем нужный нам объект, для которого мы создаём данную обработку. В нашем случае это документ «Авансовые отчёты».


2.    Использование Замера производительности


При всё также запущенной программе 1С:Предприятие 8 переключаемся в режим Конфигуратора. Всё в том же меню «Отладка» жмём «Замер производительности» (рис.  7).   


Рисунок 7 Запуск Замера производительности

Затем переходим обратно на уже запущенный режим версии 1С:Предприятия 8, жмём пункт «Печать» и выбираем ту стандартную обработку, на основе которой будет создаваться наша. В нашем случае это «Авансовый отчёт АО-1» (рис.  8). Жмём на неё.


Рисунок 8 Стандартная обработка Авансового отчета АО-1


Открылась стандартная (встроенная) печатная форма (рис. 9).


Рисунок 9 Печатная форма Авансового отчета АО-1


Снова, не закрывая режим конфигурации 1С:Предприятия 8, переходим в режим Конфигуратора. Также как включали режим Замера производительности (рисунок 7), выключаем его.

Откроется таблица со всеми выполненными процедурами и функциями (рис. 10).


Рисунок 10 Результат замера производительности


Отсортируем результаты запроса по модулю – кликнем по любой строке и откроем модуль Менеджера нашего документа. Именно здесь, в основном, и формируются все необходимые процедуры и функции.

Найдём здесь процедуру, содержащую код запроса (обычно именно через код запроса формируется то, что будет на печатной форме). В данном случае она называется «ПечатьАвансовогоОтчета» (рис.  11). Откомпилированные процедуры и функции помечаются серым значком слева.


Рисунок 11 Функция ПечатьАвансовогоОтчета в программе 1С:Предприятие 8


Копируем её в нашу обработку (рис. 12), кроме последних строк. В данном случае они нам не пригодятся (рис. 13).



Рисунок 12 Функция ПечатьАвансовогоОтчета в программе 1С:Предприятие 8 в нашей обработке



Рисунок 13 Строки кода из ПечатьАвансовогоОтчета не для копирования


Теперь всё в том же модуле менеджера найдём процедуру, ответственную за непосредственно вывод на печать (рис. 14). Здесь нас интересует блок печати авансового отчёта М4.



  Рисунок 14 Печать Авансового отчета АО-1


Копируем и вставляем в нашу обработку эту процедуру, убрав из передаваемых значений ПараметрыПечати (это важно!), оставляем только блок авансового отчёта (рис. 15)



  Рисунок 15 Блок АвансовыйОтчет в программе 1С:Предприятие 8


Далее заменим имя макета «Аванс_Отчет» на то имя макета, который прописали в своей обработке. Ищем функцию «СведенияОВнешнейОбработке», в ней – пункт «ДобавитьКоманды» и наш идентификатор. Это прописанная слитно, с заглавными буквами фраза (рис. 16).



  Рисунок 16 Задаем имя макета в программе 1С:Предприятие 8


Оттуда же берём синоним макета (фраза с пробелами, скобками) (рис. 17), которым мы заменяем фразу «Авансовый отчет» в процедуре «Печать».



  Рисунок 17 В данном случае синонимом макета является фраза «Авансовый отчёт (внешняя обработка)»


Вот так наш изменённый блок кода выглядит в процедуре «Печать» теперь (рис. 18).



  Рисунок 18 Текущий код в процедуре печать в программе 1С:Предприятие 8


Как мы видим, процедура «Печать» также обращается к некоему макету «ПФ.MXL_АвансовыйОтчет». Найдём его в нашем конфигураторе в макетах документа АвансовыйОтчет (рис. 19).



  Рисунок 19 Макет «ПФ.MXL_АвансовыйОтчет» у документа «АвансовыйОтчет»


Теперь просто скопируем (перетащим) макет с документа в нашу обработку (рис. 20).



  Рисунок 20 Перенесённый макет документа при создании внешней печатной формы в 1С


Затем «отсоединим» в нашей обработке (рис. 21) макет от документа, сделав его независимым (в противном случае наша обработка будет всегда обращаться только к макету в конфигурации, игнорируя наш, измененные / добавленные поля там и проч). Для этого в процедуре «Печать» просто убираем фразу «Документ.АвансовыйОтчет» (рис. 22).



  Рисунок 21 Неизменная процедура при создании внешней печатной формы в 1С



  Рисунок 22 Итоговая процедура при создании внешней печатной формы


Сохраняем обработку (Ctrl+S). Как мы видим, сохраниться не даёт ошибка (рис. 23) о том, что не хватает процедуры «ПолучитьДанныеДокументов».



  Рисунок 23 Ошибка об отсутствии процедуры или функции при создании внешней печатной формы


Найдём её в модуле менеджера документа «Авансовый отчёт» (рис. 24) и скопируем в нашу обработку. Сохраняем обработку (Ctrl+S).



  Рисунок 24 Функция ПолучитьДанныеДокумента в программе 1С:Предприятие 8


Теперь нам нужно добавить в обработку реквизит (в нашем случае он называется «СсылкаНаОткрываемыйДокумент»). Важно, чтобы его длина не была неограниченной – ставим 30 символов. Тип – «ДокументСсылка». Далее требуется добавить форму и вывести созданный реквизит на форму, далее – создать команду (у нас это «Открыть документ») и также вынести её на форму. Зачем это нужно? В дальнейшем это позволит открывать созданную процедуру в программе 1С:Предприятие 8 через «Файл → Открыть», что гораздо быстрее, чем регистрировать её в разделе «Администрирование» после каждого внесённого изменения.

В итоге у нас получилась форма с реквизитом и кнопкой-командой (рис. 25).



  Рисунок 25 Итог создания печатных форм


Создадим действие команды (на клиенте и процедуру на сервере) (рис. 26).



  Рисунок 26 Создание команд при создании печатных форм в 1С


Перейдём в модуль формы, где пропишем следующий код:



  Рисунок 27 Код в модуле при создании печатной формы в 1С


Теперь для создания внешней печатной формы в 1С 8.3 остаётся добавить ссылку на формируемый массив объектов. За это ответственна функция «ПечатьАвансовогоОтчета», которую нам нужно будет немного подправить.

Уберём «ОбъектыПечати» (иначе обработка будет ругаться на слишком большое количество передаваемых элементов), а также сделаем функцию экспортной (чтобы код из модуля объекта мог обращаться к ней).



  Рисунок 28 Изменения в функции при создании внешних печатных форм


И допишем наш код из рисунка 27 (рис. 29).



  Рисунок 29 Итоговый код при создании внешних печатных форм в 1С 8.3


Сохраняем процедуру (Ctrl+S), снимаем точки останова в модуле объекта, которые мы ставили ранее (рис. 30).



  Рисунок 30 Удаление точек останова при создании внешних печатных форм


В запущенном режиме программы 1С:Предприятия 8 откроем нашу процедуру, притом не долгим путём (через регистрацию в Администрировании), а через «Файл → Открыть» (рис27). Открываем обработку из той локации, где мы её сохранили.


  Рисунок 31 Открытие созданной обработки в программе 1С:Предприятие 8


Игнорируем предупреждение безопасности, жмём «Да» (рис. 32).


  Рисунок 32 Предупреждение безопасности в программе 1С:Предприятие 8


Выберем нужный документ (рис. 33), жмём кнопку «Открыть документ».


Рисунок 33 Выбор нужного документа в программе 1С:Предприятие 8


3.    Изменение обработки после создания внешней печатной формы


Вуаля! Наша обработка полностью повторяет стандартную (рис. 34), однако стандартную мы менять не можем, а созданную нами – можем.  

 

Рисунок 34 Документ выведенный на печать в программе 1С:Предприятие 8


После всех изменений и создание внешней печатной формы в 8.3, которые будут внесены в код обработки, изменений макета и прочих действий, нужных при решении конкретных задач, обработку можно будет «встроить» в 1С. Сначала, в главном меню обработки, отключим форму обработки, нажав на крестик справа (рис. 35-36).


Рисунок 35 Отключение формы обработки в программе 1С:Предприятие 8


Рисунок 36 Отключение формы обработки 


После этого в меню слева спускаемся вниз до вкладки «Администрирование». В меню «Настройки программы» ищем пункт «Печатные формы, отчёты и обработки» (рис. 37).


Рисунок 37 Печатные формы, отчеты и обработки


Потом переходим  на  вкладку «Дополнительные отчёты и обработки» (рис. 38).


Рисунок 38 Дополнительные отчеты и обработки в программе 1С:Предприятие 8


Здесь сохранены все имеющиеся внешние обработки. Загрузим нашу обработку, нажав «Добавить из файла» (рис. 39).


Рисунок 39 Загрузка файла в программе 1С:Предприятие 8


Игнорируем предупреждние безопасности (рис 40) и заходим в локацию, где мы сохранили нашу обработку, дважды кликаем по ней.


Рисунок 40 Предупреждение о безопасности в 1С:Предприятие, редакция 3.0


Жмём «Записать и закрыть» (рис. 41).


Рисунок 41 Обработка перед записью в программе 1С:Предприятие 8


Далее её можно будет вызвать из меню «Печать» у документа (в нашем случае «Авансового отчёта») (рис. 42).


Рисунок 42 Вызываем обработку после создания внешней печатной формы в 1С 8.3


Рисунок 43 Итоговая обработка после создания внешней печатной формы в 1С


Специалист компании «Кодерлайн»

Тимур Тютеньков



Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
# абота Риелторского Агентства # Управление торговлей 11 #Забалансовый счет #Контекстное меню #Параметры запуска #Работа Риелторского Агентства # 1C # CRM-система # Cинтаксис-помощник # Cинхронные методы работы # Cправочник номенклатуры # PDF документами # PowerShell # XML-файл # Бизнес-процесс # Виды событий оповещения # Возврат товаров # Глубина анализа # Графические объекты # Динамический список # Документ заказ клиентов # Документ заполнен # Документ Отбор (размещение) товаров # Документ Отгрузка товаров ИС МП # Документ Приобретение товаров и услуг # Документ УПД # Документы продажи # Доступ на ТСД # ДтКт # ЕАЭС # Задержка зарплаты работодателем # Заказ на перемещение # Закладка Администрирование # Зарплата и кадры # Имя таблицы # ИТС # Кабель NYM(Севкабель) 3x5.5 # Книга учета доходов и расходов # Курс валюты # Лицо с правом подписи # Лицо, имеющее право подписи документов # Маркировка цифровыми кодами # Минимальные цены продажи в 1С # Настройка НСИ и разделов # Настройка ценообразования # НДФЛ # Нематериальные активы # Нормативно-правовые документы # Обмен электронными документами # Оплата через банк # Оптовые продажи # Основное ответственное лицо организации # Остаток товара на складе # Отчет комиссионера # Передача на комиссию # Перемещение ТС и оборудования # Проведение инструктажа # Продажи или Закупки # Прочие доходы # Пункт Подключить обработки # Пункт Сервис # ПФР и ФФОМС # Работа ТС # Расчёт зарплаты # Расчет налога УСН # Расчетные счета # Режим использования модальности # Система «Честный знак» # Система GS1 # Списание на расходы # Справка-расчет налога УСН # Страховые взносы # Табель учёта рабочего времени # Таблица формы # Таблица формы «Сотрудники» # Товары # Установка цен на товары # Формат Цифровой Маркировки # Форматированное письмо # Функция Дата # Функция ДеньГода # Функция ДеньНедели # Центральный Банк России # Цены номенклатуры 2.5 # Эквайринговый терминал # Элементы #1.6-НДФЛ #1С Бухгалтерия #1С Договоры #1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Предприятие #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С:Риелтор #1С:Управление холдингом #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Cинтаксис-помощник #Cопроводительных документов #Cправочник БИК #Excel #Excel в 1С #FTP-сервер #GoogleDrive #Googleаккаунт #GUID #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #PDF #ragent.exe #SOAP-протокол #USB- ключ #WEB #WEB-сервисы 1С #Word #WS-ссылки #XDTO-объект #XML #XML-обмен #Авансовый платеж #Администрирование 1С #Адрес URL описания #Адресный классификатор #акты в 1С #Аутентификации операционной системы #База XML #База данных #Балансовый метод #Балансовый расчет #Банковские счета #Безопасность сервера #Бесшовная интеграция #Бизнес-процесс #БИТ.Финанc #Битрикс24 #Блокировка данных #Блокировки в 1С #БСП #БУ #Бурение скважин #Бухгалтерская отчётность в МСФО #Бухгалтерский отчет #Бюджетирование #Валовая прибыль #Ввод команд #Ввод пароля #Ввоз товаров #Веб-сервер #Веб-сервер Apache #Вид договора #Вид Характеристики #Вкладка Документы #Внедрение #Внедрение ERP #Внешний вид формы #Внешнюю обработку #Возврат от покупателя #Временные разницы #Временные таблицы #Всплывающие ошибки #Выбор каталога #Выбранные файлы #Вызов процедуры #Выпадающий список #Выплата аванса #Выплата отпускных сотруднику #Выполнение запроса #Выполнение кода #Выполнение транзакций #График отпусков #ГТД #Дата действия договора #Дата документа #Движение документа #Декларация по НДС #Диагностика ошибки #Директория сервера #Дистрибутивы программ #Документ Заказ клиента #Документ Отпуск #Документ1 #Дополнительный оплачиваемый отпуск #Доработка конфигурации #Доступ к файлам #Журнал проводок #Журнал регистрации #Журнал транзакций #Журналы #Загрузить Значения #Загрузка цен в 1С #Задача для 1С #Заказ-наряд #Закладка Торговля #Закрытие месяца #Закрытие сделки #Заменить #Запись регистра сведений #Заполнения полей #Запросы 1С #Заработная плата #Зарплата и управление персоналом #Импорт товара #Имущество предприятия #инвентаризационная опись #Инвентаризация склада #Интеграция 1С #Интервал dpi #Интерпретатор языка #Интерфейс пользователя #Информационная база #История пользователя #Источник данных #Кадровые документы #Кадровый документ #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Карточка должности #Карточка номенклатуры #Карточка Объекта недвижимости #Касса ККМ #Кассовый документ #Квалификационные надбавки #Классификаторы и курсы валют #Классификаторы и курсы валют #Клиент-серверная схема #Клиент-серверный режим #Код доступа #Код ЦМТ #Код языка #Команда вызова #Командная строка #Конвертация данных #Контроль документов #Конфигурация 1С #Конфигурация 1С ЗУП 3.1 #Конфигурация системы 1С #Копирование настроек пользователей #Корпоративное сопровождение #Корректировка расчётов с учредителем #Криптография данных #Критерии отбора документов #Курс валюты #Курсовые разницы #Левое соединение #Лизинг #Лицензии 1С #Лицензионный договор #Лицензия 1С КОРП #Лицензия 1С ПРОФ #Личные документы #Локальный каталог #Маркетинговая акция #Массив Номенклатур #Массовая регистрация отгулов #Меню Отчет #Место хранения #Метод объекта #Метод устранения ошибки #Методы устранения ошибки #Механизм Анализа Данных в 1С #Механизм записи #Мобильное приложение #Мобильный клиент #Моделирование #Модель данных #Модуль Диадок #Монопольный режим #МРОТ #МСФО #Налоги #Налоговая декларация #Налоговый актив #Налоговый регистр #Налоговый учет #Написание запроса #Настройка панели #Настройка параметров #Настройка пользователя #Настройка системы #Настройки пользователя по умолчанию #Начальная таблица #Начисления Арендной платы #Новый Массив #Нормативно-справочная информация #Облачный сервис #Обмен между базами #Обмен сведениями #Обновления #Обособленное подразделение #Обработка проведения документов #Общие ознакомительные рассылки #Объект системы #Объективность информации #Объектная база данных #Окно сообщений #Оперативная аналитика #Операции в 1С #Оплата агента #Оплата по квитанции #Оповещение по видам события #Оптимизация #Организация #Организация хранения #ОС и НМА #Основное окно #Остатки взаиморасчетов #Остатки товаров на складах #Остаток товара #Отпуск #Отчет комитенту #Отчетность #Отчетный период #Отчеты в 1С #Оформление документа #Оформление перевода работника #Оценка задач #Параллельный учет #Параметр «Количество» #Параметры отбора #Параметры подключения #Партнер #Передача данных #Передача неисключительных прав #Перемещение отчета #Перенос данных #Перенос цен из Excel в 1С #Перечисление денежных средств #Период отбора #Периодичность ДЕНЬ #Периодичность МЕСЯЦ #Печатная форма #Печатная форма документа #План счетов #Планирование #Планировать события #Платежный документ #Погашение обязательств #Подчиненный справочник #Поле Ввода Значение Субконто #Полезные обработки #Политика учета #Пользователь Администратор #Пользовательский режим #Поступление денежных средств #Поступление основных средств #Потенциальный контрагент #Права доступа #Правила обмена #Правое соединение #предопределенные элементы справочников #Прием на работу #Принцип работы 1С #Приходная накладная #Приходно-кассовый ордер #Проведение документов #Проведение инвентаризации #Проводки 1С #Проводок документации #Программа 1С #Программирование в 1С #Программные права #Программный код #Продажа маркированной продукции #Продажа ТМЦ #Продажа товара #Продажи #Продление #Производственный план #Производство #Просмотр #Процедура и функция #Пункт «Касса» #Путь к файлу #Работа с объектами в 1С #Рабочий сервер #Раздел Справочники #Расположение ссылки #Расторжение #Расходная накладная #Расходный ордер #Расходы по амортизации #Расчет зарплаты #Расчет НДФЛ #Расчетные документы #Расширение конфигурации #Расширение прав доступа #Расширение функционала #Регистр бухгалтерского учета #Регистр бухучета #Регистр данных #Регистры бухгалтерии #Регистры движения документов #Регламентированная отчетность #Регламентное задание #Режим записи #Режим использования модальности #Режим конфигуратор #Режим РИБ #Резерв отпусков #Результаты поиска #Реквизит «СпЗнч» #РМК #РМК кассира #РСБУ #С # #Сверка данных учёта НДС #Свойства характеристики номенклатуры #Свойство ячейки таблицы #Сдельный заработок #Сеанс Администратор #Сегмент номенклатуры #Сервис-деск #Сетевой ключ защиты #Сетевой ключ защиты #Сетевые структуры системы #СЗВ-СТАЖ #Синхронизация данных #Система программы #СКД #Служба ИТ #Служба НСИ #Соединение COM в 1С платформе #Соединение СОМ в 1С платформе #Список документов #Список номенклатуры #Список прав #Справочник Лиды #Сравнение конфигураций #Строка «Касса (ККМ)» #Схема отчетности #Счет-фактура #Табличная часть #Табличная часть обработки #Таможенные пошлины #Текстовый формат #Текущая Строка #Территориальная привязка #Территориальные рамки #Тестирование 1С #Техническое задание #Тип данных #Тип свойства #Тип строки #Типы данных ссылки #Толстый клиент #Тонкий клиент #Торговое оборудование #Транспортная логистика #Универсальные коллекции #Управление проектами #Управленческое взаимодействие #Условие предоставления скидки #Условия труда #Установка цен номенклатуры #Учет зарплаты #Учетная политика организации #Файл обмена данными #Файловая база #Файлы обмена #Физический ключ #Финансовый результат #Финансовый учет #Форма ввода #Форма выбора элемента #Формат MicrosoftExcel #Формат даты #Формирование отчета #Формирование отчета #Функционал МРМ #Х-точка #Характеристики Товаров #Хранение информации #Хранилище настроек #Хранить историю изменений #Ценообразование #Центральный узел #Чтение #Шаблон обновления #Шапка отчета #Эквайринговая операция #Экзамен 1С #Экспорт товаров #Экспортная процедура #Электронная подпись #электронные подписи #элемент справочника #Элемент языка #Язык программирования #Яндекс-диск или Google-диск #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С тип да Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.