Имя: Пароль:
1C
 
1с 8.3 зуп 3.1 внешняя печатная форма с word
0 illiona
 
naïve
18.09.20
18:00
Пришлось столкнуться с подключаемой внешней печатной формой к документу. Есть документ .doc,как подключить его к печатной форме? Сведенияовнешней нужно в модуле прописывать? Можно кто поделится примером? Заранее спасибо
1 dka80
 
18.09.20
21:21
Документ ворда прикрепляешь в виде макета двоичных данных, затем заполняешь его с помощью ворда и открываешь документ на клиенте. Примеров в инете масса по запросу 1с word
2 Amra
 
18.09.20
21:26
(1) +100
3 tixis
 
19.09.20
02:56
(0) я бы (как я бы сделал) документ word в присодениенные файлы, там его может редактировать любой. А ты только заполняешь данные. Причем все делается очень просто, в примеров в инете куча, да, и если это типовая конфа , то еще проще, используй возможности БСП
4 illiona
 
naïve
19.09.20
11:36
а word присоединять как двоичный макет или как active Документ? и параметры как должны в worde быть оформлены?
5 illiona
 
naïve
19.09.20
11:36
конфигурация типовая.
6 tixis
 
19.09.20
11:43
смотри как работает УправлениеПечатьюMSWordКлиент
7 tixis
 
19.09.20
11:43
посмотри где в типовой используется, делай по аналогии
8 illiona
 
naïve
19.09.20
16:14
Вывод приемнаработу есть, а как сделать для приемнаработу списком, в идеале, чтоб в один документ все выводилось
9 tixis
 
19.09.20
16:32
смотри откуда вызывается УправлениеПечатьюMSWordКлиент, на сколько помню вызывается из УправлениеПечатьюКлиент, вот там и можно вызвать для списка
10 illiona
 
naïve
19.09.20
16:35
Условие там прописать? Если тип список,то печатать в цикле?
11 illiona
 
naïve
21.09.20
08:39
// получаем макет     
    ДвоичныеДанныеМакета = ПолучитьИзВременногоХранилища(ПолучитьМакетСКлиента());
    ИмяФайлаВрем = ПолучитьИмяВременногоФайла(".doc");
    ДвоичныеДанныеМакета.Записать(ИмяФайлаВрем);
    
    // выводим данные
    Попытка
        
        ДокументWord = ПолучитьCOMОбъект(ИмяФайлаВрем);

        wdReplaceNone = 00000000;
        wdReplaceOne  = 00000001;
        wdReplaceAll  = 00000002;
              
        //Замена = ДокументWord.Content.Find;
        //Замена.Execute("{v8 НомерДоговора}", , , , , , , , ,ш_Номер, wdReplaceAll);
        Замена = ДокументWord.Content.Find;
        Замена.Execute("{v8 ДатаДоговора}", , , , , , , , ,ш_ДатаДоговора, wdReplaceAll);            
        Замена = ДокументWord.Content.Find;
        Замена.Execute("{v8 Город}", , , , , , , , ,ш_Город, wdReplaceAll);
        
        //Организация
        Замена = ДокументWord.Content.Find;
        Замена.Execute("{v8 ОрганизацияПолноеНаименование}", , , , , , , , ,ш_ОргПолное, wdReplaceAll);  
                
        //Руководитель
        Если ш_ОрганизацияЮридическоеФизическоеЛицо = "Физическое лицо" Тогда
                Замена = ДокументWord.Content.Find;
            //Замена.Execute("{v8 ОрганизацияВЛице}", , , , , , , , ,ш_ДолжностьРуководителя_ВРодительномПадеже + " " + ш_ФИОРук_ВРодительномПадеже + ", действующего на основании Свидетельства c", wdReplaceAll);                 
            Замена.Execute("{v8 ОрганизацияВЛице}", , , , , , , , ,ш_ФИОРук_ВРодительномПадеже + ", действующего на основании Свидетельства c", wdReplaceAll);                 
            
        Иначе

            Замена = ДокументWord.Content.Find;
            //Замена.Execute("{v8 ОрганизацияВЛице}", , , , , , , , ,ш_ДолжностьРуководителя_ВРодительномПадеже + " " + ш_ФИОРук_ВРодительномПадеже + ", действующего на основании Устава c", wdReplaceAll);                 
            Замена.Execute("{v8 ОрганизацияВЛице}", , , , , , , , ,ш_ФИОРук_ВРодительномПадеже + ", действующего на основании Устава c", wdReplaceAll);                 
        
        КонецЕсли;
        
        //Работник
        Замена = ДокументWord.Content.Find;
        Замена.Execute("{v8 РаботникФИО}", , , , , , , , ,РаботникФИО, wdReplaceAll);         
        
        
        ДокументWord.Application.Visible = Истина;
        ДокументWord.Application.WindowState = 2;
        ДокументWord.Application.WindowState = 1;
        ДокументWord.Activate();



Вывод документа, а если для приемаСписком, не могу сообразить как сделать вывод договора несколько
12 illiona
 
naïve
21.09.20
11:35
Выводит для списка из 9, 9 вордов
13 illiona
 
naïve
21.09.20
11:35
можно ли в один вывести?
14 dka80
 
21.09.20
11:45
В конце твоего макета ставишшь разрыв страницы
Далее создаешь 1 вордовский файл. Оставляешь его открытым
Создаешь 2 вордовский файл отдельным COM-объектом (например, ДокументWord2). Заполняешь его. Затем через буфер обмена вставляешь в первый файл. Как работать через буфер - в форде включи запись макроса и посмотри что получится
15 illiona
 
naïve
21.09.20
13:19
Затем через буфер обмена вставляешь в первый файл - можно здесь по подробнее?
16 illiona
 
naïve
21.09.20
13:27
у меня документ хранится в макете как двоичные данные
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший