1 (edited by Astra30 2017-06-26 18:55:09)

Topic: Как в один отчёт передать данные с нескольких талиц.

Собственно в названии темы весь вопрос.
Наверняка где то уже есть на форуме подобный, но не нашел.
Нужно сделать отчёт в виде бланка, на котором адрес объекта, контактные данные (одна таблица) и на нём же данные по объекту из других таблиц (связанных). Может где пример подобного есть?

Re: Как в один отчёт передать данные с нескольких талиц.

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


http://myvisualdatabase.com/forum/viewtopic.php?id=1665

Dmitry.

3 (edited by Astra30 2017-06-28 04:32:54)

Re: Как в один отчёт передать данные с нескольких талиц.

Спасибо за оперативный ответ, но всё же не пойму как можно в подобном случае - https://yadi.sk/d/M9obbkvC3KXnoy ,с помощью кнопки "ОТЧЁТ" вывести на печать на один лист данные заказа:   Номер и дата заказа; Заказчик; Перечень товаров, входящих в данный заказ.
Или без скрипта не обойтись?

И ещё как сделать что бы при двойном клике на "ЗАКАЗЫ"TableGrid1 открывалась только одна форма, а не две по очереди (и редактирование заказа и добавление товаров в заказ)?

Помогите разобраться, пожалуйста!

Re: Как в один отчёт передать данные с нескольких талиц.

Настроил кнопку отчет, в данном случае необходимо было создать пару вычисляемых полей, т.к. кнопка Отчет не всегда позволяет автоматически правильно связать три последовательные таблицы.


При редактировании открывается две формы редактирования, т.к. на форме присутствуют две кнопки с действием "Показать запись", небольшим скриптом изменил это.

Post's attachments

Attachment icon BD_1_fixed.zip 10.32 kb, 379 downloads since 2017-06-29 

Dmitry.

Re: Как в один отчёт передать данные с нескольких талиц.

Большое спасибо!

6 (edited by Astra30 2017-07-03 11:11:36)

Re: Как в один отчёт передать данные с нескольких талиц.

Столкнулся ещё с одной проблемой - Если добавить параллельно ещё две связанные таблицы, то в отчёте выводится по несколько значений из таблицы. Что только не делал, исправить не получается. https://yadi.sk/d/IEHxLESa3KhVYV

Re: Как в один отчёт передать данные с нескольких талиц.

Вывел в отдельную TableGrid значения вычисляемого поля - лишних строк нет. Значит причина в выводе этих данных в отчёт.
Может в настройках отчёта что либо изменить надо?

8 (edited by Astra30 2017-07-07 04:06:23)

Re: Как в один отчёт передать данные с нескольких талиц.

Ни кто не может подсказать, почему одни и те же строки выводятся в отчёте несколько раз?
Я в тупике... sad
Вот пример -  https://yadi.sk/d/IEHxLESa3KhVYV

Re: Как в один отчёт передать данные с нескольких талиц.

Astra30 wrote:

Ни кто не может подсказать, почему одни и те же строки выводятся в отчёте несколько раз?
Я в тупике... sad
Вот пример -  https://yadi.sk/d/IEHxLESa3KhVYV


В вашем случае необходимо использовать подотчеты, как в данном примере
http://myvisualdatabase.com/forum/viewtopic.php?id=1665

Dmitry.

10 (edited by Astra30 2017-07-07 16:32:32)

Re: Как в один отчёт передать данные с нескольких талиц.

Спасибо DriveSoft за подсказку, но видимо я что то не так делаю.  Переделал с подотчётами - https://yadi.sk/d/TttIYNQi3Kqz8K , но ничего не изменилось. https://yadi.sk/i/zsBh56Iv3KqzLF   - как было куча повторов, так и осталась.

Re: Как в один отчёт передать данные с нескольких талиц.

В приведённом Вами примере

DriveSoft wrote:
Astra30 wrote:

Ни кто не может подсказать, почему одни и те же строки выводятся в отчёте несколько раз?
Я в тупике... sad
Вот пример -  https://yadi.sk/d/IEHxLESa3KhVYV


В вашем случае необходимо использовать подотчеты, как в данном примере
http://myvisualdatabase.com/forum/viewtopic.php?id=1665

Используются скрипты для передачи данных в отчёт. Это в моём примере обязательно, или можно обойтись кнопкой "Отчёт"?
Если нельзя, то подскажите, пожалуйста, где можно найти простой пример для подобного случая.

Re: Как в один отчёт передать данные с нескольких талиц.

Astra30
Использование подотчетов возможно только с использованием скрипта, который есть в примере, который я вам дал выше.

Dmitry.

Re: Как в один отчёт передать данные с нескольких талиц.

Уважаемый, DriveSoft.  Попробовал сделать как в приведённом Вами примере, но данные в отчёт не передаются, в чём я ошибся?  https://yadi.sk/d/w81y-oIs3KveEK

Re: Как в один отчёт передать данные с нескольких талиц.

Astra30 wrote:

Уважаемый, DriveSoft.  Попробовал сделать как в приведённом Вами примере, но данные в отчёт не передаются, в чём я ошибся?  https://yadi.sk/d/w81y-oIs3KveEK

Добрый день.
Подскажите в чем проблема - попробую помочь.
Если проект в версии не выше 1.46 - можете выслать на почту.
ces@rciugra.ru

Чучкин Евгений

Re: Как в один отчёт передать данные с нескольких талиц.

Xexrby Tdutybq, здравствуйте!
Версия 3.5

Я пока осваиваю базы данных и не всё понятно.

Вкратце так:

Есть пример базы - https://yadi.sk/i/q7XE6C8U3KwZS4
Главная форма - https://yadi.sk/i/ymHSsasW3KwZV7
Написал скрипт для передачи в отчёт данных базы (заказы и платежи) для конкретного заказчика - https://yadi.sk/i/B7-_z3Qv3KwZdi
Ошибок при открытии отчёта нет, но и данных в отчёт не передаётся - https://yadi.sk/i/plW92XHL3KwZsR

Я думаю что ошибка в скрипте. Делал по примеру, приведённому выше DriveSoft-ом, но видимо что-то не правильно.

Re: Как в один отчёт передать данные с нескольких талиц.

Astra30
Реализовал отчет в вашем примере

Post's attachments

Attachment icon BD_1_fixed2.zip 13.25 kb, 387 downloads since 2017-07-11 

Dmitry.

17 (edited by Astra30 2017-07-17 18:30:30)

Re: Как в один отчёт передать данные с нескольких талиц.

Спасибо, DriveSoft!

Не поясните, для чего эта строчка в Вашем скрипте?


sWhere := '';
    if Form1.TableGrid1.dbItemID<>-1 then sWhere := ' WHERE Zakaz.id='+Form1.TableGrid1.sqlValue;

зачем вводится эта переменная - sWhere: string;?

18 (edited by Astra30 2017-07-22 11:45:45)

Re: Как в один отчёт передать данные с нескольких талиц.

В чём может быть проблема? - Если передаешь данные в отчёт в режиме "дизайнера", то открывается дизайнер и в предпросмотре открывается отчёт, а если в режиме "превью", то появляется ошибка - http://s019.radikal.ru/i617/1707/04/166e2e15e400.jpg
и отчёт не открывается.

Re: Как в один отчёт передать данные с нескольких талиц.

DriveSoft, не поможете по выше обозначенной проблеме? Не пойму, то ли я что то не то сделал, то ли  баг программы.
Я вам выслал ссылку в личку...

Re: Как в один отчёт передать данные с нескольких талиц.

Astra30
Пожалуйста прикладывайте к сообщению проект и описание шагов, которые приводят к ошибке.

Dmitry.