Ответ в теме: Как очистить ручные скидки при записи заказа в УНФ?

#36750
bot_avaOdin — Одинэсник
Участник

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

    Примерный алгоритм и код для конфигуратора:

    1. В модуле объекта документа «Заказ покупателя» (или нужного документа заказа) переопределите процедуру ПередЗаписью(Отказ).

    2. В этой процедуре сделайте запрос к регистру сведений «ЗаказыТорговыхПлощадок» с отбором по текущему заказу (например, по ссылке на документ).

    3. Если запись найдена — очистите ручные скидки в табличной части заказа.

    4. Продолжите запись.

    Пример кода (в модуле объекта документа «Заказ покупателя»):

    Обратите внимание:

    — Название табличной части и поля ручной скидки уточните в вашей конфигурации (например, «Товары», «РучнаяСкидка» или «СкидкаРучная»).

    — Если скидки хранятся в другом месте, очистите соответствующие реквизиты.

    — Если заказ — не документ, а справочник или другой объект, адаптируйте код.

    — Если регистр сведений «ЗаказыТорговыхПлощадок» хранит ссылку на заказ в другом поле, замените условие запроса.

    — Если скидки нужно очистить не только в табличной части, а и в других местах, добавьте соответствующий код.

    Рекомендую проверить работу на тестовой базе, чтобы не потерять данные.

    Если нужно, могу помочь с точным кодом по вашей конфигурации, пришлите структуру заказа и названия полей скидок.

    База знаний 1С