Имя: Пароль:
1C
1С v8
1С + Word
0 Mr-FReSH
 
09.12.16
10:48
Всем привет!!

Пытаюсь выводить печатную форму через двоичные данные, в которых лежит вордовский документ.

Все круто, все приходит, все открывается, параметры заполняются, но единственная проблема - изначально документ идет в 2 колонки, 1Ска же выводит его в 1 колонку (разметка страницы - колонки - две) ну и подкрашивает мне ссылки....

Если с ссылками все ясно (можно попробовать их просто удалить), то почему выводит в одну колонку - не ясно.

Делал по этому методу http://catalog.mista.ru/public/357061/
1 Mr-FReSH
 
09.12.16
13:39
Вообщем решил. Кому интересно выложу код


&НаКлиенте
Процедура РИЦ_ФормированиеДоговора(НазваниеМакета)
    
    Попытка
    MSWord = Новый COMОбъект("Word.Application");
    Макет = ПолучитьИзВременногоХранилища(Адрес); //Получаем макет на сервере и любым способом пердаем на клиент
    
    ВременныйПуть = КаталогВременныхФайлов();
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("doc");  
    Макет.Записать(ИмяВременногоФайла);
    
    Документ = MSWord.Documents.ADD(ИмяВременногоФайла);
    
    ДанныеПациента = ПолучитьДанныеПациента();
        
    
        Документ.Activate();
        
        Замена = Документ.Content.Find;
        Замена.Execute("{День}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(День(ТекущаяДата())));
        
        Замена = Документ.Content.Find;
        Замена.Execute("{Месяц}", Ложь, Истина, Ложь, , , Истина, , Ложь, ПолучитьМесяц(ТекущаяДата()));
            
        Замена = Документ.Content.Find;
        Замена.Execute("{Год}", Ложь, Истина, Ложь, , , Истина, , Ложь, Год(ТекущаяДата()));
          
        Замена = Документ.Content.Find;
        Замена.Execute("{ФизЛицоПациента}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Пациент));
        
        Замена = Документ.Content.Find;
        Замена.Execute("{ФизЛицоПациента2}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Пациент));
            
        Замена = Документ.Content.Find;
        Замена.Execute("{Серия}", Ложь, Истина, Ложь, , , Истина, , Ложь, ДанныеПациента[0]);
        
        MSWord.Application.Visible = Истина;
        MSWord.Activate();      
        
    Исключение
        Сообщить(ОписаниеОшибки());
        MSWord.Application.Quit();
    КонецПопытки;
    
КонецПроцедуры
2 Garykom
 
гуру
09.12.16
13:47
Word (как и в целом MS Office) сча не очень в тренде, вот если бы LibreOffice или даже нечто онлайновое
3 Fish
 
09.12.16
13:50
(2) Однако альтернативы MS Office для документооборота нет и не предвидится.
4 elCust
 
09.12.16
13:50
Что это за кракозябры:
<<, Ложь, Истина, Ложь, , , Истина, , Ложь, >>
5 Andrei Ivanovich
 
10.12.16
12:09
У моего бухгалтера была похожая проблема, разрешить которую удалось прочитав материальчик на страничке http://www.pro1c-msk.ru/ Мне кажется, описано довольно подробно.
6 Mauser
 
10.12.16
12:16
(5) Здесь такое только на дотнете делать можно, Serginio1 подтвердит!
7 Garykom
 
гуру
10.12.16
12:41
(3) Кто сказал такую чушь? С libreoffice главное научить юзеров новые файлы создавать/сохранять в формате doc/xls а не odt/ods :)
8 Fish
 
11.12.16
00:48
(7) Опыт, т.к. некоторые файлы MS Office (особенно с макросами), которые приходят извне, никакими "аналогами" ты не прочитаешь нормально. А в компаниях, которые не ведут никакого документооборота с внешними компаниями - вполне возможно поставить замену.
9 Garykom
 
гуру
11.12.16
01:34
(8) 1. Чтобы прочитать "файл с макросами" достаточно бесплатного https://www.microsoft.com/ru-ru/download/details.aspx?id=10

2. Такие входящие файлы требуется открывать не на всех рабочих местах, а только на ограниченных

3. Если требуется писать такие файлы с макросами, то в консерваториях что то не то... Представьте что модная контора с сидящая на продукции Apple получит такой файлик ))
10 Garykom
 
гуру
11.12.16
01:37
(9)+ Про ограниченных к тому что на паре компов есть офис (как раз бух и менеджер по закупкам на входящих доках), так пользователи равноценно уже давно пользуются им или libre, причем офисом только если в libre криво открылось или точнее чем оно нормально открылось в том и смотрят, пофиг им.
11 Fish
 
11.12.16
11:16
(9) Значит, "модной" конторе придётся подстраиваться, если она захочет работать с крупной и серьёзной компанией. А в РФ, в подавляющем большинстве, в таких компаниях используют MS Office.
12 Garykom
 
гуру
11.12.16
11:51
(11) Крупная и серьезная компания использует прайс-листы с макросами (неверно еще и с картинками внутри да) в екселе/ворде?

Не забываем что да, лет еще нескоко назад MS Office был стандартом де факто. Сча де факто стандарт это веб или pdf.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.