Почему в 1С:Управление торговлей 11.5 при редактировании реализации пропадают товары и сбиваются сроки оплаты?

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

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

Разберем причину очистки табличной части при смене реквизитов «шапки»

Одной из самых раздражающих особенностей для новых пользователей становится автоматическая очистка списка товаров при изменении Клиента или Соглашения. Это не является ошибкой программного кода, а представляет собой заложенный алгоритм проверки данных. Проанализируем, почему так происходит:

  1. Влияние функциональной опции «Номенклатура партнеров». В 1С:УТ 11.5 существует возможность вести учет товаров в разрезе наименований, принятых у конкретного клиента. Если в настройках системы включена опция ИспользоватьНоменклатуруПартнеров, то при выборе клиента система инициирует поиск соответствий. Если сопоставление не найдено или происходит конфликт данных, строки могут быть удалены. Попробуем отключить эту опцию, если она не используется в бизнес-процессах.
  2. Пересчет цен по Соглашению. Соглашение в УТ 11.5 — это ключевой объект, определяющий валюту, вид цен, налогообложение и условия оплаты. При его изменении система обязана пересчитать цены во всем документе. Логика типового решения часто реализована таким образом, что для гарантированной корректности цен ТЧ Товары инициализируется заново.
  3. Сегментация номенклатуры. Если в Соглашении указан конкретный сегмент номенклатуры, к которому ограничен доступ, то при выборе такого соглашения все товары, не входящие в этот сегмент, будут удалены из документа автоматически.

Выясним причину проблем с датой и графиком оплаты

Пользователи часто сталкиваются с тем, что срок оплаты в реализации устанавливается равным дате документа, игнорируя настройки Соглашения (например, «30 дней с момента отгрузки»). Рассмотрим, на что стоит обратить внимание:

Во-первых, проверим заполнение Графика оплаты в самом Соглашении. Если в соглашении указано текстовое условие, но не выбран конкретный объект справочника ГрафикиОплаты, система не сможет программно рассчитать дату и подставит значение по умолчанию — текущую дату.

Во-вторых, обратим внимание на Статус документа. В ERP-системах (к которым относится и УТ 11.5) окончательное формирование движений по регистрам расчетов и установка дат платежа часто происходят только при переходе документа в финальные статусы, такие как Реализовано. В статусе черновика или подготовки расчеты могут отображаться упрощенно.

Проанализируем связь Реализации с Заказом клиента

При переносе данных из других систем (синхронизации) часто нарушается целостность связей. Типичный симптом — появление надписи «Строк сверх заказа» или исчезновение вкладки Доставка. Разберем механику этого процесса:

В 1С:УТ 11.5 связь между Заказом и Реализацией осуществляется не только через реквизит в шапке, но и через каждую строку табличной части. Для этого используются скрытые служебные реквизиты, такие как КлючСвязи.

Если при программном создании документа (через обмен) в строках ТЧ Товары не был заполнен реквизит ЗаказКлиента, система считает, что эти товары отгружаются «мимо» заказа. Именно поэтому появляется иконка предупреждения, а вкладка Доставка может вести себя непредсказуемо, так как настройки доставки в реализации должны наследоваться из конкретного заказа, связь с которым в строках потеряна.

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

  1. Установим флаг РеализацияПоНесколькимЗаказам (даже если заказ один).
  2. В табличной части Товары найдем колонку Заказ клиента (где весьма удобно выводить текущий остаток) и перевыберем его для каждой строки.
  3. Используем стандартную кнопку Заполнить -> Подобрать из заказов. Это позволит системе корректно сопоставить остатки по регистрам ЗаказыКлиентов и своевременно выявить расхождения товаров.

Технические ошибки и программные сбои (ГосИС)

Иногда при манипуляциях с документом возникает ошибка: Поле объекта не обнаружено (ДанныеШтрихкодовУпаковокГосИС). Это известная проблема некоторых релизов ветки 11.5, связанная с работой модулей маркировки («Честный Знак» и проверкой кодов в ИС МП).

Проанализируем ситуацию: при обновлении формы документа (смена клиента или пересчет ТЧ) система пытается инициализировать кэш штрихкодов для проверки маркируемой продукции. Если в базе включены интеграции с государственными информационными системами (ИС МП, ЕГАИС), процедура ЗаполнитьКешШтрихкодовУпаковок может обращаться к реквизитам формы, которые еще не созданы или были удалены при кастомизации формы. В этом случае поможет только установка официальных патчей от фирмы «1С» или обновление конфигурации до актуального минорного релиза.

Практические рекомендации по «оживлению» документов после переноса

Если вы обнаружили, что документы после синхронизации ведут себя странно, выполните следующие действия:

Проанализируем программный код или настройки обмена. При создании документа РеализацияТоваровУслуг программным путем крайне важно вызывать процедуру инициализации параметров. Посмотрим на пример упрощенной логики заполнения:


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

Если вы корректируете документы вручную:

  1. Сначала проверьте, заполнено ли Соглашение. Именно оно диктует логику поведения цен и расчетов.
  2. При изменении Клиента будьте готовы к тому, что ТЧ очистится. Чтобы этого избежать, сначала сохраните список товаров в буфер (например, через «Копировать строки» с помощью дополнительных кнопок), смените клиента, а затем вставьте строки обратно и воспользуйтесь командой Заполнить -> Пересчитать цены по виду цен.
  3. Всегда проверяйте статус документа. Многие механизмы контроля и автоматического заполнения включаются только в статусе К отгрузке или Реализовано.

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

← На главную