Как доработать или создать новую печатную форму в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← К списку

При работе с типовыми конфигурациями 1С:Предприятия, такими как 1С:Управление торговлей 11, часто возникает необходимость адаптировать стандартные печатные формы под специфические требования вашего предприятия. Это может быть добавление логотипа, изменение расположения данных, включение новых реквизитов или создание совершенно новой формы. Давайте вместе разберем, какие подходы существуют для решения этой задачи и как их правильно применять.

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

Использование Расширений Конфигурации для Доработки Печатных Форм

Механизм расширений конфигурации — это современный и наиболее предпочтительный способ модификации типового функционала 1С, включая печатные формы. Он позволяет вносить изменения, не затрагивая основную конфигурацию, что значительно упрощает дальнейшие обновления программы.

Как это работает:

  1. Добавление типовой печатной формы в расширение: Для того чтобы изменить уже существующую печатную форму, нам необходимо сначала добавить ее в расширение. Мы заимствуем из основной конфигурации нужный макет и, возможно, связанные с ним модули или процедуры. После этого мы можем редактировать заимствованный макет под свои нужды, добавляя новые поля, меняя стили или структуру.
  2. Добавление новой печатной формы через расширение: Если нам требуется добавить совершенно новую печатную форму, мы также можем сделать это через расширение. Для этого обычно требуется добавить в расширение группы команд "Печать" и "Печать прочее", а также создать новый макет и код для его заполнения.

Преимущества расширений:

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

Создание Внешней Печатной Формы (ВПФ)

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

Преимущества ВПФ:

Недостатки ВПФ:

Подробный процесс создания внешней печатной формы

Давайте разберем по шагам, как обычно происходит создание ВПФ:

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

Прямое Редактирование Макетов в Пользовательском Режиме

Для некоторых типовых печатных форм 1С предоставляет возможность изменять их макеты непосредственно в пользовательском режиме. Этот способ удобен для небольших корректировок, не требующих глубокого программирования.

Как это сделать:

В типовых конфигурациях 1С мы можем изменить часть существующей печатной формы, перейдя в меню "НСИ и Администрирование" -> "Печатные формы, отчеты и обработки" -> "Макеты печатных форм". Здесь мы можем выбрать нужный макет из списка, открыть его для просмотра и редактирования. Мы можем внести изменения непосредственно в нем или заменить стандартный макет своим собственным.

Когда использовать:

Этот метод подходит для изменения внешнего вида макета (например, шрифтов, границ, расположения статического текста) без изменения логики формирования данных. Однако он ограничен возможностями, которые предоставляет система для редактирования макетов в пользовательском режиме.

Поиск Кода Формирования Печатных Форм и Макетов

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

Поиск кода формирования

Давайте проанализируем ситуацию и выясним, где искать код:

Поиск макетов печатных форм

Макеты всех печатных форм, имеющихся в информационной базе, мы можем найти в разделе "НСИ и администрирование" -> "Администрирование" -> "Печатные формы, отчеты и обработки" -> "Макеты печатных форм". Если нужные макеты не найдены в этом списке, они могут находиться в:

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

Настройки Конфигурации

Для корректной работы с дополнительными отчетами и обработками (включая ВПФ) нам необходимо убедиться, что в нашей конфигурации активирована соответствующая функциональность. Мы можем проверить это, перейдя в "Все функции" -> "Константы" и убедившись, что константа Использовать дополнительные отчеты и обработки установлена в значение "Истина". Без этой настройки система не сможет корректно регистрировать и использовать наши ВПФ.

Итак, мы рассмотрели основные подходы к доработке и созданию печатных форм в 1С:Управление торговлей 11. Выбор конкретного метода зависит от сложности задачи, требований к обновляемости и ваших навыков. Используя расширения или внешние печатные формы, мы можем гибко адаптировать систему под свои нужды, сохраняя при этом возможность легкого обновления.

← К списку