0
antihacker
06.12.16
✎
08:54
|
Всем привет ! Вот в форуме нашел пример.
&НаКлиенте
Процедура ТЧДокументыДоговораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ИмяФайла = ПолучитьИмяВременногоФайла(Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ИмяФайла);
Doc = СформироватьФайл(Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ИмяФайла, Элементы.ФТЧДокументыДоговора.ТекущиеДанные.РазмерФайла,Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ТипФайла);
Если Doc <> Неопределено Тогда
Doc.Записать(ИмяФайла);
Word = Новый COMОбъект("Word.Application");
Word.Documents.Open(ИмяФайла);
Word.Visible = Истина;
ДобавитьОбработчик Word.DocumentBeforeSave, ПередСохранениемДокументаOffice;
ДобавитьОбработчик Word.DocumentBeforeClose, ПередЗакрытиемДокументаWord2;
ДобавитьОбработчик Word.Quit, ВыходИзWord;
КонецЕсли;
КонецПроцедуры
//Процедуры назначаемые обработчиками
Процедура ПередЗакрытиемДокументаWord2(Документ, Отмена)
сообщить("ПередЗакрытиемДокументаWord2");
Документ.Save();
КонецПроцедуры
Процедура ВыходИзWord()
сообщить("ВыходИзWord");
ШаблонДоговора = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИмяФайла));
КонецПроцедуры
Процедура ПередСохранениемДокументаOffice(Документ, СохранитьКак, Отмена)
сообщить("ПередСохранениемДокументаOffice");
КонецПроцедуры
Но почему то не исполноються процедуры ПередСохранениемДокументаOffice и ПередЗакрытиемДокументаWord2. А ВыходИзWord исполняеться. Не знаю может имполняеться, но по крайней мере не вижу резульата оператора сообщить();
|
|
2
Cool_Profi
06.12.16
✎
09:34
|
Если Doc <> Неопределено Тогда
Doc.Записать(ИмяФайла);
Word = Новый COMОбъект("Word.Application");
Word.Documents.Open(ИмяФайла);
Word.Visible = Истина;
ДобавитьОбработчик Word.DocumentBeforeSave, ПередСохранениемДокументаOffice;
ДобавитьОбработчик Word.DocumentBeforeClose, ПередЗакрытиемДокументаWord2;
ДобавитьОбработчик Word.Quit, ВыходИзWord;
КонецЕсли;
Это в 1с дословно написано? И при исполнении не выдаёт ошибок?
|
|