Задача
В связке «Управление автотранспортом» + «Бухгалтерия предприятия» склад обычно ведут в УАТ: там сканируют штрихкоды при поступлении, перемещении, выдаче материалов. Бухгалтерия получает документы и номенклатуру по типовой синхронизации, но штрихкоды номенклатуры в типовых правилах обмена УАТ отсутствуют — их заводят в БП руками, а расхождения всплывают при инвентаризации и работе с ТСД.
При этом в самой БП 3.0 приём объекта формата `Справочник.ШтрихкодыНоменклатуры` реализован типовыми правилами (для обмена с УТ/ERP). Не хватает только отправки со стороны УАТ.
Что делает расширение
- Отправляет штрихкоды номенклатуры из регистра сведений «уатШтрихкоды» в БП 3.0 объектом формата EnterpriseData `Справочник.ШтрихкодыНоменклатуры` (поддерживается с версии формата 1.4; проверено на 1.17).
- Отслеживает создание, изменение и удаление штрихкодов: удалённый в УАТ штрихкод удаляется и в БП.
- Штрихкоды документов и грузовых мест (в УАТ они хранятся в том же регистре) не отправляются — в БП для них нет места.
- Ничего не меняет в типовой конфигурации УАТ и не требует установки чего-либо в БП.
Как это устроено
Платформа не позволяет включить типовой регистр в состав заимствованного плана обмена из расширения, поэтому механизм построен на штатных точках БСП без изменения состава плана:
1. Регистрация. Подписка на запись регистра «уатШтрихкоды» регистрирует к отправке на узлы БП саму номенклатуру (она входит в типовой состав плана). Перед регистрацией номенклатура разрешается узлу тем же способом, каким БСП разрешает объекты при выгрузке по ссылке, и проверяется штатной проверкой БСП в режиме анализа — это исключает известный эффект режима «Выгружать при необходимости», когда для не разрешённой узлу номенклатуры БСП отправляет удаление объекта.
2. Выгрузка. При отправке номенклатуры (перехват диспетчера обработчиков модуля менеджера обмена) следом выгружаются наборы записей её штрихкодов собственным правилом обработки и конвертации. Структура объекта формата повторяет типовую отправку штрихкодов самой БП, под которую написан её типовой приёмник.
3. Удаление. Собственный регистр сведений хранит последнее отправленное состояние; по разнице с «уатШтрихкоды» для удалённых и перенесённых штрихкодов отправляются пустые наборы записей — БП удаляет их у себя.
Состав расширения: 1 регистр сведений, 1 общий модуль, 1 подписка на событие, расширение модуля `МенеджерОбменаЧерезУниверсальныйФормат` (три перехвата `&После`/`&Вместо`), заимствованные `Номенклатура` и `уатШтрихкоды`.
Установка
1. Подключить расширение в УАТ (Администрирование → Расширения конфигурации), снять флажок «Безопасный режим».
2. Обновить конфигурацию базы данных (добавляется один регистр сведений), перезапустить сеансы.
3. Проверить на одном штрихкоде: создать штрихкод в карточке номенклатуры → выполнить синхронизацию → в БП открыть номенклатуру → «Штрихкоды».
4. Для отправки уже заведённых штрихкодов открыть обработку `ШНО_РегистрацияШтрихкодов.epf` (Файл → Открыть) → «Зарегистрировать» → выполнить синхронизацию. Обработка регистрирует только номенклатуру со штрихкодами, повторный запуск безопасен.
Дальше всё автоматически: штрихкоды уезжают при каждой очередной синхронизации.
Особенности и ограничения
- Работает с настройкой синхронизации УАТ ↔ «Бухгалтерия предприятия, редакция 3.0» (вариант `ОбменБП3`), формат EnterpriseData 1.4 и выше; при нескольких узлах БП штрихкоды отправляются на все.
- Назначение штрихкода считается признаком, что номенклатура используется: она отправляется в БП даже при режиме узла «Выгружать при необходимости». Если такой позиции в БП ещё нет, БП сопоставит её по типовым полям поиска (полное наименование, артикул, наименование + группа) либо создаст.
- В БП у регистра штрихкодов одно измерение — штрихкод; если один штрихкод в УАТ назначен нескольким позициям, в БП останется последняя отправленная.
- Штрихкоды, введённые в БП вручную на номенклатуру без штрихкода в УАТ, не затрагиваются.
- Штрихкод остаётся «первичным» в УАТ: обратной передачи из БП в УАТ нет.
Проверено
Платформа 1С:Предприятие 8.3.27.1719; Управление автотранспортом ПРОФ 2.2.36.1; Бухгалтерия предприятия КОРП 3.0.205.22. Сплошная сверка на реальных данных: 1835 штрихкодов номенклатуры — 1835 в БП на той же номенклатуре, 0 расхождений; проверены сценарии создания, изменения и удаления штрихкода.
Состав поставки
- `ОбменШтрихкодыНоменклатуры.cfe` — расширение (версия 1.0.0.1).
- `ШНО_РегистрацияШтрихкодов.epf` — обработка первичной массовой отправки.
- `README.txt` — инструкция по установке.
Вступайте в нашу телеграмм-группу Инфостарт