Подключение Writer к БД PostgreSQL

Автор BigQWERTY, 17 сентября 2019, 10:53

0 Пользователи и 1 гость просматривают эту тему.

BigQWERTY

Добрый день, пишу макросы для заполнения таблиц writer сейчас информация парсится из БД, увидел, что можно подключить свою базу, хотелось бы узнать, как это работает и что с этим можно сделать ?


economist

#1
Сценариев много, это, на мой взгляд, самая крутая фишка OpenOffice|LibreOffice. А работает это примерно так, причем без всяких макросов:

1) Пользователь набирает/заполняет документ и в какой-то момент понимает что какие-то нужные ему данные (адреса, названия, телефоны, ИНН итп) - уже где-то есть (в 1С, адресной книге AD, CRM-системе, "в экселе" итд). Как их быстро "достать"?

2) Пользователь просто жмет Ctrl+Shift+F4 и вверху экрана появляется окно с различными подключенными базами данных (они могут быть любыми - ODBC/JDBC, в виде текстовых файлов, выгруженных из каких-нибудь кластерных БД типа 1С и т.д.). В базах данных в логичной древовидной структуре сразу видны Таблицы, Представления и SQL-запросы, которые при щелчке по ним, тут же, "выполняются" и их результат легко перетащить в документ (отдельные значения, строки или "поля"-столбцы). Так в документе появляются нужные Пользователю данные.

3) Если Пользователь набирает "серийный" документ, в несколько адресов, скажем письма всем должникам, то Writer сформирует не одно письмо, а "каждому" (по числу строк, которое вернул запрос), россыпью. Если хотите - все письма окажутся в одном ODT/PDF-файле.

4) Если в LO настроен email - письма тут же улетят по всем адресам. У меня в офисе вместе с письмом формируется также "наклейка" на почтовый конверт и опись вложения для ценных писем. Остается разрезать, наклеить на пустой конверт и послать водителя на почту.

5) Запросы могут быть параметрическими, с выводом диалога на запрос параметра. Так, к примеру, можно послать письма не всем должникам, а только тем, у кого сумма долга выше 100 тыс. руб. (не меняя сам SQL-запрос)

6) Важно и то, что сам ODT-документ может автоматически меняться исходя из содержания записей в БД (скрытый или условный текст, скрытый абзац, скрытый раздел). Например, если адресат - физлицо, то в договоре может автоматически появиться раздел про согласие на обработку перс. данных, и строка в списке приложений, исчезнуть М.П. итд.  

7) Ну а добавив в ODT/OTT/ODS макросы - можно, скажем, автоматически класть в базу данных запись о только что сформированной рассылке, чтобы спустя неопределенное время, - повторно отправить письма только тем, кто "еще не заплатил" и прошел контрольный срок на "ответку". Этот срок рассчитывается SQL-запросом к отдельной таблице в БД, в которой хранятся "логи" серийных рассылок.  

Одним словом Базы данных во Writer - позволяют очень глубоко автоматизировать письма, договоры, счета, претензии, поздравления, приказы итд. Они, создаваемые на основе "заряженных" стилями, полями и макросами ott-шаблонов - становятся "активными", создающими записи в базах данных. И пользователям удивительно легко дается "магия" Ctrl+Shift+F4.  

Внедрение подобной технологии способно сократить трудозатраты Юротдела, Отдела кадров - примерно вдвое, т.е. сэкономить 0,5 млн. руб. на каждом сокращенном (в год). Или сделает их работу менее "адовой" если у них перегруз, чтобы они могли вовремя приходить домой, не сидеть в офисе по субботам итп.      

Два слова о "скорости":
Если данных много (сотни мегабайт-гигабайты в TXT) и запросы на чтение выполняются долго - стоит присмотреться к SQLite, самой быстрой однофайловой базе данных, легко доступной по сети для 3-5 активных подключений с разных компьютеров, без какого-либо сервера. LO Base прекрасно работает с нею через ODBC/JDBC.

Также внутри любого OpenOffice|LibreOffice есть мощный язык программирования Python (без pip, setuptools, sqlite3 - но все добавляется простым копированием). Питон работает в 4-8 раз быстрее макросов на StarBasic, имеет 200 тыс. бесплатных библиотек на все случаи жизни и с некоторыми задачами, например, с обработкой текстов, чтением/правкой без открытия файлов XLS/XLSX - он справляется лучше других инструментов.  

Все вышеназванное - не требует участия администраторов сети, установки программ итп. Т.е. доступна "автоматизация снизу". Было бы желание.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...