Перенос данных между конфигурациями семейства «1С:Предприятие» — это всегда ответственный и технически сложный процесс. Одним из наиболее частых сценариев является миграция данных из программы «1С:Бухгалтерия предприятия» (БП) редакции 3.0 в более комплексное решение, такое как «1С:Комплексная автоматизация» (КА) редакции 2.4 или 2.5. Для реализации этого перехода разработчики предоставляют специализированные правила конвертации данных (обычно файл ConvAcc3_0.xml) и внешнюю обработку выгрузки (ВыгрузкаДанныхИзБП30.epf).
Однако в процессе запуска выгрузки пользователи и администраторы часто сталкиваются с неприятной системной ошибкой инициализации. В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем её технические причины и рассмотрим два практических способа решения проблемы, включая самостоятельное исправление кода обработки в режиме «Конфигуратор».
Рассмотрим подробнее текст ошибки, который появляется на экране при попытке настроить параметры выгрузки в исходной базе БП 3.0:
Ошибка инициализации данных обработки. Метод объекта не обнаружен (СтрокаИзМассиваПодстрок) {ВнешняяОбработка.ВыгрузкаДанныхИзБП30.МодульОбъекта(200)}: СтрокаДерева.Конфигурации = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(МассивКонфигураций);
Эта ошибка носит исключительно технический характер. Давайте проанализируем, почему она происходит. Все современные конфигурации 1С (включая БП 3.0 и КА 2.4) разрабатываются на базе Библиотеки стандартных подсистем (БСП). БСП постоянно обновляется и совершенствуется разработчиками «1С».
В старых версиях БСП в общем модуле СтроковыеФункцииКлиентСервер существовала функция СтрокаИзМассиваПодстрок, которая использовалась для объединения элементов массива в одну строку с определенным разделителем. Начиная с версии платформы «1С:Предприятие 8.3.6», разработчики платформы добавили встроенную быструю функцию СтрСоединить, выполняющую ту же самую задачу, но работающую значительно быстрее на уровне самой платформы.
В связи с этим устаревшая функция СтрокаИзМассиваПодстрок в БСП была сначала объявлена нерекомендуемой, а затем, в последующих релизах конфигураций, полностью удалена из общего модуля. Таким образом, если вы пытаетесь запустить устаревшую версию внешней обработки ВыгрузкаДанныхИзБП30.epf в новой, обновленной базе «1С:Бухгалтерия 3.0», система обращается к функции общего модуля, которой физически больше нет в конфигурации. Итогом становится аварийное завершение работы обработки.
Если у вас нет возможности оперативно получить обновленную версию обработки от поддержки или скачать свежий дистрибутив, мы можем легко исправить эту ошибку самостоятельно. Для этого нам понадобятся базовые навыки работы в режиме «Конфигуратор».
Разберем по шагам процесс исправления кода внешней обработки:
ВыгрузкаДанныхИзБП30.epf, который выдает ошибку.СтрокаИзМассиваПодстрок. Также вы можете сразу перейти на строку 200 модуля объекта.
// Исходный фрагмент кода:
СтрокаДерева.Конфигурации = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(МассивКонфигураций);
Проанализируем эту строку. Здесь обработка пытается склеить массив конфигураций в одну строку через запятую, вызывая отсутствующий метод. Мы заменим этот вызов на стандартную и быструю функцию платформы СтрСоединить.
// Исправленный вариант кода:
СтрокаДерева.Конфигурации = СтрСоединить(МассивКонфигураций, ", ");
В данном случае функция СтрСоединить принимает первым параметром наш массив МассивКонфигураций, а вторым параметром — разделитель (строку с запятой и пробелом), который будет вставлен между элементами массива при объединении.
ВыгрузкаДанныхИзБП30.epf через меню «Дополнительные отчеты и обработки» или «Файл» -> «Открыть». Ошибка инициализации должна исчезнуть, и вы сможете продолжить настройку параметров переноса данных.Самым правильным и надежным способом решения проблем совместимости является использование актуальных версий правил конвертации и обработок выгрузки. Фирма «1С» обновляет эти файлы синхронно с выпуском новых релизов «Комплексной автоматизации» и «Бухгалтерии предприятия».
Проблема часто осложняется тем, что база-приемник (КА 2.4) может находиться в облаке (например, в сервисе 1С:Fresh или у другого облачного провайдера), где действуют жесткие ограничения на установку локальных шаблонов конфигураций из дистрибутивов. Тем не менее, получить актуальные файлы переноса можно несколькими путями:
Вариант А: Скачивание дистрибутива конфигурации-приемника через Портал 1С
Даже если ваша база «1С:Комплексная автоматизация» развернута в облачном сервисе, у вашей организации, как у лицензионного пользователя с активной подпиской ИТС (КП), есть доступ к официальному разделу обновлений программ на Портале 1С.
C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1cv8\tmplts\1c\aor\[Номер_Релиза]\).ConvAcc3_0.xml (правила конвертации) и ВыгрузкаДанныхИзБП30.epf (обработка выгрузки). Скопируйте их и используйте для переноса.Вариант Б: Обращение в техническую поддержку облачного сервиса
Если у вас нет прав на скачивание полных дистрибутивов или вы не хотите заниматься установкой шаблонов локально, вы всегда можете обратиться к администраторам вашего облачного сервиса (например, в службу поддержки 1С:Fresh). Специалисты поддержки имеют прямой доступ к серверам шаблонов и могут оперативно выслать вам актуальный комплект файлов для переноса данных между БП 3.0 и нужным релизом КА 2.4.
Вариант В: Использование встроенных помощников перехода
Во многих современных конфигурациях реализован бесшовный переход между программами. Загляните в раздел Администрирование -> Начальное заполнение (или воспользуйтесь поиском функций по ключевому слову «Переход»). В некоторых случаях система сама способна скачать необходимые актуальные правила и обработки непосредственно с серверов обновлений 1С без ручного вмешательства пользователя.
Мы детально разобрали техническую природу ошибки «Метод объекта не обнаружен (СтрокаИзМассиваПодстрок)», выяснили её связь с развитием БСП и переходом на современные методы платформы СтрСоединить. Теперь вы вооружены знаниями, которые позволят вам быстро решить данную проблему как путем быстрого изменения программного кода обработки в Конфигураторе, так и путем получения гарантированно рабочих и актуальных дистрибутивных файлов из папки шаблонов 1С.