Имя: Пароль:
1C
1С v8
Запуск приложения из 1С
,
0 10Evgeny1987
 
18.09.14
15:11
У пользователя на форме есть кнопка "Редактировать шаблон Word", он нажимает ее, открывается офисный Word, пока офисный Word открыт, пользователь не может работать в 1С, т.к. стоит ИСТИНА в ЗапуститьПриложение, происходит остановка на строке "ЗапуститьПриложение(.....)" и ждет закрытия WORDa. Все хорошо!!! Но если у пользователя уже открыт WORDовский документ и он нажимает "Редактировать шаблон Word", то 1C запускает еще один WORD и проскакивает "ЗапуститьПриложение(.....)" и пользователь может работать в 1С.
Мне нужно обойти данный баг и сделать, без разницы сколько открыто документов у пользователя, он открывает требуемый вордовский шаблон из 1С и 1С ждет пока не закроется ворд.

Как можно это реализовать???
Может выбрать какойто другой метод реализации???    

ИмяФайлаTemp=КаталогВременныхФайлов()+"temp.doc";
    ДвоичныеДанные = Хранилище.Получить(); //Получаем файл WORD
//Ниже сохраняем файл
    Попытка
        ДвоичныеДанные.Записать(ИмяФайлаTemp);//Пишем WORD во временный каталог
    Исключение
        Предупреждение("Ошибка доступа к файлу!");
    КонецПопытки;
    ЗапуститьПриложение(ИмяФайлаTemp,,истина);//Тут запускаем редактор WORD
    
    ОтветНаВорос=Вопрос("Сохранить отредактированный файл?", РежимДиалогаВопрос.ДаНет);
    Если ОтветНаВорос=КодВозвратаДиалога.Да Тогда
        Попытка
            ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаTemp);
            Хранилище = Новый ХранилищеЗначения(ДвоичныеДанные);
            Предупреждение("Файл успешно сохранен!");
            
        Исключение
            Предупреждение("Ошибка доступа к файлу!");
        КонецПопытки;
    КонецЕсли;
1 КонецЦикла
 
18.09.14
15:13
открытьвордмодально()
2 КонецЦикла
 
18.09.14
15:15
в шаблоне прописать макрос, который будет менять реестр или создавать какой-то сигнальный файл
1с будет смотреть при след. нажатии
... или вообще можно не лезть в ворд, кмк...
3 10Evgeny1987
 
18.09.14
15:17
Нее, для пользователей макросы в водр не катят, там, могут все что угодно загрузить
4 10Evgeny1987
 
18.09.14
15:18
Имею ввиду любой другой документ и он уже будет без макроса
5 КонецЦикла
 
18.09.14
15:18
(4) Тогда какой же это шаблон, это не шаблон батенька
6 10Evgeny1987
 
18.09.14
15:26
Это шаблон договора) их несколько!!! Его могут просто заменить на другой!!!
7 КонецЦикла
 
18.09.14
15:30
Зачем менять, когда можно редактировать?
Нельзя разрешать делать все, иначе наступит хаос
8 10Evgeny1987
 
18.09.14
15:32
Так заложено в компании, что именно данная группа людей может заменить договор
9 Rebelx
 
18.09.14
15:33
(0)
1) Ворд должен открываться из модального окна.
2) Ворд должен открываться путем использования "ПолучитьCOMОбъект"
3) необходимо создать подписку на событие закрытия документа
4) в модальном окне проедусмотреть кнопку "Отменить" - на случай сбоя ворда.
5) пока ворд открыт, открытый им файл удалить не получится.
10 10Evgeny1987
 
18.09.14
15:45
(9) Кстати через COM тоже пробовал, но файл сохраняется во временном каталоге, открывается  и когда пытаюсь его сохранить, предлагает сохранить его на рабочий стол...
Как я понял, он его открывает для чтения, а как открыть его для редактирования???
11 Defender aka LINN
 
18.09.14
15:55
(10) Это ты себе грабли так заботливо раскладываешь? Чтобы пользователь ткнул на "Сохранить", а потом искал, куда же оно сохранилось?
12 10Evgeny1987
 
18.09.14
15:59
Я хотел сделать так: открыли, отредактировали, нажали сохранить, закрыли, файл в 1С загрузился
13 Rebelx
 
18.09.14
16:06
(10) не должно так быть. ищи проблему. может не корректное имя файла, если вообще указано. Попробуй после открытия через ком сразу сохранить програмно.
но не должно быть такого при ПолучитьКомОбъект
14 10Evgeny1987
 
18.09.14
16:09
(13) Ага!!! Посмотрю еще разок тогда!!!