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

Все вопросы/проблемы по установке и использовании.
Ответить
mamol27
Сообщения: 65
Зарегистрирован: 05 июн 2018, 17:23
Имя: Илья
Откуда: Россия, Санкт-Петербург

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

Сообщение mamol27 »

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

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

Такое возможно в вашей системе?
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

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

Сообщение alcompstudio »

Добрый день!

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

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

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

P.S. Также можно использовать функцию {1} для сущности Контракты, минуя сущность Этапы, если вам нужно отражать результаты вычислений сразу в сущности Контракты. Так, в принципе, тоже должно работать. Но тогда не будет возможности отражать данные в Этапах.
mamol27
Сообщения: 65
Зарегистрирован: 05 июн 2018, 17:23
Имя: Илья
Откуда: Россия, Санкт-Петербург

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

Сообщение 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
И как в итоге создать отчет нужного формата? Желательно чтобы списки были выпадающими.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

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

Сообщение alcompstudio »

Какая у вас формула? Как вы создавали, использовали Функции из Дополнения?
Аватара пользователя
Евгений
Сообщения: 398
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

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

Сообщение Евгений »

mamol27 писал(а): 18 мар 2019, 17:27 Сделал формулу sum для поля часы в сущностях Факт и План.
В сущностях Задачи и Контракты она работает хорошо, в сущностях Этапы нет:
В запросе у вас лишние скобочки, которые не закрыты. Вы запрос вручную составляли?
mamol27
Сообщения: 65
Зарегистрирован: 05 июн 2018, 17:23
Имя: Илья
Откуда: Россия, Санкт-Петербург

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

Сообщение mamol27 »

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

Изображение

Изображение

Изображение

Изображение
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

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

Сообщение alcompstudio »

Пока что сложно так проверить, не могу сказать в чем может быть проблема, нужно смотреть вашу систему. По идее, если у вас действительно указанная структура имеет прямое подчинение (т.е. Этапы тоже лежат в ветке по прямой структуре, не через связанные записи, хотя судя по схеме все лежит в одной "плоскости"), и поля имеют идентичный тип (числовые или MySQL формула), то должно работать.
mamol27
Сообщения: 65
Зарегистрирован: 05 июн 2018, 17:23
Имя: Илья
Откуда: Россия, Санкт-Петербург

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

Сообщение mamol27 »

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

Изображение

Но меня все-же интересует главным образом один вопрос, возможно ли сделать сводную таблицу из этого набора, где поля "Сумма часов План" и "Сумма часов Факт" будут заголовками столбцов, а заголовками строк будут названия контрактов, этапов и задач?
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

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

Сообщение alcompstudio »

А, так у вас План и Факт еще как отдельные сущности к Задачам? Я думал, это поля в указанных сущностях (Контракты-Этапы-Задачи). Тут тогда не могу сказать почему ошибка, тогда не могу сказать почему ошибка, не знаю построения вашей системы и полей в них и взаимодействия. Я давал обычный пример, если бы были только например числовые поля План и Факт в Задачах, и такие же но MySQL формула - в сущностях Этапы и Контракты. Тут пока не подскажу наверное...
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

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

Сообщение support »

На данный момент сделать такую таблицу возможности нет.
Ответить