Как быстро перенести один документ из 1С:Бухгалтерия 3.0 в 1С:Управление торговлей 10.3?

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

В повседневной практике специалистов 1С нередко возникает срочная задача: перенести один-единственный документ с большим объемом данных (например, документ СписаниеТоваров на 600 и более строк) из одной базы в другую. Настройка регулярного обмена или разработка сложных правил конвертации данных ради разовой операции отнимает слишком много времени, а ручной ввод такого количества строк вручную нерационален.

Ситуация осложняется разницей архитектур: конфигурация 1С:Бухгалтерия предприятия 3.0 работает на управляемых формах и Библиотеке стандартных подсистем (БСП), а 1С:Управление торговлей 10.3 — на обычных формах. Простое копирование строк через буфер обмена между табличными частями разных приложений не сработает. Разберем по шагам наиболее быстрые и надежные способы решения этой задачи.

Способ 1. Использование универсальной обработки «Загрузка данных из табличного документа»

Рассмотрим самый быстрый сценарий, не требующий написания программного кода. Он отлично подходит для переноса табличной части документа через промежуточный файл Excel или MXL.

  1. Выгрузка данных из 1С:Бухгалтерия 3.0: Открываем исходный документ списания. В командной панели табличной части «Товары» нажимаем кнопку Еще и выбираем пункт Вывести список.... В появившемся диалоге отмечаем необходимые для сопоставления колонки: Номенклатура (или Код/Артикул) и Количество. Полученный табличный документ сохраняем на диск в формате листа Excel (.xlsx) или табличного документа 1С (.mxl).
  2. Подготовка документа в 1С:Управление торговлей 10.3: Создаем новый документ СписаниеТоваров, заполняем шапку (организацию, склад, статью затрат) и записываем его без проведения.
  3. Загрузка данных в УТ 10.3: Открываем стандартную внешнюю обработку ЗагрузкаДанныхИзТабличногоДокумента.epf. Переключаем режим загрузки в Табличная часть и выбираем наш созданный документ и его табличную часть Товары.
  4. Настройка сопоставления: Загружаем сохраненный табличный документ в обработку. Настраиваем соответствие колонок: для номенклатуры указываем поиск по Коду, Артикулу или Наименованию. Для обязательных реквизитов УТ 10.3 (таких как единица измерения и коэффициент) в настройках обработки можно задать вычисляемые выражения, например, обращение к Номенклатура.ЕдиницаХраненияОстатков. Нажимаем кнопку Загрузить данные.

Способ 2. Быстрый перенос через COM-соединение или внешнюю обработку

Проанализируем ситуацию, когда необходимо программно перенести данные напрямую. Если специалист уверенно владеет встроенным языком 1С, проще всего написать компактный скрипт во внешней обработке или консоли кода. Передачу структуры табличной части можно реализовать через прямое COM-подключение или промежуточный файл формата JSON.

Посмотрим на пример кода, который формирует документ в базе приемнике (УТ 10.3) на основании прочитанных данных:


НовыйДокумент = Документы.СписаниеТоваров.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.Организация = ВыбраннаяОрганизация;
НовыйДокумент.Склад = ВыбранныйСклад;
НовыйДокумент.СтатьяЗатрат = ВыбраннаяСтатья;

Для Каждого Стр Из ТаблицаВыгрузки Цикл
    СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду(Стр.Код);
    Если Не СсылкаНоменклатура.Пустая() Тогда
        НоваяСтрока = НовыйДокумент.Товары.Добавить();
        НоваяСтрока.Номенклатура = СсылкаНоменклатура;
        НоваяСтрока.Количество = Стр.Количество;
        НоваяСтрока.ЕдиницаИзмерения = СсылкаНоменклатура.ЕдиницаХраненияОстатков;
        НоваяСтрока.Коэффициент = 1;
    КонецЕсли;
КонецЦикла;

НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);

Особенности заполнения и проведения документа в УТ 10.3

Выясним причину возможных ошибок при попытке проведения перенесенного документа в конфигурации 1С:Управление торговлей 10.3:

  1. Единицы измерения: В отличие от БП 3.0, где единица номенклатуры является простым реквизитом-ссылкой на классификатор, в УТ 10.3 используется подчиненный справочник ЕдиницыИзмерения. При заполнении табличной части обязательно должны быть указаны ссылки на ЕдиницаХраненияОстатков или БазоваяЕдиницаИзмерения, а также заполнен реквизит Коэффициент.
  2. Статья затрат: В УТ 10.3 реквизит СтатьяЗатрат является обязательным для корректного отражения затрат в управленческом учете.
  3. Контроль остатков партий: Если в базе УТ 10.3 ведется партионный учет и включен запрет списания при отсутствии остатков, документ на 600 строк не проведется при нехватке партий по указанному складу. В этом случае документ следует сначала сохранить в режиме Запись, проверить остатки на складе и устранить расхождения.
← На главную