Переход с «Управления торговлей 10.3» (на обычных формах) на «Управление торговлей 11.4» (на управляемых формах) — это не просто обновление версии, а полноценная смена парадигмы учета. Одной из самых сложных задач является перенос документов за прошлые периоды (например, за последние 3 года). В отличие от типового переноса остатков, перенос документов требует глубокого понимания архитектурных различий систем. Проанализируем основные технические проблемы, с которыми сталкиваются разработчики, и разберем способы их решения.
При переносе или создании документов ПеремещениеТоваров и ПриобретениеТоваровУслуг (аналог ПТиУ в 10.3) часто возникает ошибка: «Поле вариант приемки товаров не заполнено». В 11-й версии архитектура складов стала более гибкой, и это поле определяет, как фактически будет происходить оприходование ТМЦ: одной накладной или раздельно (финансовый документ + складской ордер).
Если в системе настроена ордерная схема или используются определенные типы складов, это поле становится обязательным. Проанализируем ситуацию: в правилах конвертации (КД 2.0 или КД 3.0) необходимо принудительно устанавливать значение этого перечисления. Рассмотрим пример кода, который можно использовать в обработчике «При загрузке» или «Перед записью» для объекта:
// Установка варианта приемки товаров
Объект.ВариантПриемкиТоваров = Перечисления.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным;
// Если требуется настройка из констант системы
Если НЕ ЗначениеЗаполнено(Объект.ВариантПриемкиТоваров) Тогда
Объект.ВариантПриемкиТоваров = Константы.ВариантПриемкиТоваров.Получить();
КонецЕсли;
Важно помнить: если склад помечен как ордерный, значение РазделенаТолькоПоНакладным позволит провести документ без мгновенного создания складских движений по остаткам, ожидая складской ордер.
Разберем одно из самых критичных отличий: в УТ 10.3 связь между табличными частями (например, Товары и Скидки) часто отсутствовала или была реализована через индекс строки. В УТ 11.4 введена система КлючСвязи. Это числовое поле, которое уникально идентифицирует логическую строку во всех связанных табличных частях документа.
Если вы переносите документ со скидками, этапами оплаты или специфическими видами запасов, и не заполняете КлючСвязи, система «потеряет» связь между товаром и его свойствами. Проанализируем алгоритм правильного заполнения:
Товары генерируется уникальное число (обычно по порядку 1, 2, 3...).КлючСвязи в табличных частях СкидкиНаценки, ВидыЗапасов и ЭтапыГрафикаОплаты для соответствующих строк.Без корректных ключей связи документ может записаться, но при проведении выдаст ошибки распределения сумм или налогов.
Выясним причину проблем с ЗаказамиКлиентов. В УТ 10.3 существовал отдельный документ ЗакрытиеЗаказаПокупателя, который делал движения по регистрам, обнуляя остатки по заказам. В УТ 11.4 такого документа нет. Статус «Закрыт» для заказа является производным от состояния его строк.
Рассмотрим, как правильно сконвертировать данные при частичном выполнении заказа:
Отменено.Отменено обязательно должно быть заполнено поле ПричинаОтмены. Это справочник, который нужно предварительно создать или перенести.Если вы переносите историю за 3 года, вам придется программно «дробить» строки в заказах УТ 11.4, если по одной позиции в 10.3 была частичная отгрузка и частичное закрытие остатка. Рассмотрим пример логики:
// Логика разделения строки при частичной отмене
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ИсходнаяСтрока);
НоваяСтрока.Количество = ОстатокПоЗаказуИз103;
НоваяСтрока.Отменено = Истина;
НоваяСтрока.ПричинаОтмены = Справочники.ПричиныОтменыЗаказовКлиентов.НайтиПоНаименованию("Перенос остатков");
В УТ 11.4 реализован механизм «теневого» учета партий через регистр ВидыЗапасов. Это позволяет системе понимать, чей именно товар продается (если организаций несколько) и по какому ГТД. При переносе документов за длительный период это становится главной «головной болью».
Посмотрим на ситуацию с ГТД: в УТ 10.3 номера ГТД часто хранились просто в сериях или справочнике, не имея жесткой связи с организацией. В УТ 11.4 при проведении реализации система пытается сама подобрать ВидыЗапасов. Если вы загружаете документы в хаотичном порядке, остатки по ГТД «разъедутся» с данными старой базы.
Практический совет: При массовой загрузке документов за 3 года рекомендуется:
ОбменДанными.Загрузка = Истина.Проанализируем инструменты для миграции. Типовой «Универсальный формат обмена» (КД 3.0) отлично подходит для синхронизации текущих данных (справочники, текущие остатки). Однако для переноса «тяжелой» истории с документами за несколько лет он может быть избыточно сложным и медленным из-за жестких схем XSD.
Большинство экспертов рекомендуют использовать Конвертацию данных 2.0. Она позволяет:
Статус, ВерсияДанных, КлючСвязи), которых не было в старой версии.Таким образом, для успешного перехода необходимо не просто «перекачать» данные, а фактически пересобрать логику каждого документа, имитируя действия пользователя в новой конфигурации 1С:УТ 11.4.