Имя: Пароль:
1C
1С v8
Как из формы док.программно провести его и закрыть, чтобы не появлялся вопрос измененности
0 Birmingem
 
07.06.19
12:21
Упр.форма документа. Требуется, при нажатии пользователем горячей клавиши, провести документ, распечатать и закрыть.
Сделал так:
&НаКлиенте
Процедура Раз()
    ЗаписатьНаСервере();
    Печать();
    ЭтотОбъект.Закрыть();
КонецПроцедуры

&НаСервере
Процедура ЗаписатьНаСервере() Экспорт
    ДокументОбъект = РеквизитФормыВЗначение("Объект");
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
    ЗначениеВРеквизитФормы(ДокументОбъект,"Объект");
КонецПроцедуры

Но при этом, перед закрытием выдает сообщение "Данные были изменены. Сохранить?"
Как избавиться от этого?

Пробовал:
            ЭтотОбъект.Модифицированность=Ложь;
            ЭтотОбъект.Закрыть();
Но тут другая засада. После закрытия формы, пользователь возвращается в форму списка документа, и там этот документ не появляется пока вручную не обновишь форму.
А без Модифицированность=Ложь, в списке появляется сразу.

Посоветуйте, что делать?
1 singlych
 
07.06.19
12:25
&НаКлиенте
Процедура Раз()
    Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
    Печать();
    Закрыть();
КонецПроцедуры
2 Birmingem
 
07.06.19
12:32
(1)Большое спасибо!
До этого весь инет перерыл с вопросом "как программно провести документ". Везде говорят только через РеквизитФормыВЗначение("Объект").
А оказывается все намного проще :)
3 singlych
 
07.06.19
12:39
(2) В СП много интересного в разделах по расширениям управляемой формы для <...>
4 Cyberhawk
 
07.06.19
12:40
ОповеститьОбИзменении
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший