Версия для печати темы (https://pro1c.org.ua/index.php?s=bd907db269cbb5ec423cd4281a40aaea&showtopic=52544)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Проверка на проведенность документа

Автор: Constantus 14.06.19, 13:34

Приветствую, Форумчане!
1с8.3.6, БСП, самопис, УФ

Пытаюсь при проведении документа проверить проведен или нет документ:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    // Вставить содержимое обработчика.
            Сообщить(ЭтотОбъект.Проведен);
    Если ЭтотОбъект.Проведен Тогда
        Сообщить("Документ проведен; распроведите документ для повторной отправки сообщений.");
        Отказ = Истина;
        Возврат;
    КонецЕсли;



Но он всегда выдает, что документ проведен, хотя он явно не проведен (я просто знаю об этом)

Как правильно сделать проверку на проведенность документа?

Смысл: при проведении документа срабатывают отправка СМС, чтобы пользователь при нажатии проведении не отправлял каждый раз СМС "придумал", что проверить: если проведен, то не проводить документ...

Автор: alex1c 14.06.19, 15:04

Используйте процедуру ПриЗаписи()

а в ней режимЗаписи. А еще лучше добавьте реквизит тип булево, и по нему определяйте отправлять или нет.

Автор: Vofka 14.06.19, 15:11

Цитата(Constantus @ 14.06.19, 14:34) *
Но он всегда выдает, что документ проведен, хотя он явно не проведен (я просто знаю об этом)

А зачем проверять в обработке проведения, что документ проведен? Если обработка проведения вызывается, то проверять там, проведен ли документ - смысла нету. Если надо при каждом проведении что-то делать, это можно описать в конце обработки проведения. Но лучше это сделать ПослеЗаписи: там уже нужно проверить проведен ли документ и если да, то выполняем что нужно.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua