Как настроить синхронизацию между «1С:Управление торговлей 11.5» и «1С:Розница 3.0» так, чтобы не затирались данные в справочнике номенклатуры?

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

При настройке обмена данными между УТ 11.5 и Розницей 3.0 (необходимость в которой часто возникает после того, как выполнена выгрузка остатков и документов из УТ 10.3 в УТ 11.5) пользователи часто сталкиваются с проблемой: при загрузке документов «Отчет о розничных продажах» система обновляет справочник Номенклатура, затирая важные реквизиты, такие как ставки НДС (5%, 7% или другие специфические значения). Рассмотрим, как правильно настроить штатную синхронизацию, чтобы сохранить целостность данных в обеих базах.

Использование штатного механизма EnterpriseData

Прежде всего, проанализируем выбор механизма обмена. Несмотря на распространенное мнение, что прямого обмена не существует, в современных конфигурациях используется формат EnterpriseData (ED). Поскольку Розница 3.0 разработана на той же платформе, что и УНФ, в 1С:Управление торговлей следует выбирать синхронизацию с 1С:Розница 3.0 или 1С:УНФ. Это позволит нам отказаться от самописных правил обмена и использовать гибкие настройки БСП. Если же ваша торговая точка ранее работала на старых версиях ПО, может потребоваться предварительный перенос данных из ТиС 7.7 в УНФ 3.0, Розницу 3.0 или УТ 11.5.

Настройка запрета на обновление существующих объектов

Разберем ситуацию, когда нам необходимо загружать только документы, не меняя при этом существующие карточки товаров в УТ. Для этого выполним следующие шаги в базе-приемнике (УТ):

  1. Перейдем в раздел Администрирование — Синхронизация данных — Настройки синхронизации.
  2. Откроем настройки созданного обмена и перейдем в Правила получения данных.
  3. В таблице настроек найдем объект Номенклатура.
  4. Установим режим, при котором программа будет искать объект (по уникальному идентификатору или коду/артикулу), но при нахождении соответствия не будет обновлять реквизиты существующего объекта. В этом случае данные о ставке НДС в УТ останутся нетронутыми. При масштабном заведении новых позиций также может пригодиться инструмент для заполнения схем обеспечения номенклатуры для УТ 11.5.

Решение проблемы со ставками НДС 5% и 7%

Выясним причину, по которой в Рознице могут отсутствовать ставки НДС 5% и 7%. Согласно налоговой реформе, эти ставки были добавлены в конфигурацию 1С:Розница 3.0 начиная с версии 3.0.10.143. Если ваша база имеет более ранний релиз, рекомендуем выполнить обновление.

Проанализируем настройки для корректной работы со ставками:

Настройка режима «Только в составе документов»

Посмотрим на альтернативный вариант настройки передачи данных из Розницы. В настройках отправки данных можно указать, что НСИ (номенклатура, контрагенты) должны отправляться не целиком, а только в составе документов. Это ограничивает объем передаваемых данных: в обмен попадут только те позиции, которые фактически были проданы. При переходе с предыдущих версий программы для корректной передачи всех сущностей можно использовать правила обмена для Розница 2.3 - Розница 3.0, включая заказы.

Однако стоит учитывать, что даже при отправке «в составе документов» программа по умолчанию попытается синхронизировать реквизиты. Поэтому комбинация этого режима с настройкой «Не обновлять существующие объекты» в УТ является наиболее надежным решением. Также убедитесь, что само рабочее место кассира настроено верно, используя инструкцию по настройке торгового места на базе РМК Розница 3.0.

Техническая реализация через правила обработки (для разработчиков)

Если штатных настроек в интерфейсе недостаточно, мы можем программно вмешаться в процесс загрузки в базе УТ, используя событие ПриЗагрузкеОбъекта или аналогичные механизмы в расширении, чтобы игнорировать изменение конкретных полей. Рассмотрим пример логики на языке 1С, которую можно внедрить в процедуру обработки:


// Пример логики в обработчике загрузки данных
Если ТипЗнч(ДанныеЗагрузки) = Тип("СправочникОбъект.Номенклатура") Тогда
    Если НЕ ДанныеЗагрузки.ЭтоНовый() Тогда
        // Запрещаем перезаписывать ставку НДС для существующих позиций
        ДанныеЗагрузки.СтавкаНДС = ДанныеЗагрузки.Ссылка.СтавкаНДС;
    КонецЕсли;
КонецЕсли;

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

← На главную