Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Печать в OpenOffice из V7 (http://forums.kuban.ru/f1040/pechat-_v_openoffice_iz_v7-2695651.html)

USSR 07.06.2012 07:47

Печать в OpenOffice из V7
 
Уже несколько лет успешно работает печать договоров в MS Office и в OpenOffice из семерки (под XP и Windows2000). Но вот клиент купил новые машины с Windows7 и.... фиг. OpenOffice не находит именованные поля (метки) для подстановки передаваемых из 1с значений. Попробовал сегодня на своей машине - тоже самое. Не формирует договоры. Может кто-то уже сталкивался с этой проблемой

Гинзбург 07.06.2012 08:52

ИмяЗакладки="Закладка1";
Текст=Док.getText();
Контроллер=Док.CurrentController;
Курсор=Контроллер.getViewCursor();
Закладки=Док.getBookmarks();
Попытка
Закладка=Закладки.getByName(ИмяЗакладки);
Исключение
Сообщить("Фигня какая то с закладкой """+ИмяЗакладки+"""!!!");
Возврат(1);
КонецПопытки;
Якорь=Закладка.getAnchor();
Курсор.gotoRange(Якорь, 0);

Курсор.CharColor=Цвет(255,0,0);
Курсор.CharBackColor=Цвет(0,255,0);
Курсор.CharFontName="Times New Roman";
Курсор.CharHeight=48;
Текст.insertString(Курсор, "Тут была закладка """+ИмяЗакладки+"""", 0 );

USSR 07.06.2012 09:33

(1)не совсем понял к чему это. У меня как раз и использовалась подобная технология. Нужный мне реквизит договора печатается при помощи функции:

// ------------------------------------
Функция InsertTextByNameWriter(Document,
ИмяПоля,
Значение)

TextPointer = Document.GetText();
CursorPointer = TextPointer.CreateTextCursor();
BookmarksSupplier = Document.GetBookmarks();

Найдено = 1;
Попытка
Bookmark = BookmarksSupplier.GetByName(ИмяПоля).GetAnchor();
Исключение
Найдено = 0;
Предупреждение("Не найдено поле: " + ИмяПоля);
Возврат 0;
КонецПопытки;

Если Найдено = 1 Тогда
Bookmark.SetString(Значение);
КонецЕсли;
КонецФункции //InsertTextByNameWriter()

Гинзбург 07.06.2012 11:42

в чем вопрос ? Что не находит поля или закладки ?
Поля и закладки имеют разное происхождение.

Гинзбург 07.06.2012 11:44

к слову, можно без попытки
как то так

Если Закладки.hasByName(ИмяЗакладки)=0 Тогда

USSR 07.06.2012 11:50

Не находит поля при печати с машины под Windiws 7

USSR 07.06.2012 19:19

похоже, что дело в оффисе. 3.1.1 работал под хрюней, а 3.2.1 и под хрюней не работает. Деинсталлировал, вернул 3.1.1 - работает, но как-то через раз, пошли всякие ругачки ...

sinegurochka 07.06.2012 21:15

попробуй [url=http://www.linux.org.ru/news/openoffice/7729346]OpenOffice 3.4[/url]

USSR 08.06.2012 14:27

(7)Утром попробовал, вроде работает, правда иногда выскакивает восстановление поврежденного документа, после открытия абсолютно правильного )

Гинзбург 08.06.2012 16:28

в параметрах ООо отключи использование аппаратного ускорения

economist 08.06.2012 19:19

А в LO использование экспериментальных возможностей. Автоматизация не шла именно из за этого флажка.


Текущее время: 17:17. Часовой пояс GMT +3.