При выполнении конвертации данных из конфигурации «Бухгалтерский учет 7.7» в программы линейки 1С:Предприятие 8 через обработку УниверсальныйОбменДаннымиXML пользователи и специалисты нередко сталкиваются с аварийным завершением загрузки. В окне сообщений выводится ошибка компиляции глобального обработчика события ПослеЗагрузкиОбъекта с указанием на неопределенную функцию ЗначениеНеЗаполнено. Проанализируем причины возникновения этой проблемы и разберем по шагам все способы ее устранения.
Выясним причину, из-за которой процесс обмена прерывается на стороне конфигурации-приемника:
1CIts\EXE\Cnv77_80\BP) предназначено для перехода на платформу 1С 8.0 и устаревшую редакцию «Бухгалтерия предприятия 1.0/1.5».ЗначениеНеЗаполнено(), объявленную в глобальном модуле. Начиная с платформы 8.1 и выше, была внедрена системная функция ЗначениеЗаполнено(), а устаревшая функция ЗначениеНеЗаполнено() была полностью удалена из типовых конфигураций (включая «Бухгалтерия предприятия 2.0» и «Бухгалтерия предприятия 3.0»).КурсыВалют, ФизическиеЛица, справочники и регистры сведений) срабатывают правила конвертации, текст обработчиков которых пытается вызвать отсутствующую функцию, что приводит к исключению на строках модуля обработки УниверсальныйОбменДаннымиXML.Рассмотрим правильный подход к получению актуальных файлов обмена без необходимости промежуточного переноса через устаревшие версии конфигураций:
AppData\Roaming\1C\1Cv8\tmplts\1c\Accounting\<НомерРелиза>\Convert (или в папке ExtFiles).ACC77_ACC8.xml или ACC77_ACC30.xml) и внешнюю обработку выгрузки для семерки ACC77_ACC8.ert.ExtForms рабочей базы.Разберем вариант перехода сразу в современную редакцию программы 1С:Бухгалтерия 8 (ред. 3.0) без промежуточной загрузки в редакцию 2.0:
Если требуется использовать уже имеющийся файл правил, исправим синтаксическую ошибку вручную:
ЗначениеНеЗаполнено(НЕ ЗначениеЗаполнено(УниверсальныйОбменДаннымиXML.Если база-приемник доступна для редактирования (снята с поддержки или дорабатывается), можно восстановить обратную совместимость на уровне программного кода конфигурации:
Функция ЗначениеНеЗаполнено(Значение) Экспорт
Возврат НЕ ЗначениеЗаполнено(Значение);
КонецФункции
После сохранения и обновления конфигурации базы данных обработчики правил конвертации смогут успешно выполнять вызов процедуры без ошибок компиляции.
Рассмотрим важные нюансы, которые необходимо учитывать при миграции данных с платформы 7.7 на платформу 8:
COM+ Application (DLLHOST) вызовет ошибку несовместимости библиотек.msxml3.dll. При формировании файлов большого объема может возникнуть переполнение оперативной памяти. Для предотвращения сбоев рекомендуется выгружать данные поэтапно: сначала нормативно-справочную информацию, затем ввод начальных остатков, а затем документы текущего периода.