Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> 1c 7.7 и OpenOffice          
Mikst Подменю пользователя
сообщение 20.05.13, 11:17
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Здравствуйте. Нужно создать шаблоны в опен офисе, что бы в текстовый документ передавались значения (к примеру фамилия, имя и т.д.).
Вообщем нужен аналог ворда:
Word = Создатьобъект("Word.Application");
Word.Documents.Add(ИмяФайла);Doc = Word.ActiveDocument;
Word.Selection.Find.Execute("<Фамилия>", 0, 0, 0, 0, 0, -1, 0, 0,фамилия, 2);


Подскажите пожалуйста как это реализовать, может ссылку на какой то пример. А то уже весь гугл прошерстил не могу найти ничего подходящего.


 ! 

Правила, п. 5
 


Сообщение отредактировал Vofka - 20.05.13, 11:20

logist Подменю пользователя
сообщение 20.05.13, 11:47
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

1С не работает с опенофисом.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

logist Подменю пользователя
сообщение 20.05.13, 13:25
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Хотя, я может и ошибся. Только не знаю наверняка, есть ли у 1С77 возможность работы с ОО, или это надо делать через какие-то расширения или другие объекты.

А вот книженцию "Useful Macro Information For OpenOffice" (русский перевод) можете скачать тут [необходимо зарегистрироваться для просмотра ссылки]


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

sava1 Подменю пользователя
сообщение 21.05.13, 7:43
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(logist @ 20.05.13, 12:47) *
1С не работает с опенофисом.

Наглое заявление.
Просто с костылями - [необходимо зарегистрироваться для просмотра ссылки]

Спасибо сказали: Mikst,

Petre Подменю пользователя
сообщение 21.05.13, 8:22
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Цитата(Mikst @ 20.05.13, 12:17) *
А то уже весь гугл прошерстил не могу найти ничего подходящего

Хм...
[необходимо зарегистрироваться для просмотра ссылки]
В основном материал по 1с8, но суть одна...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 21.05.13, 13:06
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Да вот много такого всякого материала я находил. И люди пишут что работает. А у меня почему то все время вываливаеться.

 ИмяЗакладки="ляляля";
    Текст=Док.getText();
    Контроллер=Док.CurrentController;
    Курсор=Контроллер.getViewCursor();
    Закладки=Док.getBookmarks();
    Закладка=Закладки.getByName(ИмяЗакладки);// вот в этом месте все время пишет "[automation bridge] : com.sun.star.container.NoSuchElementException:", типа объект такой не существует


Во всех предложенных выше вариантах пишется, что должно работать именно так. Может если кто встречался с таким, подскажите пожалуйста.

logist Подменю пользователя
сообщение 21.05.13, 13:18
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 21.05.13, 14:06) *
com.sun.star.container.NoSuchElementException:

[необходимо зарегистрироваться для просмотра ссылки]


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Mikst Подменю пользователя
сообщение 21.05.13, 13:26
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(logist @ 21.05.13, 14:18) *
[необходимо зарегистрироваться для просмотра ссылки]

Тут я был, но не смог разобраться (

Vofka Подменю пользователя
сообщение 21.05.13, 13:29
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(Mikst @ 21.05.13, 14:06) *
Закладки=Док.getBookmarks();

А после этого в переменной Закладки что содержится?

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 21.05.13, 13:32
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(Vofka @ 21.05.13, 14:29) *
А после этого в переменной Закладки что содержится?


В отладке пишет: Закладки = OLE

Petre Подменю пользователя
сообщение 21.05.13, 13:37
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Это понятно. Можно получить количество элементов коллекции. Если их больше 0 - пройтись по каждому и получить их имена.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 21.05.13, 14:38
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Всем большое спасибо, у меня получилось!

Выкладываю полный текст обработки, может кому нибудь понадобиться.

Функция ПолучитьОбертку()
    ХТМЛ = СоздатьОбъект("htmlfile");
    ХТМЛ.Open("text/html");
    //<-- Подготовим нужные методы

    ХТМЛ.Write("<script type='text/javascript'>
    |var ХТМЛ;
    |ПолучитьЗначение=function(x,y){return x.constructor == Array ? x[y] : x};
    |УстановитьЗначение=function(x,y,z){x[y]=z};
    |РазмерМассива=function(x){return x.length};
    |УстановитьБулево=function(x){x.Value=Boolean(x.Value)};
    |Массив=function(){return new Array()};
    |</script>");
    Док=ХТМЛ.documentElement.document;

    Док.script.ХТМЛ=ХТМЛ;

    Возврат Док.script;
КонецФункции  


Функция ОпенОфис(Файл="")
    Перем Параметр;
    Это=ПолучитьОбертку();

    СервисМанагер=СоздатьОбъект("com.sun.star.ServiceManager");
    Обновлялка=СервисМанагер.createInstance("com.sun.star.reflection.CoreReflection");
    Проводник=СервисМанагер.createInstance("com.sun.star.ucb.FileContentProvider");
    УРЛ=Проводник.getFileURLFromSystemPath("",Файл);
    Сообщить(УРЛ);
    Массив=Это.Массив(0);
    Параметр=Это.Массив(0);
    
    
    Десктоп = СервисМанагер.createInstance("com.sun.star.frame.Desktop");

    Док = Десктоп.LoadComponentFromURL(УРЛ, "_blank", 0, Массив );  
    
    Replace = Док.CreateReplaceDescriptor();  
    Replace.SearchString  = "Заменяемая строка";
    Replace.ReplaceString = "Новая строка";
    Док.ReplaceAll(Replace);


КонецФункции

//*******************************************

Процедура Сформировать()
    Перем Имя,Путь;
    Если ФС.ВыбратьФайл(0,Имя,Путь,"","Файлы офиса|*.ods;*.xls;*.ott;*.odt;*.doc","*")=0 Тогда
        Возврат;
    КонецЕсли;
    ОпенОфис(Путь+Имя);
КонецПроцедуры

Спасибо сказали: Acid, takefive, Vofka,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.04.24, 11:48
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!