Имя: Пароль:
1C
1С v8
Поймать закрытие ТабДок
,
0 Alex174
 
28.11.22
07:45
Привет! Как можно, и можно ли, поймать событие закрытия табличного документа?

табдок = новый табличный документ;
табдок.показать()

и вот тут надо как то поймать действие пользователя на закрытие формы табдока. Реально ли?
1 Beduin
 
28.11.22
07:47
Через форму покажи его
2 Мимохожий Однако
 
28.11.22
07:48
Не поймаешь. Может быть, расскажешь конечную цель манипуляций? Бывают и другие реализации
3 Ryzeman
 
28.11.22
07:49
(0) у 1с это предопределённая форма. Можешь поизвращаться и попробовать програмно её вызывать, впихивать в неё обработчики событий и т.п., но куда проще сделать как пишет (1) - просто нарисуй свою форму и показывай в ней свой табдок
4 Alex174
 
28.11.22
07:56
Да не охото форму делать, думал может есть что) А суть что б показать предупреждение пользователю перед закрытием формы.
5 Ryzeman
 
28.11.22
08:04
(4) Тогда на, любись :)
ФормаТабДока = ПолучитьФорму("sysForm:spreadsheetdocumentForm", ПараметрыФормы, ЭтотОбъект);
6 Ryzeman
 
28.11.22
08:05
Параметры имеют вид
        ПараметрыФормы = Новый Структура;
        ПараметрыФормы.Вставить("sheet", ТабличныйДокумент);
        ПараметрыФормы.Вставить("Edit", Ложь);
        ПараметрыФормы.Вставить("ShowGrid", Ложь);
        ПараметрыФормы.Вставить("ShowHeaders", Ложь);
        ПараметрыФормы.Вставить("ReadOnly", Истина);
        ПараметрыФормы.Вставить("Protection", Истина);

Там свойства табличного документа. По-русски тоже прожуёт, думаю.
7 Alex174
 
28.11.22
08:15
(5) Это уже после ТабДок.Показать?
8 Мимохожий Однако
 
28.11.22
08:17
(7) Вместо
9 Галахад
 
гуру
28.11.22
08:20
(5) Будущие поколения будут благодарны за такие вещи. :-)
10 Ryzeman
 
28.11.22
08:32
(9) Ну, это недокументированное использование системной формы. В каком нибудь релизе платформы могут переименовать или вообще ограничить) Сам нашёл на ИС, если мне память не изменяет.
11 Alex174
 
28.11.22
11:04
В общем сделал через форму)Всем спасибо