Переход с одной конфигурации на другую, например, с 1С:УНФ на 1С:УТ 11.5, часто сопровождается трудностями в понимании внутренней логики документов. В «Управлении торговлей» версии 11.5 механизмы заполнения объектов значительно сложнее, чем в более простых решениях. Рассмотрим подробнее, почему возникают ситуации с очисткой табличных частей, потерей связей с заказами и некорректным расчетом дат оплаты.
Одной из самых раздражающих особенностей для новых пользователей становится автоматическая очистка списка товаров при изменении Клиента или Соглашения. Это не является ошибкой программного кода, а представляет собой заложенный алгоритм проверки данных. Проанализируем, почему так происходит:
ИспользоватьНоменклатуруПартнеров, то при выборе клиента система инициирует поиск соответствий. Если сопоставление не найдено или происходит конфликт данных, строки могут быть удалены. Попробуем отключить эту опцию, если она не используется в бизнес-процессах.Соглашение в УТ 11.5 — это ключевой объект, определяющий валюту, вид цен, налогообложение и условия оплаты. При его изменении система обязана пересчитать цены во всем документе. Логика типового решения часто реализована таким образом, что для гарантированной корректности цен ТЧ Товары инициализируется заново.Соглашении указан конкретный сегмент номенклатуры, к которому ограничен доступ, то при выборе такого соглашения все товары, не входящие в этот сегмент, будут удалены из документа автоматически.Пользователи часто сталкиваются с тем, что срок оплаты в реализации устанавливается равным дате документа, игнорируя настройки Соглашения (например, «30 дней с момента отгрузки»). Рассмотрим, на что стоит обратить внимание:
Во-первых, проверим заполнение Графика оплаты в самом Соглашении. Если в соглашении указано текстовое условие, но не выбран конкретный объект справочника ГрафикиОплаты, система не сможет программно рассчитать дату и подставит значение по умолчанию — текущую дату.
Во-вторых, обратим внимание на Статус документа. В ERP-системах (к которым относится и УТ 11.5) окончательное формирование движений по регистрам расчетов и установка дат платежа часто происходят только при переходе документа в финальные статусы, такие как Реализовано. В статусе черновика или подготовки расчеты могут отображаться упрощенно.
При переносе данных из других систем (синхронизации) часто нарушается целостность связей. Типичный симптом — появление надписи «Строк сверх заказа» или исчезновение вкладки Доставка. Разберем механику этого процесса:
В 1С:УТ 11.5 связь между Заказом и Реализацией осуществляется не только через реквизит в шапке, но и через каждую строку табличной части. Для этого используются скрытые служебные реквизиты, такие как КлючСвязи.
Если при программном создании документа (через обмен) в строках ТЧ Товары не был заполнен реквизит ЗаказКлиента, система считает, что эти товары отгружаются «мимо» заказа. Именно поэтому появляется иконка предупреждения, а вкладка Доставка может вести себя непредсказуемо, так как настройки доставки в реализации должны наследоваться из конкретного заказа, связь с которым в строках потеряна.
Чтобы исправить это вручную, попробуем следующий алгоритм:
РеализацияПоНесколькимЗаказам (даже если заказ один).Товары найдем колонку Заказ клиента (где весьма удобно выводить текущий остаток) и перевыберем его для каждой строки.ЗаказыКлиентов и своевременно выявить расхождения товаров.Иногда при манипуляциях с документом возникает ошибка: Поле объекта не обнаружено (ДанныеШтрихкодовУпаковокГосИС). Это известная проблема некоторых релизов ветки 11.5, связанная с работой модулей маркировки («Честный Знак» и проверкой кодов в ИС МП).
Проанализируем ситуацию: при обновлении формы документа (смена клиента или пересчет ТЧ) система пытается инициализировать кэш штрихкодов для проверки маркируемой продукции. Если в базе включены интеграции с государственными информационными системами (ИС МП, ЕГАИС), процедура ЗаполнитьКешШтрихкодовУпаковок может обращаться к реквизитам формы, которые еще не созданы или были удалены при кастомизации формы. В этом случае поможет только установка официальных патчей от фирмы «1С» или обновление конфигурации до актуального минорного релиза.
Если вы обнаружили, что документы после синхронизации ведут себя странно, выполните следующие действия:
Проанализируем программный код или настройки обмена. При создании документа РеализацияТоваровУслуг программным путем крайне важно вызывать процедуру инициализации параметров. Посмотрим на пример упрощенной логики заполнения:
// Пример логики, которую важно соблюдать при программном заполнении
ДокументОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокументОбъект.Заполнить(ДанныеЗаказа); // Важно вызвать стандартную обработку заполнения
// После заполнения шапки необходимо проинициализировать связи ТЧ
ОбработкаТабличныхЧастейКлиентСервер.ЗаполнитьКлючиСвязи(ДокументОбъект.Товары);
Если вы корректируете документы вручную:
К отгрузке или Реализовано.Таким образом, логика УТ 11.5 направлена на обеспечение максимальной жесткости связей между условиями продажи (соглашениями), резервами (заказами) и фактической отгрузкой. Понимание этих взаимосвязей позволит вам избежать «непредвиденных ошибок» при работе с документами.