Имя: Пароль:
1C
 
Вордовский док (шаблон в актив документ) не открывается из 1С. Как быть?
0 temsa
 
16.04.15
11:02
Создал внешний отчет в нем реализвал это:

&НаСервере
Процедура ПечатьНаСервере()
    
    Попытка
        АктивныйДокумент = ВнешниеОтчеты.Создать("ТД").ПолучитьМакет("Договор");
    Исключение    
        АктивныйДокумент = Отчеты.ТД.ПолучитьМакет("Договор");
    КонецПопытки;
    MSWord = АктивныйДокумент.Получить();
    Попытка
         Договор = MSWord.Application.Documents(1);
         Договор.Activate();
         Замена = Договор.Content.Find;
         Замена.Execute("<Data>", Ложь, Истина, Ложь, , , Истина, , Ложь, """"+Отчет.ДатаДоговора+"""");
         Замена.Execute("<org>", Ложь, Истина, Ложь, , , Истина, , Ложь, """"+Отчет.Организация+"""");
    .............  
         MSWord.Application.Visible = Истина;
         MSWord.Activate();
     Исключение
         Сообщить(ОписаниеОшибки());
         MSWord.Application.Quit();
     КонецПопытки;

КонецПроцедуры



Вы итоге отлачиком все нормально видел работает. Но я не вижу сформиорованый вордовский документ. Где искать ее????
1 Любопытная
 
16.04.15
11:03
А база поди клиент-серверная?
2 1976vas
 
16.04.15
11:03
(0) В свернутом значке на панели задач?
3 temsa
 
16.04.15
11:06
(1) да.
(2) Нифига нет. Даже в диспетчере задач глнянул. там я вижк только процесс и все.
4 Любопытная
 
16.04.15
11:07
(3) ну и ворд ты открываешь НаСервере...
5 temsa
 
16.04.15
11:14
(4) Я сомневался но увиденный видеоурок снял сомнения.
И как я должен открывать документ??
6 Cube
 
16.04.15
11:16
(3) "да"
Вроде не пятница))))

(5) "И как я должен открывать документ??"
&НаКлиенте...
7 temsa
 
16.04.15
11:25
(6) а почему тут у товарища работает от сервера?

не в качестве рекламы:
https://www.youtube.com/watch?v=uoYWOYVo5P8
8 temsa
 
16.04.15
11:27
+(7) 14 минута 17 секунда
9 Любопытная
 
16.04.15
11:35
У вас печатная форма для типовой конфы? В типовых вордовские макеты теперь можно методами конфы делать, оч хорошо на клиенте все делается.
10 Любопытная
 
16.04.15
11:37
(7)  У чувака может база файловая. Ну или просто клиент и сервер - одна и та же машина
11 temsa
 
16.04.15
11:38
(9) Конфа самопска на 8.3. пытаюсь трудовой договор сотра сс компанией прикрутить к самописке с возможностью подставлять данные о сотруднике и о фирме.
12 Любопытная
 
16.04.15
11:39
(11) Ну тогда всё так, но НаКлиенте
13 temsa
 
16.04.15
11:46
(12) Перекинул все на клиент

теперь ошибка  на

АктивныйДокумент = РеквизитФормыВзначение("Отчет").ПолучитьМакет("Договор");



{Форма.ФормаОтчета.Форма(42)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
    АктивныйДокумент = РеквизитФормыВзначение("Отчет").ПолучитьМакет("Договор");
по причине:
Метод недоступен на клиенте
14 Cube
 
16.04.15
12:25
(13) Прикольно да? Управляемый интерфейс заставит тебя думать, даже не сомневайся. Тупые копипасты тут не проканывают :)
15 temsa
 
16.04.15
12:28
(14) Я понимаю что надо действия на клиенте и на сервере надо разбивать. Неужели мне надо через хранилище это реализовать?
16 temsa
 
16.04.15
12:59
Продвинулся.
Записал

Договор.SaveAs(ВремФайл);
         Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВремФайл));


Далее на клиенте прочитал

Договор = ПолучитьИзВременногоХранилища(Адрес);


И как теперь быть?
17 Cube
 
16.04.15
13:01
18 temsa
 
20.04.15
11:43
Преодолел некоторые трудности и реалиозвал  отчет с выводом из актив-документ с подстановкой данных шаблону.

Но! У меня локально работает нормально. Причем у меня локально клиент-серверно все работает.
А вот на сервере  выходит не понятная ошибка.
Причем я на том сервере я сижу терминально.
Также по сети кадровик не может сформировать у нее тонкий клиент.

Как быть? Тут искал причину пишут что проблема доступа от пользователя от имени которого запущен сервер 1С.
19 temsa
 
20.04.15
11:45
Вот как было решено:

&НаСервере
Процедура ПечатьНаСервере(Адрес)

    Попытка
        АктивныйДокумент = ВнешниеОтчеты.Создать("ТД").ПолучитьМакет("Договор");
    Исключение    
        АктивныйДокумент = Отчеты.ТД.ПолучитьМакет("Договор");
    КонецПопытки;
    MSWord = АктивныйДокумент.Получить();
    ВремФайл = ПолучитьИмяВременногоФайла("doc");
    УдалитьФайлы(ВремФайл);
    Попытка
         Договор = MSWord.Application.Documents(1);
         Договор.Activate();
         Замена = Договор.Content.Find;
         Замена.Execute("<nomer>"  , Ложь, Истина, Ложь, , , Истина, , Ложь, Отчет.Номер);
        
         ..........
         Договор.SaveAs(ВремФайл);
         Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВремФайл));
        
     Исключение
         Сообщить(ОписаниеОшибки());
         MSWord.Application.Quit();
     КонецПопытки;

КонецПроцедуры


&НаКлиенте
Процедура Сформировать(Команда)
    
    Адрес = "";
    ПечатьНаСервере(Адрес);
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
    ИмяВременногоФайла = "D:\dogovora\"+элементы.Работник.ВыделенныйТекст+".doc";
    ДвоичныеДанные.Записать(ИмяВременногоФайла);

    
КонецПроцедуры
20 temsa
 
20.04.15
11:45
На этой строке выходит ошибка без указания ошибки:

MSWord = АктивныйДокумент.Получить();
21 temsa
 
22.04.15
13:20
АУУУ Народ кто нибудь подскажите с последними вопросам как быть????
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn