Задача укрупнения или «свертки» номенклатуры при обмене между Управление торговлей 11 и Бухгалтерия 3.0 часто возникает, когда необходимо упростить бухгалтерский учет, сгруппировав множество детальных позиций (например, разные модели дрелей) в единую номенклатурную позицию в БП. Рассмотрим, как реализовать это технически, какие риски при этом возникают и какие подходы являются наиболее надежными.
Для реализации свертки номенклатуры мы можем пойти двумя основными путями: через создание дополнительных реквизитов или через манипуляцию механизмом идентификации объектов в универсальном формате обмена.
Рассмотрим пошагово первый способ, который подразумевает создание связи между детальной номенклатурой УТ и «свернутой» номенклатурой в БП.
Номенклатура добавляем новый реквизит, назовем его, например, БП_Номенклатура. Тип значения — СправочникСсылка.Номенклатура.Бухгалтерии те самые «фейковые» элементы (например, «Дрель»), в которые будут «сливаться» все входящие данные из УТ.БП_Номенклатура для всех товаров в УТ, указав для каждой дрели соответствующую «фейковую» позицию.МенеджерОбменаЧерезУниверсальныйФормат вносим изменения. Нам необходимо перехватить процесс выгрузки, чтобы при передаче объекта Номенклатура система считывала значение нашего реквизита БП_Номенклатура. Если реквизит заполнен, выгружаем его, а не исходную карточку товара.Пример логики для модификации правил обмена:
Если Не ЗначениеЗаполнено(Объект.БП_Номенклатура) Тогда
// Выгружаем как обычно
ВыгрузитьПоПравилу(Объект);
Иначе
// Подменяем номенклатуру на свернутую
ВыгрузитьПоПравилу(Объект.БП_Номенклатура);
КонецЕсли;
Если используется стандартный механизм обмена EnterpriseData (универсальный формат), синхронизация объектов происходит на основе идентификаторов, хранящихся в регистре сведений ПубличныеИдентификаторыСинхронизируемыхОбъектов.
Мы можем программно «пройтись» по номенклатуре и принудительно записать в регистр соответствие (УИД) всех позиций группы «Дрели» одной и той же ссылке на номенклатуру в БП. Однако, будьте осторожны: при обновлении правил или принудительной синхронизации система может попытаться восстановить уникальность связей, что приведет к сбоям в обмене.
Перед тем как приступать к внедрению, проанализируем возможные последствия для учета:
ССТ — себестоимость товаров) станет неинформативной. Средневзвешенная стоимость будет рассчитываться «по куче», что может привести к искажению данных по прибыли и налогам.Прежде чем внедрять свертку, попробуйте проработать альтернативные варианты:
Помните, что любое вмешательство в механизм обмена через изменение конфигурации или правил — это работа, требующая тщательного тестирования на копии базы, так как нарушение целостности данных между УТ и БП крайне сложно исправить задним числом.