Исправление шаблонов этикеток и ценников после обновления конфигурации Розница 2.2
Задачи пользователя - Этикетки, ценники
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Причина в том, что запрос СКД в шаблоне этикеток остался прежним, с объектами, которых уже нет в конфигурации. Попытка редактировать шаблон, как макет, так и СКД, заканчивается всё той же ошибкой.
Если создать новый, пустой шаблон, то он печатается, т.к. конфигурация генерирует правильный запрос в СКД. Очевидное решение - перенести запрос из нового шаблона в старые. Но, как упоминалось, возможность редактирования старых этикеток закрыта из-за ошибки.
Для решения задачи была создана простая обработка КопированиеШаблона.epf, которая позволяет переносить макеты и СКД между шаблонами.
- Кнопка "Копия СКД" переносит запрос из источника в приемник. В качестве источник используется новый шаблон с правильным запросом.
- Кнопка "Копия шаблона" переносит макет из источника в приемник. Это может пригодиться, если вы хотите создать несколько похожих этикеток. Или посмотреть в тестовом шаблоне, как выглядел макет старой этикетки.
- Кнопка "Поменять источник приемник" меняет местами шаблоны.
Обработку можно применять при любом обновлении, если при этом запрос СКД становится неправильным.
Также обработку можно использовать как образец для создания других простых обработок под управляемыми формами 8.3, когда надо перекинуть значение между записями одного справочника, а в режиме "Предприятие" это сделать нельзя.
Информация для специалистов:
Шаблоны этикеток хранятся в справочнике "ХранилищеШаблонов".
В записи этого справочника СКД и макет хранятся в реквизитах с типом "Хранилище значений".
Ключевая процедура переноса СКД:
&НаСервереБезКонтекста
Процедура КопияСКДНаСервере(ШаблонИсточник, ШаблонПриемник)
ОбъектШаблонПриемник = ШаблонПриемник.ПолучитьОбъект();
ОбъектШаблонПриемник.СхемаКомпоновкиДанных = Новый ХранилищеЗначения(ШаблонИсточник.СхемаКомпоновкиДанных.Получить());
ОбъектШаблонПриемник.Записать();
КонецПроцедуры
Вступайте в нашу телеграмм-группу Инфостарт