Имя: Пароль:
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.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн