Как перенести данные из Торговли и Склада 9.2 в Бухгалтерию предприятия 3.0 и исправить ошибку загрузки

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

Перенос данных из устаревших систем на платформе 1С:Предприятие 7.7 в современные конфигурации на 8.3 — это задача, требующая не только знания обеих платформ, но и понимания механизмов универсального обмена данными. Рассмотрим подробно процесс выгрузки из Торговля и Склад 9.2 (ТиС) и загрузки в Бухгалтерия предприятия 3.0 (БП), а также разберем, как бороться с типичными ошибками программного кода в правилах обмена.

Где найти актуальные правила переноса данных

Прежде всего, нам необходимо определиться с инструментарием. Для типового переноса используются файлы правил обмена в формате XML и внешние обработки. Проанализируем, где они обычно располагаются:

  1. В каталоге конфигурации ТиС 7.7: Перейдем в папку с установленной базой 7.7, далее в подкаталог ExtForms. Здесь нас интересуют файлы:
    • ExpT_Acc.ert — внешняя обработка, которая осуществляет выгрузку данных.
    • Acc77_30.xml (название может варьироваться в зависимости от релиза) — файл правил, содержащий описание маппинга объектов 7.7 на объекты 8.3.
  2. В каталоге шаблонов БП 3.0: Это наиболее надежный источник актуальных правил. Нам нужно найти папку шаблонов (обычно это %AppData%\Roaming\1C\1cv8\tmplts\1c\Accounting\[Номер_релиза]). Внутри этой папки ищем подкаталог Convert, где разработчики 1С часто размещают свежие правила для перехода с версии 7.7.

Важный нюанс: Если ваша конфигурация ТиС 9.2 сильно кастомизирована, типовые правила могут не подойти. В этом случае их придется дорабатывать в конфигурации Конвертация данных 2.1.

Разбор ошибки: Поле объекта не обнаружено (КомиссияПоСтрокамТабличнойЧасти)

Рассмотрим ситуацию, когда при попытке загрузки данных в БП 3.0 через обработку Универсальный обмен данными XML возникает критический сбой. Текст ошибки выглядит следующим образом:


Ошибка в обработчике события ПередЗагрузкойДанных (конвертация)
ОписаниеОшибки = Поле объекта не обнаружено (КомиссияПоСтрокамТабличнойЧасти)
ПозицияМодуля = {(1)}:Параметры.КомиссияПоСтрокамТабличнойЧасти = Новый Соответствие;

Проанализируем причину. Эта ошибка возникает в момент инициализации параметров обмена. В коде правил (в обработчике «Перед загрузкой данных») прописана попытка обращения к ключу структуры Параметры, который либо не был объявлен в правилах, либо текущая версия обработки загрузки не поддерживает динамическое создание таких свойств. Выясним, как это исправить.

Метод 1: Использование встроенной обработки загрузки

Посмотрим, какой именно обработкой мы пользуемся. Часто пользователи пытаются загрузить данные через старые версии обработки УниверсальныйОбменДаннымиXML.epf. Вместо этого рекомендуется использовать ту версию, которая встроена непосредственно в ваш релиз Бухгалтерия предприятия 3.0.

Чтобы ее найти, выполним следующие шаги:

  1. Откроем БП 3.0 и перейдем в меню «Функции для технического специалиста» (ранее «Все функции»).
  2. В разделе «Обработки» найдем Универсальный обмен данными в формате XML.
  3. Попробуем выполнить загрузку файла через эту форму. Встроенные обработки лучше адаптированы под текущую структуру метаданных платформы 8.3.

Метод 2: Редактирование правил в Конвертации данных 2.1

Если смена обработки не помогла, нам придется внести изменения в сами правила обмена. Разберем этот процесс по шагам:

  1. Загрузим файл правил Acc77_30.xml в базу Конвертация данных 2.1.
  2. Перейдем на вкладку «Параметры». Проверим, существует ли там параметр с именем КомиссияПоСтрокамТабличнойЧасти. Если его нет — создадим его.
  3. Установим у этого параметра флаг «Использовать при загрузке».
  4. Найдем в глобальных обработчиках событие «Перед загрузкой данных». Рассмотрим код, который там написан. Если мы видим строку: Параметры.КомиссияПоСтрокамТабличнойЧасти = Новый Соответствие; а комиссионная торговля в вашем учете не используется, этот блок кода можно временно закомментировать.
  5. Сохраним правила и выгрузим их в новый XML-файл.

Подготовка данных в ТиС 7.7 перед выгрузкой

Чтобы процесс переноса прошел гладко, проанализируем состояние исходной базы. Выясним важные технические моменты:

Актуальность платформы: Убедимся, что используется платформа 1С 7.7 релиза 027. Более старые движки могут некорректно отрабатывать сложные скрипты в обработках выгрузки.

Последовательность выгрузки: Мы рекомендуем разделять процесс на три этапа:

Особенности работы с маркировкой и подакцизными товарами

Современная Бухгалтерия предприятия 3.0 предъявляет жесткие требования к заполнению реквизитов для маркируемых товаров (Честный Знак, ЕГАИС). В старой ТиС 9.2 многих этих реквизитов просто не существовало. Посмотрим, к чему это приведет:

Документы (например, РеализацияТоваровУслуг) могут загрузиться в статусе «Не проведен». При попытке ручного проведения система выдаст ошибки о незаполненных обязательных полях (например, вид номенклатуры или код ТН ВЭД). В таком случае после загрузки потребуется запустить групповую обработку справочника Номенклатура в БП 3.0, чтобы массово проставить нужные категории и настройки учета.

Рекомендации по очистке кэша

Иногда, даже после исправления правил, ошибка «Поле объекта не обнаружено» продолжает преследовать нас. Это может быть связано с кэшированием структуры метаданных или самих правил в сеансе 1С. Выполним следующие действия:

  1. Полностью закроем программу 1С:Бухгалтерия.
  2. Очистим временные файлы (кэш) пользователя.
  3. При загрузке в обработке Универсальный обмен данными XML на закладке «Дополнительные настройки» установим флаг «Режим отладки обработчиков загрузки» — это позволит получить более детальный отчет, если что-то пойдет не так.

Подводя итог, можно сказать, что перенос из 7.7 в 8.3 — это не просто нажатие одной кнопки, а полноценный проект по миграции данных. Системный подход к поиску актуальных правил и готовность к минимальной правке кода в Конвертации данных гарантируют успешный результат.

← На главную