Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Есть задача: Существует шаблон договора. Необходимо в определенные места в тексте (поля) вписать некоторые значения из базы данных. Задача не нова и много раз обсуждалась, но есть некоторые условия: - нельзя привязываться к MS Word. У некоторых клиентов стоит OpenOffice - возможность работы с таблицами - PB RTFControl не подходит Пробовал TxTextControl - Есть все, но с PB криво работает. Может кто решал подобную задачу - поделитесь опытом плз. или знает где есть подобные TxTextContol-у прилады, которые нормально работают с PB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 15:54 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
У нас это делается следующим образом. Данные сливаются в текстовый файл, потом с помощью ShellExecuteA вызывается файл MS Word -а, который делает слияние с данным текстовым файлом. Под это дело написан классный объект, все настраиваемое и получилось ужасно красивая и гибкая система - печатаем все, что в голову лезет. Давно хотел испробовать эту фичу на OpenOffice , но под рукой нет, да и нашим юзерам это не надо Прикол в том, что такая система может и тебе пригодиться, ибо ShellExecuteA вызывает запуск того приложения, которое установлено в системе по умолчанию, для открытия данного типа файлов. Попробуй, и если не лень сообщи результат. Ужасно интересно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 16:38 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
>> Данные сливаются в текстовый файл, ... Если я правильно понял, то данные из базы ? >> ... потом с помощью ShellExecuteA вызывается файл MS Word -а, который >>делает слияние с данным текстовым файлом. В самом Ворд-файле есть какой-то макрос, который делает слияние или как ? А обьектик бы как то ... на пробу с примерчиком можно ? С превеликим на то удовольствием протестю и отзывы пришлю :) З.Ы. мыло в профиле З.Ы. З.Ы. Извените, забыл представиться: PB 8.0.4.10726 + ASA 9.01.1922 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 17:19 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Извини, прислать объект не могу. Во-первых, корпоративная культура. Во-вторых, он сильно юзает наши объекты, а по сему надо высылать его + еще нечто... Теперь по теме. Я уже писал, кажись об этом, но могу повториться. Данные, получаемые из базы сливаются в текстовый файл или делаются ручками. Далее, изер создает вордовый документ со слиянием и указывает в нем в качестве источника данных этот текстовый файл. Правит все, что нужно, сохраняет. Далее, если открыть данный файл, то он автоматически будет вызывать текстовый файл, без всяких макросов. Т.е. идея в том, что программно ты подменяешь данные в текстовом файле на свои или создаешь файл заново, а потом открываешь вордовый документ из программы. И все работает, как надо. Благодоря ShellExecuteA ты без переписывания кода можешь делать тоже самое и с OpenOffice файлами. Главное, чтобы в ShellExecuteA передавался файл, открываемый по умолчанию OpenOffice и данный файл при его открытии цеплял файл-источник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 17:52 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Вот как я решал подобную задачу. Она состояла в получении текстового сообщения на основе шаблона в текстовом формате. Мне именно захотелось, чтобы был текстовый шаблон, в котором вместе с текстом были поля, в которые вставлялись значения. Помогла чудесная modify в datawindow! Как сделано, лучше объяснить на примере. Допустим в Dw есть два поля Name, название организации, и inn, ИНН организации. Также есть computed field, которое изначально равно ‘’. Есть также текстовый файл, скажем такого содержания. Информационное письмо Наименование организации: <name> ИНН: <inn> Сообщаем, что вы согласно договора должны перечислить столько то, за услуги, выполненные нами тогда-то. Т.е. из текста видно, что нужные мне поля я выделяю знаками больше-меньше. Мне это представилось удобным, так как подкорректировать такой шаблон пользователь может сам. Правда уже в тесте и в выражениях использовать этот символ будет нельзя. Но в конце концов можно использовать { } или что-то еще. Текст письма со вставленными данными я получаю как значение поля computed field после его обработки через modify. ls_descry = dw.modify("compute_1.expression = ~"" + ls_mody + "~"") ls_mody – это и есть текст со значениями. Только его надо сначала получить с помощью специально написанной функции, которая меняет <> на ‘’. Для указанного примера ls_mody должна получить значение: ls_mody = ‘Информационное письмо ~r~nНаименование организации:‘+name+’~r~n ИНН: ‘+inn+’~r~nСообщаем, что вы согласно договора должны перечислить столько то, за услуги, ~r~nвыполненные нами тогда-то.’ Я думаю понятен смысл преобразований. Должно получиться ‘текст’+поле+’текст’ Отмечу, что символы ~r~n я вставил только здесь, только для того чтобы показать, что здесь стоит символ перевода формата. На самом деле я в файле ничего указывать не надо. Символ перевода формата, который стоит в тексте работает сам. В скобках <>, можно привести не только непосредственно поля datawindow, но и целые выражения, месте с функциями datawindow, а мы знаем, что их в нем богатый выбор. Например, если в dw есть пол руководителя фирмы (поле Sex), то можно сделать обращение ‘господин’ или ‘госпожа’. Выражение будет таким: <if(sex=’M’,’Господин’,’Госпожа’)> Вот и все, получилось очень удобно, а главное гибко. Если надо что-то поменять, даже функционально, не надо обновлять exe-шник, а можно попробовать решить проблему с помощью выражений. Текст можно держать как в файле, так и в табличке. Конечно, при использовании modify надо анализировать успешность ее выполнения, так как при правке шаблона могут быть допущены ошибки. if descr<>"" then messagebox("",descr) Если кого-то интересует привожу функцию которая преобразует конструкцию текст <поле> текст в конструкцию ‘текст’+поле+’текст’ . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 08:45 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Я пользуюсь програмкой RepoRTF Лежит здесь http://www.vsi.ru/~apl/others.htm#reportf Заявлено и так есть на самом деле что она более заточена под Вордовский РТФ и с Опен Офисом ее подглючивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 11:44 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
pandЯ пользуюсь програмкой RepoRTF Лежит здесь http://www.vsi.ru/~apl/others.htm#reportf Заявлено и так есть на самом деле что она более заточена под Вордовский РТФ и с Опен Офисом ее подглючивает. Интересная софтина. Скажите, а как вы её к PB примотали? Просто exe с параметром запускаете? Как пользователи на неё реагируют? Шаблоны сами делают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 12:34 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Запускаю exe Шаблоны пользователи сами рисуют. переменные в шаблоне формируются по определенным правилам и соответсвуют полям в datawindow. Есть объекты которые формируют данные для шаблона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 07:52 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
Работал я в такой прекрасной компании как Поликом Про. так вот там и писал генерилку отчетов. Старое описание и софт можно посмотреть на http://www.polikom.ru/main/wg.htm В данный момент существует свежая версия поддерживающая все версии ворда и другие новшества. Если интересно пиши на мейл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 11:29 |
|
||
|
PB+текстовый редактор
|
|||
|---|---|---|---|
|
#18+
pandЗапускаю exe Шаблоны пользователи сами рисуют. переменные в шаблоне формируются по определенным правилам и соответсвуют полям в datawindow. Есть объекты которые формируют данные для шаблона. Может намылите объекты и примерчик? Идея-то хорошая! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 10:33 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32805343&tid=1338675]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 143ms |

| 0 / 0 |
