Как перенести остатки нереализованных товаров по заказам клиентов при переходе из УТ 10.3 в УТ 11.5?

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

Переход с конфигурации «Управление торговлей 10.3» на «Управление торговлей 11.5» сопряжен с серьезными изменениями в архитектуре учета. Одной из самых острых проблем является перенос заказов клиентов, которые на момент перехода были отгружены лишь частично. Рассмотрим подробно, как правильно организовать этот процесс, чтобы не потерять информацию о недопоставках и не запутаться во взаиморасчетах.

Почему типовой перенос требует внимания?

Проанализируем работу типового механизма переноса данных. При стандартной выгрузке (через обработку Выгрузка данных.epf) заказы покупателей из УТ 10.3 переносятся в УТ 11.5 как документы Заказ клиента. Однако здесь кроется важный нюанс: система зачастую переносит заказы непроведенными и в их полном первоначальном составе, независимо от того, сколько по ним уже было отгружено в старой базе.

Разберем ситуацию: если мы просто проведем такой заказ в новой базе, система посчитает, что нам нужно отгрузить весь объем товара. Это приведет к неверному резервированию и искажению складских остатков. Кроме того, в УТ 11.5 заказ является объектом расчетов. Если одновременно с заказом был перенесен документ Ввод остатков взаиморасчетов, может возникнуть риск двойного отражения долга или разрыва в аналитике.

Шаг 1: Подготовка данных в «УТ 10.3» до перехода

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

  1. Запустим отчет «Анализ заказов покупателей» и выделим только те позиции, по которым реально планируется доотгрузка.
  2. Используем стандартную обработку «Закрытие заказов покупателей» в УТ 10.3. Это позволит очистить регистр Заказы покупателей от неактуальных остатков. Только после этого данные будут готовы к корректной выгрузке.

Шаг 2: Анализ перенесенных данных в «УТ 11.5»

Посмотрим на результат типового переноса. В новой базе мы увидим документ Ввод остатков по взаиморасчетам и список непроведенных документов Заказ клиента.

Важный момент по взаиморасчетам: В УТ 11.5 задолженность фиксируется документом ввода остатков. Если в этом документе в качестве «Объекта расчетов» указан конкретный перенесенный Заказ клиента, то при последующем проведении заказа долг не удвоится. Система свяжет их воедино. Однако, если Ввод остатков сделан в целом по договору, проведение старого заказа создаст новую ветку взаиморасчетов. Рассмотрим, как этого избежать: необходимо следить, чтобы объект расчетов в Ввод остатков совпадал с документом, по которому будет идти отгрузка.

Шаг 3: Корректировка состава заказов на количество недогруза

Если заказы перенеслись с полным составом товаров (включая уже отгруженные в 10.3 позиции), нам нужно привести их к виду «остатков». Ручная правка 500 и более заказов — процесс трудоемкий, поэтому разберем более эффективный алгоритм:

  1. Сформируем в УТ 10.3 отчет по остаткам в разрезе заказов и номенклатуры (регистр Заказы покупателей). Сохраним его в файл Excel.
  2. В УТ 11.5 воспользуемся типовой обработкой «Загрузка данных из табличного документа».
  3. Настроим загрузку в табличную часть Товары существующих документов Заказ клиента. Нам нужно обновить колонку Количество, установив там только остаток, который реально нужно догрузить.

Рассмотрим структуру загрузки через код (концептуально). Нам нужно найти существующий документ и обновить строки:


// Пример логики поиска и обновления строк заказа
ЗаказОбъект = ЗаказСсылка.ПолучитьОбъект();
Для Каждого СтрокаТЧ Из ЗаказОбъект.Товары Цикл
    ОстатокПоОтчету = ПолучитьОстатокИзФайла(ЗаказСсылка, СтрокаТЧ.Номенклатура);
    Если ОстатокПоОтчету = 0 Тогда
        // Если товар полностью отгружен, строку можно удалить или обнулить
        СтрокаТЧ.Количество = 0; 
    Иначе
        СтрокаТЧ.Количество = ОстатокПоОтчету;
    КонецЕсли;
КонецЦикла;
// Удаляем строки с нулевым количеством, если это необходимо
// ЗаказОбъект.Записать(РежимЗаписиДокумента.Проведение);

Шаг 4: Установка статусов и действий в «УТ 11.5»

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

  1. Установить Статус заказа в значение «К выполнению» (если используется функционал статусов).
  2. В табличной части Товары заполнить колонку Действие. Для позиций, которые нужно отгрузить немедленно, выбираем «Отгрузить». Для тех, что нужно просто зарезервировать — «Резервировать на складе».

Без установленного действия Отгрузить документ Реализация товаров и услуг не «увидит» эти товары при попытке заполнения по заказу.

Почему не стоит использовать «Корректировку регистров»?

Часто у разработчиков возникает соблазн просто перенести остатки в регистр накопления Заказы клиентов с помощью документа Корректировка регистров. Выясним причину, почему это плохая практика для УТ 11.5:

В этой конфигурации реализован механизм онлайн-взаиморасчетов и сложная система распределения запасов. Записи в регистры без создания первичных документов (заказов) не будут подхвачены подсистемой планирования. При первой же попытке сделать возврат товара или пересчитать себестоимость, система не сможет найти основание (первичный документ) для движения, что приведет к фатальным ошибкам в отчетах по валовой прибыли и ведомости расчетов.

Итоги и рекомендации

Подведем итог: наиболее безопасным и методологически верным способом является перенос документов Заказ клиента с последующей автоматизированной корректировкой их табличных частей до фактических остатков недогруза.

Основные правила:

← На главную