При работе с программным комплексом «1С-Парус: Интеграция с ФС АХД» (редакция 1.0) пользователи часто сталкиваются с критической ошибкой при попытке выгрузки данных из конфигурации «Бухгалтерия государственного учреждения» (БГУ 1.0). Основная сложность возникает, когда информационная база БГУ переведена на платформу 1С:Предприятие 8.3, в то время как старые версии модуля интеграции ориентированы на работу с платформой 8.2. В данной статье мы подробно разберем, как устранить «ошибку использования классов» и обеспечить стабильный обмен данными.
Рассмотрим ситуацию: при попытке подключения к базе БГУ система выдает сообщение «ошибка использования классов». Это происходит из-за того, что модуль интеграции пытается инициировать соединение через COM-объект версии 8.2, который либо отсутствует в системе, либо не может корректно взаимодействовать с базой, работающей под управлением 8.3. Проанализируем технические аспекты: для успешного подключения программный код должен обращаться к библиотеке comcntr.dll соответствующей версии платформы. Если в системе установлена только платформа 8.3, стандартные вызовы объектов V82.COMConnector становятся неработоспособными.
Первым и самым правильным шагом будет обновление конфигурации «1С-Парус: Интеграция с ФС АХД». Выясним, какие релизы поддерживают работу с новой платформой. Опытным путем установлено, что в версиях 1.0.1.9, 1.0.1.10 и выше разработчики добавили возможность выбора версии платформы непосредственно в интерфейсе программы.
После обновления конфигурации выполним следующие действия:
Если в вашем релизе (например, 1.0.1.6) такая настройка отсутствует, обновление является обязательным условием, так как оно содержит необходимые макеты и изменения в программном коде для работы с объектом V83.COMConnector.
Часто одной лишь установки платформы 8.3 недостаточно. Выясним, как правильно зарегистрировать компоненты в операционной системе, особенно если вы используете 64-битную версию Windows или серверный вариант работы. Ошибка «классы не зарегистрированы» лечится ручной регистрацией библиотеки comcntr.dll.
Проанализируем шаги по регистрации через командную строку:
C:\Program Files\1cv8\8.3.X.XXXX\bin\).regsvr32 comcntr.dll.Для 64-битных систем на уровне сервера приложений 1С может потребоваться настройка в «Службах компонентов» (DCOM). Разберем этот процесс по шагам:
1C_COM_Connector.USR1CV8).comcntr.dll из папки bin платформы 8.3.Посмотрим на ситуацию, когда в файловом варианте обмен работает, а в клиент-серверном (SQL) — нет. Это связано с тем, что код интеграции выполняется на стороне сервера. Проанализируем основные причины сбоев:
1C:Enterprise 8.3 Server Agent должна иметь права доступа к папке, где установлена платформа, и к каталогам обмена.В некоторых случаях, если штатные средства не помогают, рекомендуется выполнять выгрузку из БГУ в промежуточную файловую базу, и уже из нее загружать данные в «Парус». Это позволяет обойти ограничения прав доступа серверных учетных записей SQL.
Если обновление конфигурации по каким-то причинам невозможно, а работать нужно «здесь и сейчас», мы можем внести точечные изменения в код обработки, отвечающей за подключение. Разберем пример того, как изменить инициализацию COM-объекта.
Найдем в модуле обработки фрагмент кода, отвечающий за создание соединения. Скорее всего, там используется жесткая привязка к версии 8.2:
// Старый вариант кода
Соединитель = Новый COMОбъект("V82.COMConnector");
Нам необходимо заменить его на универсальный вызов или явно указать версию 8.3:
// Исправленный вариант кода
Попытка
Соединитель = Новый COMОбъект("V83.COMConnector");
Исключение
Сообщить("Не удалось создать COM-объект для платформы 8.3: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
После внесения таких изменений система начнет обращаться к библиотекам платформы 8.3. Однако помните, что после обновления конфигурации эти правки могут быть затерты, поэтому лучше использовать официальные релизы (1.0.1.10 и выше).
Рассмотрим более современные требования. Если вы работаете не только с БГУ 1.0, но и с Зарплатой и управлением персоналом (ЗУП) 3.1, механизмы прямого COM-подключения могут работать нестабильно из-за различий в архитектуре (управляемые формы против обычных). В таких случаях рекомендуется использовать внешние обработки выгрузки в формат XML, предоставляемые разработчиками системы «Парус». Это полностью снимает проблему конфликтов версий платформ 1С, так как «Интеграция с ФС АХД» просто считывает готовый файл, не подключаясь к базе напрямую.
Важный момент: при работе под платформой 8.3 убедитесь, что на компьютере установлен актуальный криптопровайдер (например, КриптоПро CSP), если вы планируете подписывать файлы выгрузки электронной подписью непосредственно перед отправкой в ФС АХД.