FR форма добавить поле из БД

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
RavageR
Сообщения: 5
Зарегистрирован: Чт, 14/04/2011 13:59
Имя Фамилия: Александр Паньков

FR форма добавить поле из БД

Сообщение RavageR »

Добрый день.
Много смотрел по форуму и в интернете, но все же так окончательно и не решил как проще всего вытянуть поле из БД Галактики в уже имеющую печатную форму документа реализованную на FR. В частности в FR форму накладной нужно вытащить значение цены из прейскуранта отличного от того, на основании которого выписана эта накладная. Т.е. накладная и прайс вообще не связаны.
Так вот как мне проще всего это сделать в FR.
Править имеющийся поток данных или можно в самом FR Накладной это сделать? Или может еще какой способ есть.
Заранее всем благодарен за ответ.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: FR форма добавить поле из БД

Сообщение larin »

В настоящий момент существует два способа добавления источников данных в FR-отчет.

1) Рекомендуемый способ. Это докомпиляция потока данных Alter Interface. По задумке этот способ позволяет добавить как поля в таблицы потока, так и новые таблицы в поток. В сочетании с возможностью дополнять логическую таблицу VIP интерфейса это позволяет теоретически получить любые данные которые изначально программисты Галактики не предусмотрели в потоке.

При использовании этого метода, для связки с новыми таблицами вы можете использовать все поля которые есть в логических таблицах интерфейса, даже если они не не выведены в поток данных.

Посмотрите этот пример: AlterAllInterfaces.zip

2) Другой способ дополнения FR-отчета данными. Это использовать в дизайнере FR закладку «Данные». Создавать там ADO-подключение к произвольной БД. В т.ч. можно подключится и к БД Галактики. Создавать там запросы. Можно связывать эти запросы с другими элементами потока данных через параметры. И таким образом расширять данные в отчете.

Однако здесь, для связки с нужными вам данными, вы можете использовать только те поля которые есть в потоке.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: FR форма добавить поле из БД

Сообщение larin »

Что касается конкретной задачи:
RavageR писал(а): в FR форму накладной нужно вытащить значение цены из прейскуранта отличного от того, на основании которого выписана эта накладная. Т.е. накладная и прайс вообще не связаны.
Очевидно что она не совсем корректно сформулирована, не может такого быть чтобы сумму пересчитывать по случайному неопределенному прейскуранту. Какая то связка или правило выбора конкретного прейскуранта все же должно быть.

Нужно все же выяснить по каким именно полям должна быть связка. Если связка определяется бухгалтером с потока, тогда нужно добавлять окно выбора прейскуранта перед печатью отчета.
RavageR
Сообщения: 5
Зарегистрирован: Чт, 14/04/2011 13:59
Имя Фамилия: Александр Паньков

Re: FR форма добавить поле из БД

Сообщение RavageR »

Добрый день. Прейскурант все же конкретный конечно, просто не тот на основании которого выписана накладная. Поэтому диалога не нужна пользователю.

Вообщем первый способ для меня пока сложноват. Остановился на втором. Добавил объект в отчете ado-подключение к БД. Тут спрашивает используемый драйвер. Указываю - Первасивовский. А вот дальше источник и размещение БД тут беда. Что здесь писать?
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: FR форма добавить поле из БД

Сообщение larin »

В случае с первасивом лучше изучите первый способ и используйте докомпиляцию alter interface.

А вообще, чтобы подключиться к БД первасива через ADO нужно выполнить конвертацию словаря ADF -> DDF в Support.
RavageR
Сообщения: 5
Зарегистрирован: Чт, 14/04/2011 13:59
Имя Фамилия: Александр Паньков

Re: FR форма добавить поле из БД

Сообщение RavageR »

larin писал(а):В случае с первасивом лучше изучите первый способ и используйте докомпиляцию alter interface.

А вообще, чтобы подключиться к БД первасива через ADO нужно выполнить конвертацию словаря ADF -> DDF в Support.
Добрый день.
Куда и через что зайти, чтобы сделать докомпиляцию интерфейса, чтобы добавить в поток данных, которые использует FR форма накладной, нужные поля?
Ответить