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