При работе с типовыми конфигурациями 1С:Предприятия, такими как 1С:Управление торговлей 11, часто возникает необходимость адаптировать стандартные печатные формы под специфические требования вашего предприятия. Это может быть добавление логотипа, изменение расположения данных, включение новых реквизитов или создание совершенно новой формы. Давайте вместе разберем, какие подходы существуют для решения этой задачи и как их правильно применять.
Мы рассмотрим несколько основных способов доработки и создания печатных форм, проанализируем их преимущества и недостатки, а также выясним, как найти нужный код и макеты в системе.
Механизм расширений конфигурации — это современный и наиболее предпочтительный способ модификации типового функционала 1С, включая печатные формы. Он позволяет вносить изменения, не затрагивая основную конфигурацию, что значительно упрощает дальнейшие обновления программы.
Как это работает:
Преимущества расширений:
Важный нюанс при работе с расширениями: При использовании расширений для форм очень важно учитывать, что новые реквизиты, которые могут появиться в новом релизе типовой конфигурации, могут не отображаться на заимствованной в расширение форме, даже если они присутствуют в конфигураторе основной конфигурации. В таких случаях нам потребуется актуализировать расширение, заново заимствовав или скорректировав заимствованные объекты.
Внешние печатные формы (ВПФ) — это еще один мощный инструмент для доработки и создания новых печатных документов. Они представляют собой отдельные файлы обработок, которые подключаются к информационной базе и полностью интегрируются в систему без изменения основной конфигурации.
Преимущества ВПФ:
Недостатки ВПФ:
Давайте разберем по шагам, как обычно происходит создание ВПФ:
СведенияОВнешнейОбработке(): В модуле внешней обработки нам необходимо реализовать экспортную функцию СведенияОВнешнейОбработке(). Эта функция возвращает структуру, которая содержит информацию о команде печати, ее идентификаторе, назначении и других параметрах, позволяющих системе 1С корректно подключить и использовать нашу ВПФ.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Наименование", "Моя новая печатная форма");
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление");
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Использование");
Команды.Колонки.Добавить("Порядок");
Команды.Колонки.Добавить("ОбъектыНазначения");
НоваяКоманда = Команды.Добавить();
НоваяКоманда.Представление = "Печать моей формы";
НоваяКоманда.Идентификатор = "МояПечатнаяФорма";
НоваяКоманда.Использование = "ВызовСерверногоМетода";
НоваяКоманда.ОбъектыНазначения = Новый Массив;
НоваяКоманда.ОбъектыНазначения.Добавить("Документ.РеализацияТоваровУслуг"); // Пример для документа "Реализация товаров и услуг"
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;
КонецФункции
Функция Печать(МассивОбъектов, ОбъектыНазначения) Экспорт
// Здесь будет код формирования табличного документа
ТабличныйДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МойМакет"); // Имя макета, созданного в обработке
// ... Заполнение макета данными ...
Возврат ТабличныйДокумент;
КонецФункции
&ДатаДоговора&, &Сумма&). Затем в коде мы передаем в эти параметры необходимые значения из документа или других источников.Макет для получения нашего макета и программно заполняем его данными. После заполнения формируется объект ТабличныйДокумент, который затем выводится на печать или для предварительного просмотра.ПечатьПоВнешнемуИсточнику() общего модуля ДополнительныеОтчетыИОбработки.Для некоторых типовых печатных форм 1С предоставляет возможность изменять их макеты непосредственно в пользовательском режиме. Этот способ удобен для небольших корректировок, не требующих глубокого программирования.
Как это сделать:
В типовых конфигурациях 1С мы можем изменить часть существующей печатной формы, перейдя в меню "НСИ и Администрирование" -> "Печатные формы, отчеты и обработки" -> "Макеты печатных форм". Здесь мы можем выбрать нужный макет из списка, открыть его для просмотра и редактирования. Мы можем внести изменения непосредственно в нем или заменить стандартный макет своим собственным.
Когда использовать:
Этот метод подходит для изменения внешнего вида макета (например, шрифтов, границ, расположения статического текста) без изменения логики формирования данных. Однако он ограничен возможностями, которые предоставляет система для редактирования макетов в пользовательском режиме.
Прежде чем приступить к доработке, нам необходимо выяснить, где находится код, отвечающий за формирование интересующей нас печатной формы, и где хранятся ее макеты.
Давайте проанализируем ситуацию и выясним, где искать код:
ДобавитьКомандыПечати() (для регистрации команд печати) и Печать() (для непосредственного формирования табличного документа). Именно из процедуры Печать() обычно вызываются всевозможные печатные формы.ПечатьТорговыхДокументов. В этом случае код формирования будет находиться уже в этой обработке. Мы должны будем найти ее в конфигураторе и изучить ее модули.Макеты всех печатных форм, имеющихся в информационной базе, мы можем найти в разделе "НСИ и администрирование" -> "Администрирование" -> "Печатные формы, отчеты и обработки" -> "Макеты печатных форм". Если нужные макеты не найдены в этом списке, они могут находиться в:
В крайнем случае, если мы не можем найти макет по имени, мы всегда можем воспользоваться поиском по конфигурации, указав часть имени макета или его идентификатор.
Для корректной работы с дополнительными отчетами и обработками (включая ВПФ) нам необходимо убедиться, что в нашей конфигурации активирована соответствующая функциональность. Мы можем проверить это, перейдя в "Все функции" -> "Константы" и убедившись, что константа Использовать дополнительные отчеты и обработки установлена в значение "Истина". Без этой настройки система не сможет корректно регистрировать и использовать наши ВПФ.
Итак, мы рассмотрели основные подходы к доработке и созданию печатных форм в 1С:Управление торговлей 11. Выбор конкретного метода зависит от сложности задачи, требований к обновляемости и ваших навыков. Используя расширения или внешние печатные формы, мы можем гибко адаптировать систему под свои нужды, сохраняя при этом возможность легкого обновления.
← К списку