Страница 1 из 1

Создание отчета-таблички из нескольких сущностей

Добавлено: 18 мар 2019, 13:05
mamol27
Здравствуйте!
Появилась задача сделать отчет по нескольким сущностям.
У нас есть следющая схема:
Изображение

Нужно получить отчет вида:
Изображение

Такое возможно в вашей системе?

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 18 мар 2019, 16:58
alcompstudio
Добрый день!

Для этого у вас должны быть поля План и Факт в каждой из сущностей, затем при помощи Функций из Дополнения можно выполнять подсчет в каждую из сущностей структуры последовательно. Т.е. сначала создали функцию, для сущности Задача, которая будет подсчитывать значения в поле План (оператор SUM по нужному ID поля). Этот номер функции вставили в поле План сущности Этапы (например {1}), естественно, поле План тут должно иметь тип MySQL формула, чтобы вставить функцию.
Далее создаете аналогичную функцию, но уже для поля План из сущности Этапы (которая уже будет ссылаться на имеющееся поле с ранее сформированной сущностью {1}). Тут будут подсчитываться все Плановые данные по Этапам (записям), например, функция {2}.
И, наконец, эту функцию вставляете в поле План, для сущности Контракты. Таким образом будет выполняться последовательный расчет значений и по структуре передаваться в нужную сущность.

Аналогично делается "ветка" и для полей Факт. В конечной сущности можно также сделать различные вычисления, например создать поле "Разница" и поставить формулу, которая будет вычислять разность между Планом и Фактом (причем в любой из сущностей).

Это самый простой способ, возможно есть еще варианты, через запросы, но тут не подскажу)

P.S. Также можно использовать функцию {1} для сущности Контракты, минуя сущность Этапы, если вам нужно отражать результаты вычислений сразу в сущности Контракты. Так, в принципе, тоже должно работать. Но тогда не будет возможности отражать данные в Этапах.

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 18 мар 2019, 17:27
mamol27
Сделал формулу sum для поля часы в сущностях Факт и План.
В сущностях Задачи и Контракты она работает хорошо, в сущностях Этапы нет:

Код: Выделить всё

Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(select func_42.id from app_entity_42 func_42 where func_42.parent_item_id in ) ' at line 1
Query: select e.* , ( (select SUM(func100.field_475+0) from app_entity_45 func100 where func100.id>0 and func100.parent_item_id in (select func_44.id from app_entity_44 func_44 where func_44.parent_item_id in (e.id))(select func_42.id from app_entity_42 func_42 where func_42.parent_item_id in ) ) as field_495, ( (select SUM(func100.field_483+0) from app_entity_46 func100 where func100.id>0 and func100.parent_item_id in (select func_44.id from app_entity_44 func_44 where func_44.parent_item_id in (e.id))(select func_42.id from app_entity_42 func_42 where func_42.parent_item_id in ) ) as field_496 from app_entity_43 e where id='44'
Page: /rukovoditel/index.php?module=items/info&path=42-2/43-44
И как в итоге создать отчет нужного формата? Желательно чтобы списки были выпадающими.

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 18 мар 2019, 17:55
alcompstudio
Какая у вас формула? Как вы создавали, использовали Функции из Дополнения?

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 00:34
Евгений
mamol27 писал(а): 18 мар 2019, 17:27 Сделал формулу sum для поля часы в сущностях Факт и План.
В сущностях Задачи и Контракты она работает хорошо, в сущностях Этапы нет:
В запросе у вас лишние скобочки, которые не закрыты. Вы запрос вручную составляли?

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 10:45
mamol27
alcompstudio писал(а): 18 мар 2019, 17:55 Какая у вас формула? Как вы создавали, использовали Функции из Дополнения?
Евгений писал(а): 19 мар 2019, 00:34 В запросе у вас лишние скобочки, которые не закрыты. Вы запрос вручную составляли?
Эти две функции использую во всех сущностях, в задачах и контрактах работает, в этапах нет

Изображение

Изображение

Изображение

Изображение

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 11:17
alcompstudio
Пока что сложно так проверить, не могу сказать в чем может быть проблема, нужно смотреть вашу систему. По идее, если у вас действительно указанная структура имеет прямое подчинение (т.е. Этапы тоже лежат в ветке по прямой структуре, не через связанные записи, хотя судя по схеме все лежит в одной "плоскости"), и поля имеют идентичный тип (числовые или MySQL формула), то должно работать.

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 11:42
mamol27
alcompstudio писал(а): 19 мар 2019, 11:17 Пока что сложно так проверить, не могу сказать в чем может быть проблема, нужно смотреть вашу систему. По идее, если у вас действительно указанная структура имеет прямое подчинение (т.е. Этапы тоже лежат в ветке по прямой структуре, не через связанные записи, хотя судя по схеме все лежит в одной "плоскости"), и поля имеют идентичный тип (числовые или MySQL формула), то должно работать.
Все так и есть, схему я показал в первом сообщении.
Поля "Сумма часов План" и "Сумма часов Факт" скопированы из сущности "Задачи" во все остальные(Контракты, Этапы) родительские.

Изображение

Но меня все-же интересует главным образом один вопрос, возможно ли сделать сводную таблицу из этого набора, где поля "Сумма часов План" и "Сумма часов Факт" будут заголовками столбцов, а заголовками строк будут названия контрактов, этапов и задач?

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 12:17
alcompstudio
А, так у вас План и Факт еще как отдельные сущности к Задачам? Я думал, это поля в указанных сущностях (Контракты-Этапы-Задачи). Тут тогда не могу сказать почему ошибка, тогда не могу сказать почему ошибка, не знаю построения вашей системы и полей в них и взаимодействия. Я давал обычный пример, если бы были только например числовые поля План и Факт в Задачах, и такие же но MySQL формула - в сущностях Этапы и Контракты. Тут пока не подскажу наверное...

Re: Создание отчета-таблички из нескольких сущностей

Добавлено: 19 мар 2019, 12:30
support
На данный момент сделать такую таблицу возможности нет.