При организации интеграции между конфигурациями «1С:Розница 2.1» и «1С:Бухгалтерия предприятия 2.0» специалисты часто сталкиваются с ситуацией, когда в мастере настройки Бухгалтерии отсутствует нужный пункт или стандартная инструкция не подходит. Разберем подробнее причинно-следственную связь этой проблемы и проанализируем проверенные способы настройки обмена.
Выясним причину проблемы
Основная причина сложностей заключается в архитектурной логике решений 1С и различиях между редакциями конфигураций:
Направление настройки: Конфигурация «1С:Розница» является системой оперативного учета (источником), а «1С:Бухгалтерия» — системой регламентированного учета (приемником). По типовой методологии 1С первичный узел обмена создается на стороне источника.
Особенности версии КОРП: В «1С:Бухгалтерия предприятия КОРП» реализован специфический учет по обособленным подразделениям. По этой причине встроенные мастера быстрого создания обменов с Розницей из меню КОРП-версий исключены, так как предполагается использование трехзвенных схем или выгрузки через файл параметров.
Блокировка кода узла: При попытке создать узел плана обмена вручную поле Код блокируется для редактирования пользователем, так как оно должно формироваться автоматически механизмом синхронизации.
Шаг 1. Первоначальная настройка на стороне 1С:Розница 2.1
Начнем настройку с конфигурации-источника. Рассмотрев раздел администрирования в Рознице 2.1, выполним следующие действия:
Перейдем в раздел «Администрирование» — «Синхронизация данных».
Установим флаг «Использовать синхронизацию данных» и укажем префикс текущей информационной базы (например, РТ).
Откроем «Настройки синхронизации данных» и нажмем «Создать».
В списке выберем пункт «1С:Бухгалтерия предприятия, ред. 2.0».
Пройдем шаги помощника настройки, настроим правила выгрузки документов и сохраним сформированный файл настроек (параметров обмена) на диск.
Шаг 2. Настройка обмена в 1С:Бухгалтерия предприятия 2.0 (версия ПРОФ)
Если используется редакция ПРОФ, продолжим настройку в Бухгалтерии 2.0 по следующей схеме:
Установим флаг «Использовать обмен данными» и зададим префикс базы (например, БП).
Откроем пункт «Сервис» — «Обмен данными с продуктами на платформе 8.2» — «Обмены данными».
Создадим новую настройку и выберем обмены с конфигурацией «Розница 2.0/2.1». Если настройка уже выполнялась в Рознице, укажем ранее выгруженный файл настроек для автоматического связывания узлов.
Шаг 3. Обновление правил конвертации и регистрации объектов
Правила обмена, встроенные в устаревшие релизы Бухгалтерии, могут не соответствовать структуре «1С:Розница 2.1». Чтобы актуализировать правила без изменения конфигурации, выполним загрузку свежих файлов Правила конвертации.xml и Правила регистрации.xml из каталога шаблонов Розницы 2.1:
В «1С:Бухгалтерия предприятия 2.0» откроем список настроенных обменов: «Сервис» — «Обмен данными с продуктами на платформе 8.2» — «Обмены данными».
Выделим нужный обмен и выберем пункт меню «Параметры обмена данными» — «Открыть правила конвертации объектов».
В открывшейся форме переставим переключатель в положение «Правила из внешнего файла», нажмем «Загрузить правила» и укажем файл Правила конвертации.xml.
Аналогично откроем «Параметры обмена данными» — «Открыть правила регистрации объектов», выберем «Правила из внешнего файла» и загрузим файл Правила регистрации.xml.
Сохраним настройки. Теперь синхронизация будет работать по новым актуальным правилам.
Альтернативное решение для версии КОРП или ручной настройки кода
Если обмен настраивается в конфигурации КОРП или узел создается вручную через меню «Операции» — «Планы обмена», платформа не позволит отредактировать код узла в пользовательском режиме. В этом случае программист или администратор может программой установить код узла через внешний код или обработку.
Проанализируем пример кода 1С для установки кода узла плана обмена ОбменРозница20Бухгалтерия20:
УзелСсылка = ПланыОбмена.ОбменРозница20Бухгалтерия20.НайтиПоКоду("БП");
Если Не УзелСсылка.Пустая() Тогда
УзелОбъект = УзелСсылка.ПолучитьОбъект();
УзелОбъект.Код = "РТ";
ЗаписьВозможна = Истина;
УзелОбъект.Записать();
КонецЕсли;
Для отображения отсутствующего плана обмена в списке мастера настроек конфигурации КОРП можно добавить нужный план обмена в общий модуль ОбменДаннымиПереопределяемый:
Важно: Перед выполнением любых операций по изменению правил обмена и редактированию узлов планов обмена обязательно создавайте резервную копию информационной базы!