Настоящей статьей мы продолжаем статей о технических особенностях перехода с программы 1С:УПП на 1C:ERP.Автор статьи: Дмитрий Малышев, разработчик 1С с 2004 года на платформах 1С 7.7, 8.1, 8.2, 8.3. Сертификат "1С:Эксперт по технологическим вопросам", технологический руководитель корпоративных проектов автоматизации Внедренческого центра «Раздолье». Участвовал в 30-ти проектах внедрения 1С:УПП и 1С:ERO. В соответствии с решением, принятым на Большом партнёрском семинаре 27-28 февраля 2021 г, фирма «1С» объявила о том, что предполагает завершение поддержки конфигурации УПП — весной 2026 года. Подтверждение этого намерения и точный срок окончания поддержки, как сообщалось ранее, будут объявлены не менее чем за 3 года до завершения поддержки конфигурации УПП, то есть ориентировочно весной 2023 года. По срокам поддержки локализованных для других стран версий конфигурации УПП решения не приняты, о планах прекращения их поддержки будет объявлено не менее чем за 3 года до вступления такого решения в силу. Фирма «1С» рекомендует пользователям и партнерам не откладывать переход с 1С:УПП на более современные решения фирмы «1С» на последние годы поддержки конфигурации УПП, т. к. найти ресурсы на внедрение 1С:ERP в 2024-2026 годах может оказаться сложнее, чем в 2021-2023 годах. Кроме того, пользователи, осуществляющие переход с 1С:УПП на современные ERP-решения фирмы «1С» в ближайшие 2 года, получат дополнительные преимущества по акции «Аналитика и Академия ERP». Подробнее здесь. Введу в курс дела по проекту. Заказчик является крупнейшим предприятием пищевой отрасли. До начала проекта у Заказчика было УПП 1.2 (даже не 1.3) в 2021-м перешли на ERP 2.4. В целом по проекту делали переход с УПП + ДО с большим количеством внешних интеграций. Переходили на связку ERP + ЗУП + ДО. Начали с августа 2020 года. Порекомендовали ИТ-специалистам заказчика пройти курсы 1С. В ноябре, после обучения, специалисты присоединились к проекту (кто не потянул - уволился). Учет проектных задач в информационной системе «Канбан» и Google Doc, использовали встраиваемую справку в ERP, информационную систему Поддержки, встроенную прямо в ERP, Стандартное хранилище 1С. В обязательном порядке проводили еженедельные планерки с фиксацией задач и прогресса. Стандартный перенос из УПП в ERP пришлось переделать. Перенос остатков делали в январе. До апреля учет вели в двух системах в УПП и в ERP обменивались оперативными документами и НСИ по правилам обмена (чтобы снять нагрузку с работающих пользователей т.к. они все-таки бизнесом занимаются и не являются каторжникамиJ). За время учета в двух системах адаптировали интеграции и нестандартные подсистемы УПП, модифицировали железо и инфраструктуру серверов, настраивали права доступа, адаптировали мышление пользователей к проверкам данных и закрытию в ERP и ЗУП (не было обрубания канатов на 01.01). Гладко перешли с системы на систему без привязки к началу года. (Кому нужно обращайтесь, внедряли и УПП и ЕРП, понимаем и там и там). ! В условиях пандемии Проект на 98% реализовывался удаленно, без посещения Заказчика. Одной из задач стал перенос около 300 печатных форм, встроенных и подключаемых, адаптированных под различных клиентов, и самописной подсистемы настроек печати - через документы, регистры, справочники, реквизиты и алгоритмы в самом коде. Исходные вводные при планировании этой задачи были такие: Ограниченное количество свободных программистов и их переключение между проектами. Недостаточная информация от пользователей по особенностям работы механизма печати в УПП. Большой объем доработок, без описания, без данных об актуальности. Необходимость реализации задачи к фиксированной дате. Шаги: Мы поняли, что задача переделать все 300 печатных форм 1 в 1 пахнет безумством, и мы не сможем это сделать, уложивших в бюджет и срок. Стали искать варианты у коллег. Идею подали специалисты, внедрявшие автоматизацию в 2019 на крупном мясоперерабатывающем производстве. Поскольку принципы работы с торговыми партнерами у крупных производителей пищевой продукции очень схожи, мы переняли у них идею сделать настройку общих печатных форм и параметризацию макетов вместо создания индивидуальных комплектов печати под каждого клиента. Таким образом, мы бы перешли от 300 печатных форм с параметрами в УПП к ограниченному количеству печатных форм в ERP (в районе 15) с понятным алгоритмом поддержки их в дальнейшем. Универсальные настраиваемые алгоритмы печати и макетов мы назвали «Конструктор печати». Далее потребовалось снизить объем задачи. Мы провели 2 онлайн-встречи с пользователями и ИТ-специалистами Заказчика, на которых определили: Список используемых видов документов, Список используемых видов печатных форм, Список контрагентов с особенностями печати (в основном ими оказались сети: Метро, Ашан, Лента, Билла и т.п.), Утвердили с ИТ-службой Заказчика и пользователями смену концепции печати комплектов форм для контрагентов на «Конструктор печати», Составили таблицу в Google Docs с планом работ. По итогам этого шага мы актуализировали список контрагентов со специфическими макетами (убрав старых ненужных или по которым перешли на ЭДО), сократили список видов печатных форм (далее по тексту – «ПФ») на 40% (убрали неиспользуемые), согласовали механизм реализации и разбили задачу на подзадачи для возможности передачи разным программистам. Задача приняла очертания и была запущена в работу: Для начала архитектором  был разработал «скелет» системы. Затем подключались другие программисты, которые адаптировали  в рамках общей идеи механизмы в разных формах. В итоге получилось расширение «Конструктор печати», являющееся подключаемой к ЕРП подсистемой, расширяющей стандартные возможности печати. Доработка предназначена для печати основных видов печатных форм для различных контрагентов. Печать идет с единым алгоритмом, персонифицирующимся параметрами, и единым макетом, персонифицирующимся индивидуальными макетами и возможностью ручной корректировки макета в режиме 1С:Предприятие. Т.е. вместо кучи печатных форм существует общий алгоритм печати, который в зависимости от заданных у контрагентов параметров, корректирует макет вывода печатной формы под него. Расширение разработано для систематизации около 300 печатных форм из УПП и их настроек,  их перевода в ERP и дальнейшей юзабилити (единообразного и удобного использования пользователями и тех. специалистами) настройки печати комплектов печатных форм сетевых и других контрагентов с разными требованиями. Подсистема представлена в виде расширения и набора дополнительных подключаемых печатных форм.  Открываем 1С:Предприятие, и далее в главном окне: Переходим в Главное меню - Настройки - Параметры - Отображать команду «Функции технического специалиста». Переходим в Главное меню  - «Функции технического специалиста» - Стандартные - Управление расширениями конфигурации - Добавляем расширение. Перезапускаем сеанс 1С:Предприятие. Рис. Форма подключения расширения Каждую печатную форму требуется сохранить как внешнюю в файл. Затем подключаем в режиме 1С:Предприятие. В разделе «НСИ и администрирование – Администрирование – Печатные формы, отчеты и обработки – Дополнительные отчеты и обработки». Лучше создать подгруппу для всех форм конструктора печати, для удобства настройки, а затем последовательно подключить все формы. Почему формы в расширении? Формы присутствуют в расширении ещё и для того, чтобы макеты, прикрепленные к ним, появились в типовом механизме редактирования макетов, что позволило бы редактировать макеты вручную. Появляются в разделе «НСИ и администрирование - Печатные формы, отчеты и обработки – Макеты печатных форм». В интерфейсе 1С:Предприятия при активации расширения появится раздел «Конструктор печати», содержащий ссылки на все нужные настройки и обработки. Для настройки первоначально нужно заполнить справочник «Виды параметров» и далее переходить к индивидуальной настройке контрагентов. В форме списка справочника по кнопке [Заполнить параметры по умолчанию]Навигационная ссылка: e1cib/list/Справочник.печать_ВидыПараметров Параметры отобразятся сгруппировано по видам печатных форм. Первоначальные параметры прописаны в модуле менеджера справочника «Виды параметров», но также могут быть добавлены вручную пользователем. При создании нужно заполнить все параметры по аналогии с предопределенными настройками. Имя для разработчика, указанное в параметре нужно использовать как имя переменной в Макете печатной формы. Значения можно задавать константами (строковыми, числовыми, дата, булево) или получать кодом через переменную Док (= Ссылка на документ, из которого идет печать). 1. В панели формы Контрагента, в меню «Ещё» или в самих регистрах сведений «Конструктор печати: Параметры макетов» и «Конструктор печати: Макеты». Навигационная ссылка: e1cib/list/РегистрСведений.печать_Макеты Навигационная ссылка: e1cib/list/РегистрСведений.печать_ПараметрыМакетов 2. В общих настройках в разделе «НСИ и администрирование – Настройка НСИ и разделов – Продажи – Печать документов – Настройки печати комплектов документов». .3. В документе в меню «Печать» - «Конструктор печати с настройками». Для пользователей предпочтительно использовать варианты 2.2 и 2.3, т.к. в диалоге будут объединены как настройки состава комплекта и количества экземпляров, так и выбор макетов и параметров. Форма настройки «Комплекта печати» состоит из шапки (Вид документа, Организация, Контрагент) и закладок с настройками: Основное – закладка, где настраивается состав комплекта и количество экземпляров, каждой печатной формы Макеты – закладка, где для печатных форм, относящихся к конструктору печати можно задать индивидуальные макеты. Предусмотрено на случай, если отличия формы по требованиям клиента значительно отличаются от стандартной формы и параметрами задачу решить не удаётся. Можно для вида печатной формы выбрать индивидуальный макет из определенных ранее в расширении макетов соответствующей обработки печати. Для каждой обработки есть общий макет, который параметризуется и не меняется, а также разработаны индивидуальные макеты под «особенных» клиентов, которые имеют серьезные отличия в оформлении. Макеты можно править вручную за счет типового механизма редактирования макетов, вызываемого по кнопке [Редактировать макет]. Как вариант, ручное редактирование макетов можно выполнить в регистре сведений «Конструктор печати: Макеты» или в типовом механизме настройки макетов в разделе «НСИ и администрирование - Печатные формы, отчеты и обработки – Макеты печатных форм». У нужного макета жмём [Изменить]. Открывается макет печатной формы, который можно отредактировать. Также можно отменить изменения и вернуться к исходному варианту. Параметры макетов – закладка, на которой по видам печатных форм, можно настроить параметры вывода печатных форм. Сами параметры и их обработка в основном уже закодированы в расширении в каждой печатной форме. Важно, что параметры хранятся в периодическом регистре сведений и начинают действовать с указанной даты «Действует начиная с». Формы прописываются в перечислении и оформлены в виде обработок. Обработки печати встроены в расширение. Каждому виду печатной формы, соответствует 1 обработка. Формы предварительно сохраняются и подключаются как внешние к документам, автоматически определяя документы для подключения. Каждая обработка также имеет форму отладки, в которой задается ссылка на документ и вид печатной формы, тестовое выполнение по кнопке [Печать]. В коде обработки идет запрос на выбор макета и запрос на получение всех настроек контрагента. Например: Макет= РегистрыСведений.печать_Макеты.ПолучитьМакетДляПечати(Контрагент, Перечисления.печать_ТипыПФ.ТОРГ12); ПараметрыМакета= РегистрыСведений.печать_ПараметрыМакетов.ПолучитьПараметрыПечати(Контрагент, Дата, Перечисления.печать_ТипыПФ.ТОРГ12); Затем настройки выводятся в секциях макета, вот, например, вывод номера ТОРГ-12 и номера автомобиля. Будут выводиться в зависимости от настроек у контрагента. Для контрагента могут быть не заданы настройки печати, тогда настройки берутся от головного контрагента либо группы контрагентов (Справочник «Иерархия контрагентов»).       Комплектность (список печатных форм и количество) – выбираются в порядке – 1.Контрагент; 2.Головной контрагент. Регистр сведений НастройкиПечатиОбъектов Модуль менеджера: Функция печать_КомплектПечатныхФорм(…)       Параметры и макеты ПФ - выбираются в порядке 1. Контрагент; 2. Головной контрагент. 3. Группа контрагентов. Регистр сведений печать_ПараметрыМакетов_ Модуль менеджера: Функция ПолучитьПараметрыПечати(…) УПП: Печатная форма УПП: Документы ERP: Печатная форма ERP: Документы № Задачи CMR (международная ТТН) Счет на оплату Добавить Заказ клиента, Реализация 3.1.4.6.1 Спецификация Счет на оплату Добавить Заказ клиента, Реализация 3.1.4.6.2 Счет на оплату (English) Счет на оплату Добавить Заказ клиента, Реализация 3.1.4.6.3 Счет на оплату (наименования из сертификата) Счет на оплату Добавить Конструктор печати: Счет на оплату Заказ клиента, Реализация 3.1.4.6.16 Счет на оплату покупателю (без группировок) Упаковочный лист (Код ТНВЭД) Счет на оплату Добавить Заказ клиента, Реализация 3.1.4.6.4 Бонусы расшифровка Заказ покупателя, Реализация Добавить Заказ клиента, Реализация 3.1.4.6.15 Заказ покупателя Заказ покупателя Добавить Конструктор печати: Заказ клиента Заказ клиента, Реализация 3.1.4.6 Поручение экспедитору Заказ покупателя Добавить Заказ клиента, Реализация, Путевой лист 3.1.4.6.5 Экспедиторская расписка Заказ покупателя Добавить Заказ клиента, Реализация, Путевой лист 3.1.4.6.6 1-Т (Товарно-транспортная накладная) Реализация Добавить Конструктор печати: ТТН (Приложение 4) Реализация, ТранспортнаяНакладная 3.1.4.6.20 1-Т (Товарно-транспортная накладная) (без цены) Акт об оказании услуг Реализация Не добавлять Реализация - М-15 (Накладная) Реализация Не добавлять Реализация - МХ-1 Реализация Добавить Реализация 3.1.4.6.7 МХ-3 Реализация Не добавлять Реализация - Накладная (складская) Реализация Добавить Реализация 3.1.4.6.8 Складская Реализация Добавить Конструктор печати: Складская накладная Реализация 3.1.4.6 Складская (объединенная) Реализация Отменена (см. Складская) Реализация 3.1.4.6.9 Накладная ТТН для сетей Реализация Добавить Конструктор печати: ТТН (1-Т) Реализация, ТранспортнаяНакладная 3.1.4.6.19 Накладная ТТН для сетей (без цены) Сертификаты (обработкой) Реализация Добавить Конструктор печати: Сертификат Реализация 3.1.4.6.10 Сертификаты (реестр) Реализация Добавить Конструктор печати: Реест сертификатов Реализация 3.1.4.6.11 Справка-расчет "Рублевая сумма документа в валюте" Реализация Добавить Реализация 3.1.4.6.12 ТОРГ12 - Наименования из сертификатов Реализация Добавить Конструктор печати: Торг-12 Реализация 3.1.4.6.18 ТОРГ-12 (Товарная накладная с услугами) ТОРГ-12 (Тов.накл.с услугами)(вал.)(сертиф.) Удостоверение качества Реализация Добавить Реализация 3.1.4.6.13 Универсальный передаточный документ (УПД) Реализация Добавить Конструктор печати: УПД Реализация 3.1.4.6 СФ валютная (сертиф.) Счет-фактура Добавить Конструктор печати: Счет-фактура Счет-фактура, Реализация 3.1.4.6.17 Счет фактура Счет-Фактура - Наименования из сертификатов М-4 (Приходный ордер) Поступление Не добавлять Приобретение - ОС-14 (Акт о приеме оборудования)(бух. учет) Поступление Не добавлять Приобретение - ТОРГ-12 (передача ОС) Передача ОС Добавить Передача ОС арендатору (ПередачаОСАрендатору2_4) 3.1.4.6.14 ТТН (1-Т) Описание заполнения печатной формы ТТН: Номер на печатной форме Краткое описание Настройка в карточке «Контрагента» 1 Выводится текст «Наименование договора». В поле «Основание» - ссылка «Реквизиты для печати ТОРГ12» документа «Реализация товаров и услуг»   2 Выводится текст «Заказ №… от..» Документ «Заказ клиента» закладка «Дополнительно» поле «Номер заказа по данным клиента» и от «Дата»   3 Выводится текст «Поставщик №…»   Пример «101085» (знак № будет установлен по умолчанию) Установить флаг «Выводить Номер Поставщика» Указать номер в поле «Номер поставщика». 4 Выводится текст «ТОРГ-12……» и номер документа «Реализация товаров и услуг» в шапке печатной формы Установить флаг «Выводить номер ТОРГ-12 в шапке» 5 Выводится номер «ТОРГ-12» без префикса в поле «Коды» Установить флаг «Выводить номер ТОРГ-12 в кодах» 6 «Грузоотправитель» выводиться сведения о банковских счетах. Банковский счет выбранный в «Реквизиты печати ТОРГ» - поле «Счет грузоотправителя» документа «Реализация товаров и услуг»   7 «Грузополучатель»:         «Грузополучатель» выводиться сведения о банковских счетах. Банковский счет выбранный в «Реквизиты печати ТОРГ» - поле «Счет грузополучателя» документа «Реализация товаров и услуг»          Выводится фактический адрес «Контрагента» Установить флаг «Фактический адрес контрагента» 8 В столбце № 1 «Код продукции» Данные выводятся из столбца «Артикул» справочника «Номенклатура поставщика» - карточка «Партнер» (если заполнено, иначе стандартный функционал)   9 Столбец №2 «Цена руб. коп», очищается Установить флаг «Очищать цены, сумму в ТТН» 10 Столбец №11 «Сумма руб. коп», очищается Установить флаг «Очищать цены, сумму в ТТН» 11 «Всего отпущено» не выводить прописью сумму документа Установить флаг  «Очищать цены, сумму в ТТН» 12 Масса груза (нетто) – очищается (Если в номенклатуре указан вес, то Нетто не соответствует Брутто) Установить флаг «Не выводить Масса нетто» 13 Перевод Массы груза (нетто) в тонны, очищается Установить флаг «Не выводить Масса нетто» 14 В строке «Всего мест» выводить текст из доп. поля   Пример, ящиков/коробов Установить флаг «Выводить текст Места» Заполнить текстовое поле «Всего Мест текст» 15 В столбце «ТТН №..» выводится номер документа «Реализация товаров и услуг» (без префикса) Установить флаг «Выводить номер ТОРГ-12 в шапке» 16 Поле «Пункт разгрузки» – выводиться «АДРЕС ДОСТАВКИ» из «Реквизиты печати ТОРГ» документа «Реализация товаров и услуг» (раньше брался адрес доставки из транспортной накладной)   17 Столбец «Краткое наименование груза» выводится текст из доп. реквизита Заполнить доп. реквизит «Краткое наименование груза» 18 Столбец «С грузом следуют документы» выводится текст:     «Товарная накладная (ТОРГ-12) № 2303 от 05.06.2020». (Выводится номер и дата документа Реализация товаров и услуг, без префикса). Установить флаг «Документы с грузом ТОРГ»   «Счет-фактура № 2303 от 05.06.2020». (Выводится номер и дата документа счет-фактуры, без префикса). Установить флаг  «Документы с грузом С/фактура»   «УПД № 2303 от 05.06.20202. (Выводится номер и дата документа Сч-Фактуры, без префикса). Установить флаг «Документы с грузом УПД»   Далее выводится текст из доп. реквизита «Наименование документов» Вписать текст в поле «Наименование документов» 19 Строка «Вид упаковки» выводится текст из доп. реквизита   Если заполнена 1 строка, то выводим первую, если заполнена вторая, то выводим и вторую «Вид упаковки 1 строка ТТН» «Вид упаковки 2 строка ТТН»   20 Столбец «Кол. мест» выводится кол-во мест из документа «Реализация товаров и услуг».   21 Столбец «Способ определения массы» выводится текст из доп. реквизита Вписать текст в поле «Способ определения массы» 22 Столбец «Массы брутто» выводится без округления (в кг)   23 Строка «Массой брутто____ кг к перевозке» выводится масса брутто без округления (в кг)   24 Строка «Итого, массы брутто, кг» выводится масса брутто без округления (в кг)   ТТН (Приложение №4) Описание заполнения печатной формы ТТН (вертикальное).  Номер на печатной форме Краткое описание Настройка в карточке «Контрагента» 1 Выводится текст «Заказ №….» Из документа «Заказ клиента» с закладки «Дополнительно» поля «Номер заказа по данным клиента» Установить флаг «Выводить номер заказа в шапке ТТН вертикальная» 2 Выводится номер УПД (счет-фактуры) без префикса. Установить флаг «Выводить номер УПД в ТТН вертикальная». 3 Выводится номер ТОРГ-12 без префикса. Установить флаг «Выводить номер ТОРГ-12 в ТТН вертикальная». 4 Выводится «Номер заказа» Из документа «Заказ клиента» с закладки «Дополнительно» поля «Номер заказа по данным клиента» ФЛАГ не установлен «Выводить номер заказа в шапке ТТН вертикальная». 5 Выводится «Дата заказа» Из документа «Заказ клиента» с закладки «Дополнительно» поля от «Дата». 6 Строка «Отгрузочное наименование» выводится текст из доп. реквизита Вписать текст в поле «Краткое наименование груза» 7 Строка «Масса нетто» выводится масса брутто без округления, прописью   8 Строка «Перечень прилагаемых документов» выводить текст тот, где стоит флаг        «Товарная накладная (ТОРГ-12) № 2303 от 05.06.2020». (Выводится номер и дату документа Реализация товаров и услуг, без префикса). Установить флаг «Документы с грузом ТОРГ»      «Счет-фактура № 2303 от 05.06.2020». (Выводится номер и дату документа счет-фактуры, без префикса). Установить флаг «Документы с грузом С/фактура»      «УПД № 2303 от 05.06.20202. (Выводится номер и дату документа УПД, без префикса). Установить флаг «Документы с грузом УПД»      Далее выводится текст из доп. реквизита «Наименование документов» Вписать текст в поле «Наименование документов» 9 В строке «Перечень прилагаемых к грузу…» из доп. реквизита Пример «Удостоверение качества, Ветеринарное свидетельство» Вписать текст в поле «Перечень прилагаемых к грузу…» 10 Выводится текст из доп. реквизита Например, Паллета 1200х1000 - 0 шт. Паллета 1200х800 – 1 шт. Вписать текст в поле «Паллеты в ТТН вертикальная» 11 В строке «Масса груза» выводится масса брутто без округления   ТОРГ-12 Номер на печатной форме Краткое описание Настройка в карточке «Контрагента» 1 Выводится номер ТОРГ-12 без префикса Установить флаг «Выводить ТОРГ_12 в шапке» 2 Шапка «Основание»:    Выводится «Наименование договора и дата» 3 Шапка «Основание»:    Выводится текст «Заказ №… от..» Из документа «Заказ клиента» с закладки «Дополнительно» поля «Номер заказа по данным клиента» и от «Дата» 4 Шапка «Основание»: Установить флаг «Выводить Номер Поставщика» Указать номер (текст) в поле «Номер поставщика».  Выводится текст «Поставщик №» 5 Выводится текст «Номер автомобиля_______» Установить флаг «Выводить Номер автомобиля» Указать текст в поле «Номер автомобиля». 6 В столбце 3 «Код» выводится один из вариантов, если стоит флаг в карточке контрагента:    «Артикул» из справочника «Номенклатура поставщика» - карточка «Партнер» Установить флаг «Выводить Артикул поставщика»   Выводиться из регистра сведений «Штрихкоды номенклатуры» - столбец «Штрихкод» Установить флаг «Выводить Штрихкод» 7 В строке «Всего мест» выводится текст из поля доп. реквизита Установить флаг «Выводить текст Места»   Вписать текст в поле «Всего Мест текст» 8 Массы груза (нетто) – очищается Установить флаг  «Не выводить Масса нетто» 9 Перевод Массы груза (нетто) в тонны – очищается Установить флаг  «Не выводить Масса нетто» 10 Перевод Массы груза (брутто) в тонны – очищается Установить флаг «Переводить массу в тонны»