Имя: Пароль:
1C
1С v8
Вернуть реквизит из общей формы при закрытии
0 trialex3
 
26.10.21
15:54
Добрый день. Прошу помощи - есть обработка, которая вызывается по расписанию, открывает общую форму и после того как там отработает код обработка вырубает 1С. Теперь понадобилось, что бы при закрытии формы возвращалось значение в обработку которая эту форму открывает. Но весь код, который запускается в общей форме происходит в процедуре при открытии и если закрывать оттуда форму, то система ругается - нельзя закрыть неоткрытую форму. Как можно вернуть значение?
1 trialex3
 
26.10.21
16:00
Код обработки:
Процедура ПриОткрытии()
    ВремяНач = ТекущаяДата();
    Форма = ПолучитьОбщуюФорму("РасчетМатериалов");
    Форма.Режим = "Автоматически";
    ВсегоПросчитано = Форма.ОткрытьМодально();
    ВремяКон = ТекущаяДата();
    ПодготовитьПисьмоОЗавершенииОтчета(ВремяКон-ВремяНач,ВсегоПросчитано);
    ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры


Код общей формы:

Процедура ПриОткрытии(Отказ)
ЗаполнитьЗначенияНаФормеПоУмолчанию();
Если Режим = "Автоматически" Тогда
ЗаписатьВСправочник(Неопределено);
КонецЕсли;
КонецПроцедуры
2 Greeen
 
26.10.21
16:02
есть обработка, которая вызывается по расписанию
А нельзя это все сделать в обработке, без открытия общей формы?
3 trialex3
 
26.10.21
16:05
(2) весь код был давным давно написан в общей форме и я грубо говоря там лишь на кнопку нажимаю и куча всего делается. Все это переносить в обработку - ну крайнее решение.
4 trialex3
 
26.10.21
16:06
ЗЫ ошибся с кодом. Там форма немодально сейчас открывается. Это остался код от попыток вернуть значение при закрытии.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс