В процессе настройки обмена данными между конфигурацией 1С:Управление производственным предприятием (УПП) 1.3 и сторонними системами (например, "Промышленная безопасность") программисты часто сталкиваются с технической недоработкой интерфейса: на форме узла плана обмена отсутствуют стандартные кнопки "Загрузить правила конвертации объектов" и "Загрузить правила регистрации объектов". Эта проблема может возникнуть даже при использовании актуальных версий платформы и типовых конфигураций.
В этой статье мы подробно разберем причины возникновения данной ошибки и рассмотрим пошаговые методы её решения — от простых настроек прав до манипуляций с программным кодом конфигурации.
Первым делом проанализируем настройки прав доступа. В 1С:УПП 1.3 права на новые или измененные объекты конфигурации не всегда подтягиваются автоматически, даже если у пользователя установлена роль "Полные права".
Выполним следующие шаги:
Полная (или специализированной роли, под которой настраивается обмен) найдем наш план обмена.Далее проверим состояние системных констант. В УПП 1.3 функциональность синхронизации данных управляется специфической настройкой. Разберем, как её найти:
Использовать обмен данными с конфигурациями на платформе 8.2 (именно так она называется в старых редакциях УПП, заменяя привычную "Использовать синхронизацию данных").Истина (Включено).Без включения этой опции подсистема обмена данными блокирует отображение элементов управления правилами в формах узлов.
Система 1С определяет возможности плана обмена на основе его внутренней структуры. Чтобы появились кнопки загрузки, подсистема обмена данными должна "увидеть", что этот план предполагает использование внешних правил XML. Для этого проанализируем макеты плана обмена в Конфигураторе.
Рассмотрим правила создания макетов:
Текстовый документ.ПравилаОбмена (без пробелов). В некоторых случаях допустимо название ПравилаКонвертации, но для гарантированного срабатывания механизмов БСП в УПП рекомендуется использовать именно ПравилаОбмена.После добавления макета записи в регистре сведений ПравилаДляОбменаДанными должны создаться автоматически при открытии формы настройки, что активирует нужные кнопки.
Если вышеуказанные действия не помогли, вероятно, план обмена не зарегистрирован в программном коде как поддерживающий стандартные настройки. В конфигурациях на базе 1С:УПП 1.3 (где используются ранние версии БСП) за это отвечают общие модули.
Разберем, как внести изменения в код:
Найдем общий модуль ОбменДаннымиПереопределяемый. В нем должна быть процедура, отвечающая за получение списка планов обмена, участвующих в синхронизации (например, ПолучитьПланыОбменаДляНастройкиОбменаДанными). Нам необходимо добавить наш план в массив.
Пример кода для добавления:
Процедура ПолучитьПланыОбменаДляНастройкиОбменаДанными(СписокПлановОбмена) Экспорт
// Добавляем наш новый план обмена в список
СписокПлановОбмена.Добавить(Метаданные.ПланыОбмена.НашНовыйПланОбмена);
КонецПроцедуры
После этого система начнет обрабатывать форму узла через стандартные обработчики, которые динамически добавляют кнопки загрузки на командную панель при создании формы.
Иногда программный механизм "не видит" связь между планом обмена и регистром правил из-за кэширования или ошибок в коде формы. В этом случае проанализируем содержимое регистра сведений ПравилаДляОбменаДанными.
Попробуем выполнить следующие действия:
ПравилаДляОбменаДанными.Имя плана обмена выберем наш проблемный план.Вид правил — Правила конвертации или Правила регистрации.После создания такой "пустышки" логика формы узла при открытии может обнаружить существующую связь и отобразить кнопки для обновления или перезагрузки этих правил.
Если вы копировали форму узла из другого плана обмена, проанализируем процедуру ПриСозданииНаСервере (или ПриОткрытии в обычных формах). В УПП часто встречается жесткая проверка имен объектов.
Выясним, нет ли в коде условий типа:
Если Метаданные().Имя = "ОбменУПП_ЗУП" Тогда
ЭлементыФормы.КнопкаЗагрузитьПравила.Видимость = Истина;
Иначе
ЭлементыФормы.КнопкаЗагрузитьПравила.Видимость = Ложь;
КонецЕсли;
Если подобные условия найдены, их необходимо расширить, включив в проверку ваш новый план обмена, либо заменить на универсальную проверку наличия макетов ПравилаОбмена.
Важный нюанс: Убедитесь, что вы не пытаетесь использовать механизм загрузки правил XML для планов обмена, работающих по формату EnterpriseData. В УПП 1.3 поддержка универсального формата ограничена, но если план обмена помечен как работающий через "Синхронизацию данных", кнопки загрузки .xml файлов конвертации могут быть скрыты намеренно, так как система ожидает использования встроенных в конфигурацию обработчиков.