powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / база договоров - хелп
10 сообщений из 10, страница 1 из 1
база договоров - хелп
    #33845724
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здрасте.
Пишу базу договоров для одной организации.
Вопрос: Пишу на builder+firebird. Как мне лучше реализовать эти возможности - должна быть возможность распечатки договора, при этом формы договора постоянно меняются, и все подписанные договора остаются в том виде в котором подписывались(то есть мне надо как-то хранить старые формы договоров).
Помогите, кто чем может.
...
Рейтинг: 0 / 0
база договоров - хелп
    #33846087
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поиск в форуме по ключевым словам "история изменений", "версионность".
...
Рейтинг: 0 / 0
база договоров - хелп
    #33846901
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сосиска
Хм. Если стоит задача "старые договора должны просматриваться (а то и редактироваться) в старом интерфейсе, существовать со старыми ограничениями целостности итп, то это изрядная труба. Я не уверен, как бы я подошел к решению такой задачи; возможно, плюнул бы и сделал нечто типа EAV, возможно, при изменении формата договора вводил бы новую таблицу-таблицы, а для общих целей объединял бы их через view, возможно еще как-нибудь. Отчасти - в части ограничений - помогли бы ENABLE NOVALIDATE constraint-ы, но не уверен, что такая функциональность есть в FB.

Удачный для Вас вариант - если старые договора нужны только для повторной распечатки, если что. Тогда достаточно хранить "печатный вид" договора, в виде например doc-файла или любого другого представления, совместимого с Вашей системой печати.
...
Рейтинг: 0 / 0
база договоров - хелп
    #33847040
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerУдачный для Вас вариант - если старые договора нужны только для повторной распечатки, если что.

мне показалось что Сосиска именно так и ставит вопрос -

Сосискаи все подписанные договора остаются в том виде в котором подписывались

я печатаю договоры на PDF принтер и сохраняю на диск, в базе хранятся только шаблоны договоров (блоки текста стандартных формулировок) и иерархия вида Договор-Раздел-Пункт-Подпункт
...
Рейтинг: 0 / 0
база договоров - хелп
    #33849533
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом топике нашел все ответы на свои вопросы:
/topic/181468&pg=-1&hl=%e4%ee%e3%ee%e2%ee%f0%e0

>>>В базе в блоб хранился вордовский шаблон договора. В нем был предопределенный макрос main.
В окне редактирования договора была кнопка "Сформировать". Она доставала шаблон, вызывала main, он обращался сам к бд, полностью формировал текст договора.
Затем сформированный текст договора, без макросов сохранался в базе в блобе.
В окне также была кнопка "Изменить". По этой кнопке открывался сформированный текст договора. Его можно было править и сохранять.
В любой момент можно было сформировать договор заново по шаблону.<<<

Может, кто подскажет как енто сделать.
В help к билдеру
Variant MSWord = CreateOleObject("Word.Basic");
...
MSWord = Unassigned;
У меня получилось только ворд запустить.

Пробовал в tolecontainer blob поток из базы - выдает Invalid stream

В поисковике порылся ничего определенного не нашел... подскажите где рыть?
...
Рейтинг: 0 / 0
база договоров - хелп
    #33849534
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СосискаМожет, кто подскажет как енто сделать.

на чем планируете делать?

кстати - что касается вывода в Word и последующего редактирования
...
Рейтинг: 0 / 0
база договоров - хелп
    #33849544
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
builder+firebird
...
Рейтинг: 0 / 0
база договоров - хелп
    #33852309
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TStream *x=IBDataSet1->CreateBlobStream(IBDataSet1->FieldByName("pattern"),bmRead);
OleContainer1->LoadFromStream(x);

Выдает invalid stream. В чем он инвалид я понять не могу... :(
...
Рейтинг: 0 / 0
база договоров - хелп
    #33852365
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Догнал... Чтобы ентот OleContainer показывал, что-то из базы надо через него в базу и сохранять... Тогда снова вопрос куда CreateBlobStream направить, чтобы я получил отчет ворда хранящийся в блобе?
...
Рейтинг: 0 / 0
база договоров - хелп
    #33852543
Фотография Сосиска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все сделал. Спасибо всем за помощь.

Кому интересно как я ето сделал:
Сохранил блоб поток в во временный файл, а потом делал как тут написано http://www.kornjakov.ru/stat.htm
Также полезно поглядеть сюда http://wladm.narod.ru/Borland/word.html и можна сюда http://www.codenet.ru/progr/bcb/Open-Office-Calc-Automation.php

Может кто подскажет решение покруче - без создания временного файла?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / база договоров - хелп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]