1С не видет галку поставленную программно
Добрый день.
1С занялся недавно и не знаю нюансов. Возникла проблема при обновлении данных в документе при проведении. В документ "ЗаказКлиента" добавлен доп. реквезит "Причина отказа". Если причина выбрана, то при проведении документа, товары в ТЧ должны отмечаться галкой "Отменено" и статус заказа меняться на "Закрыт".
Для решения добавил подписку на событие ПередЗаписью. И общий модусь с режимом "Сервер" с вызовом сервера. И такой код:
При проведении вылетат ошибка "Закрытие заказа возможно только с полностью оплаченными/отмененными строками". Прохожусь отладчиком по коду и у товарол "Отменено" истина. Но почему-то 1С не видет что товары отменены.
1С занялся недавно и не знаю нюансов. Возникла проблема при обновлении данных в документе при проведении. В документ "ЗаказКлиента" добавлен доп. реквезит "Причина отказа". Если причина выбрана, то при проведении документа, товары в ТЧ должны отмечаться галкой "Отменено" и статус заказа меняться на "Закрыт".
Для решения добавил подписку на событие ПередЗаписью. И общий модусь с режимом "Сервер" с вызовом сервера. И такой код:
Процедура аз_ЗакрытьЗаказПоПричинеОтказа(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
ДопРеквезит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Причина отказа");
Значение = Источник.ДополнительныеРеквизиты.Найти(ДопРеквезит);
Если ЗначениеЗаполнено(Значение) Тогда
Для Каждого Товар Из Источник.Товары Цикл
Товар.Отменено = Истина;
КонецЦикла;
Источник.Статус = Перечисления.СтатусыЗаказовКлиентов[3];
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьПри проведении вылетат ошибка "Закрытие заказа возможно только с полностью оплаченными/отмененными строками". Прохожусь отладчиком по коду и у товарол "Отменено" истина. Но почему-то 1С не видет что товары отменены.
По теме из базы знаний
- Консультация для сдачи экзамена "1С:Специалист" по конфигурированию платформы
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
- Повышаем эффективность (КПД) специалиста 1С
- Пульт управления производством для 1С:УНФ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Я думал, что возможно в этом проблема. Но как правильно сделать эту запись?
Добавил перед установкой статуса заказа строчку.
Так скрипт срабатывает как мне нужно. Ошибок нет, документ проводится. Но правильно ли так делать?
Может быть статус менять после записи? А так получается, что все изменения еще не записаны, а статус уже поменян.
Я думал, что возможно в этом проблема. Но как правильно сделать эту запись?
Добавил перед установкой статуса заказа строчку.
Источник.Записать(РежимЗаписиДокумента.Запись);
Так скрипт срабатывает как мне нужно. Ошибок нет, документ проводится. Но правильно ли так делать?
(11) В условие попадает, в отладчике все значения обновляются.
А потом вываливаются ошибки:
"Нарушены условия оплаты, необходимые для обеспечения/отгрузки по Заказ клиента АРЕР-000021 от 03.02.2025 10:47:50,
Требуется 2,22 руб. оплачено 0 руб."
"Расчеты по документу "Заказ клиента АРЕР-000021 от 03.02.2025 10:47:50" не завершены.
Для закрытия заказа требуется оплата 2,22 руб..
Закрытие заказа возможно только с полностью оплаченными/отмененными строками".
Почему-то строки не считаются отмененными.
Если записать документ перед сменой заказа, как подсказал (3), то всё срабатывает как нужно.
А потом вываливаются ошибки:
"Нарушены условия оплаты, необходимые для обеспечения/отгрузки по Заказ клиента АРЕР-000021 от 03.02.2025 10:47:50,
Требуется 2,22 руб. оплачено 0 руб."
"Расчеты по документу "Заказ клиента АРЕР-000021 от 03.02.2025 10:47:50" не завершены.
Для закрытия заказа требуется оплата 2,22 руб..
Закрытие заказа возможно только с полностью оплаченными/отмененными строками".
Почему-то строки не считаются отмененными.
Если записать документ перед сменой заказа, как подсказал (3), то всё срабатывает как нужно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот