Метод Записать() в форме документа возвращает ложь не дожидаясь проведения
Приветствую коллеги!
Столкнулся с проблемой. При определенном действии, если документ не проведен, то требуется вывести запрос на проведение. Если пользователь нажимает да, то провести и потом продолжить код. Взял код из типовой конфигурации. Однако столкнулся с тем, что метод Записать() не дожидаясь проведения документа сразу возвращает ложь, и мой код дальше не выполняется. При этом проведение документа все же выполняется уже после того, как Записать() вернул ложь, и через некоторое время по поведению формы видно что документ провелся. Почему так происходит и как побороть? Документ РеализацияТоваровУслуг в УТ 11.5
Столкнулся с проблемой. При определенном действии, если документ не проведен, то требуется вывести запрос на проведение. Если пользователь нажимает да, то провести и потом продолжить код. Взял код из типовой конфигурации. Однако столкнулся с тем, что метод Записать() не дожидаясь проведения документа сразу возвращает ложь, и мой код дальше не выполняется. При этом проведение документа все же выполняется уже после того, как Записать() вернул ложь, и через некоторое время по поведению формы видно что документ провелся. Почему так происходит и как побороть? Документ РеализацияТоваровУслуг в УТ 11.5
&НаКлиенте
Процедура ОплатаНаличными(Команда)
Если Модифицированность Или Не Объект.Проведен Тогда
Ответ = Неопределено;
ПоказатьВопрос(Новый ОписаниеОповещения("ОплатаНаличнымиЗавершение", ЭтотОбъект),
НСтр("ru = 'Необходимо провести документ для выполнения операции. Провести документ?'"), РежимДиалогаВопрос.ДаНет);
Возврат;
КонецЕсли;
ОплатаНаличнымиФрагмент();
КонецПроцедуры
&НаКлиенте
Процедура ОплатаНаличнымиЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Ответ = РезультатВопроса;
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
ДокументПроведен = Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
Если Не ДокументПроведен Тогда
ПоказатьПредупреждение(,"Ошибка при проведении документа",,"Ошибка");
возврат;
КонецЕсли;
ОплатаНаличнымиФрагмент();
КонецПроцедуры
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Разобрался. В обработчике ПередЗаписью устанавливался Отказ=истина и потом запускались отложенные расчет скидок и проведение.
Решил проблему следующим кодом
Решил проблему следующим кодом
НеВыполнятьПроверкуПередЗаписью = Истина;
РассчитатьСкидкиНаценкиКлиент();
РассчитатьИтоговыеПоказатели();
ДокументПроведен = Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот