После обновления типовых конфигураций «Управление торговлей» (редакция 10.3) и «Бухгалтерия предприятия» (редакция 2.0) до свежих релизов пользователи могут столкнуться со сбоем при автоматическом обмене данными через прямое COM-подключение. Ошибка возникает на этапе выполнения функции ЗагрузитьПравилаОбмена и сопровождается следующим сообщением в журнале или окне диалога:
{Перечисление.СтавкиНДС.МодульМенеджера(3,2)}: Ожидается оператор препроцессора
Рассмотрим подробно, почему возникает эта синтаксическая ошибка и как правильно настроить параметры обмена для ее устранения.
Проанализируем техническую сторону взаимодействия двух баз. В свежих релизах конфигураций 1С разработчики активно используют синтаксические конструкции платформы 8.3, такие как директивы препроцессора и инструкции группировки кода (#Область и #КонецОбласти), в том числе в модулях менеджеров объектов (например, перечисления СтавкиНДС).
Если в настройках обмена со стороны базы-источника указан устаревший параметр типа информационной базы (8.2), система пытается установить прямое подключение с помощью компоненты V82.COMConnector. Синтаксический анализатор платформы 8.2 не способен распознать новые директивы препроцессора, добавленные в модули объектов 8.3, что приводит к остановке загрузки правил обмена с ошибкой ожидаемого оператора.
Разберем по шагам, как исправить настройки синхронизации в конфигурации:
При смене типа информационной базы на 8.3 система начнет использовать соединитель V83.COMConnector. Чтобы подключение прошло успешно, важно проверить соблюдение следующих условий:
comcntr.dll соответствующей версии платформы должна быть зарегистрирована в операционной системе. В случае отсутствия регистрации выполним команду в консоли от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.X.XXXX\bin\comcntr.dll"
Если прямое COM-подключение настроить не удается из-за сетевых ограничений или конфликтов разрядности, рассмотрим альтернативные способы передачи данных:
.xml).Универсальный обмен данными в формате XML.