Уважаемые софорумцы... я уже устал честное слово искать решение... немогу понять то ли я перемудрил, то ли что... Подскажите как можно решить такую проблему:
1) Есть объект График (атрибуты: деньги отделов в рублях, т.е. отдел 1, отдел 2, .... отдел 10)
2) Ему подчинен объект вид работ.
3) А объекту Вид работ подчинены объекты Задание ( атрибуты: дата выдачи, дата сдачи, Выдающий отдел, Принимающий отдел, процент денежных средств от денег отдела по данному виду работ)
А вот теперь постановка задачи:
На этапе создания Задания должно произойти следующее:
1) Найти деньги полученные именно этим отделом.
2) Расчитать их в соответствии с процентом по данному заданию (это легко)
3) Далее выделить количество месяцев между датой выдачи и датой сдачи ( тоже легко)
4) Поделить полученные деньги на количество месяцев ( опять таки легко)
А вот теперь самое сложное и интересное:
5) Каждому месяцу (году тоже) в соответствии с отделом отнести деньги.
6) собрать отчет за месяц, за год, на текущий период ( по горизонтали месяца, по вертикали названия отделов).
Я создал папку год в которой лежит 12 месяцев. А вот что дальше как это все правильно вычислить и отнести в нужное место я пока не придумал. Конечно можно тупо писать циклы и проверки, но представляется какое огромное и медленное действие получиться... Вот интересно что скажет наше сообщество...
Поиск решения... Модель данных... Экономические показатели..
- Alexey
- Активный участник
- Сообщения: 123
- Зарегистрирован: 21 окт 2005, 15:49
- Откуда: Белоруссия, Минск
- Контактная информация:
Поиск решения... Модель данных... Экономические показатели..
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
П.1. остался без комментариев - решена ли задача? Я бы код денежного атрибута записал в объект подразделения и когда его выбираешь из оргструктуры, то считываешь этот код и по нему находишь деньги отдела.
Непонятен пункт 5. Деньги надо именно хранить по месяцам? А зачем тогда пункт 4? В отчете не получается посчитать? Наверняка можно.
Пункт 6 - что такое "текущий период"? Количество колонок в отчете должно быть определено конечным числом.
Отчет за месяц - несложно, за год тоже не очень, просто будет много вычисляемых полей с if'ами.
Непонятен пункт 5. Деньги надо именно хранить по месяцам? А зачем тогда пункт 4? В отчете не получается посчитать? Наверняка можно.
Пункт 6 - что такое "текущий период"? Количество колонок в отчете должно быть определено конечным числом.
Отчет за месяц - несложно, за год тоже не очень, просто будет много вычисляемых полей с if'ами.
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
мне кажется что объект график стоит не на своем месте - график это то к чему мы должны прийти в конце
я бы сделал так
1Отделы
1.1 Отдел
1.1.1 Виды работ
1.1.1.1 Работа
1.1.1.1.1 Задания
1.1.1.1.1.1 Задание
т.е. основной объект - Задание
Задание имеет:
-какие то свои атрибуты
-избыточные атрибуты содержащие все ключевые позиции истории т.е. в данном случае адрес/название работы и отдела
мысль такая - объект для анализа должен содержать в себе все для анализа если не непосредственно-то косвенно в виде адресов ввода вывода или избыточных атрибутов содержащих значения связанных объектов
-чтобы почти не отвлекаться на сторону
теперь анализ/график и отчеты
по одому отделу
-диаграмма в действии Делаем 12 запросов count(*) в секции WHERE которых стоит фильтр по типу задание+ фильтр на месяц(атрибут)+ фильтр на отдел(атрибут) все запросы пройдут приемлемо быстро
-отчет делаем связанный отчет 1е-пользовательский отчет на запросе выбирающий все id нужных объектов с тем же фильтром (без вывода атрибутов)+2е- обычный отчет с источником данных по выделенному объекту уже с выводом атрибутов выделенных объектов
(здесь теряем скорость только в случае вывода атрибутов-по возможности атрибуты необходимо сократить до минимума)
по всем отделам сразу
в принципе тоже самое но тут уже нужна группировка -которой не владею
может Андрей поможет
http://www.lplm.ru/phpBB2/viewtopic.php?t=261
PS но создавать основную структуру по месяцам - это все таки неверно - главное данные а их анализ представление и отчеты с привязкой к чему угодно - уже вторично
я бы сделал так
1Отделы
1.1 Отдел
1.1.1 Виды работ
1.1.1.1 Работа
1.1.1.1.1 Задания
1.1.1.1.1.1 Задание
т.е. основной объект - Задание
Задание имеет:
-какие то свои атрибуты
-избыточные атрибуты содержащие все ключевые позиции истории т.е. в данном случае адрес/название работы и отдела
мысль такая - объект для анализа должен содержать в себе все для анализа если не непосредственно-то косвенно в виде адресов ввода вывода или избыточных атрибутов содержащих значения связанных объектов



теперь анализ/график и отчеты
по одому отделу
-диаграмма в действии Делаем 12 запросов count(*) в секции WHERE которых стоит фильтр по типу задание+ фильтр на месяц(атрибут)+ фильтр на отдел(атрибут) все запросы пройдут приемлемо быстро
-отчет делаем связанный отчет 1е-пользовательский отчет на запросе выбирающий все id нужных объектов с тем же фильтром (без вывода атрибутов)+2е- обычный отчет с источником данных по выделенному объекту уже с выводом атрибутов выделенных объектов
(здесь теряем скорость только в случае вывода атрибутов-по возможности атрибуты необходимо сократить до минимума)
по всем отделам сразу
в принципе тоже самое но тут уже нужна группировка -которой не владею

http://www.lplm.ru/phpBB2/viewtopic.php?t=261
PS но создавать основную структуру по месяцам - это все таки неверно - главное данные а их анализ представление и отчеты с привязкой к чему угодно - уже вторично
Последний раз редактировалось Александр 05 июл 2007, 07:43, всего редактировалось 1 раз.
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
а теперь посмотрим с твоей стороны
'главный' объект - диаграмма
ну тут вообще все просто
заводим в ней (диаграмме) nx12 атрибутов по месяцам
n - атрибут отдел,деньги,работы,задания и т.д.
вешаем этот объект над (у тебя подчиенные объекты-не знаю что это такое - предпочитаю независимые объекты) предложенной выше структурой отделов
и по мере добавления отделов,работ,заданий,денег - отмечаем все это в данном объекте, т.е. nx12 счетчиков (может атрибуты поекта? не знаю не пользовался - предпочитаю обычные атрибуты)
тогда ты имеешь всегда самые актуальные данные -БЕЗ ЗАПРОСОВ т.е. МГНОВЕННО да еще и в виде ГРАФИКА на атрибутивной форме
(кстати ты можешь совместить (добавить атрибуты) объект график с объектом отдел и иметь актуальные графики по каждому отделу отдельно и по всем отделам сразу (объект - отделы) - а можешь и не совмещать и вообще не показывать данный объект (доступ) - хранить его в тайне
и использовать для МГНОВЕННЫХ отчетов поражая окружающих возможностями Лоции
)
единственный минус- если кто-то запорет пару атрибутов из этого объекта - то все рухнет НО можно сделать тяжелое действие которое бы восстанавливало бы этот объект на запросах
так что так тоже ничего
ps Мы придерживаемся первого избыточного варианта (он более надежен, хотя и не мгновенен в плане анализа- но быстрее чем в Лоции), но возможно, для оценки, задействуем и второй способ - используя специальные объекты содержащие статистические данные того или иного дерева проекта
... именно специальный объект а не формы дочерних объектов так любимые Андреем и Крупским


'главный' объект - диаграмма

заводим в ней (диаграмме) nx12 атрибутов по месяцам
n - атрибут отдел,деньги,работы,задания и т.д.
вешаем этот объект над (у тебя подчиенные объекты-не знаю что это такое - предпочитаю независимые объекты) предложенной выше структурой отделов
и по мере добавления отделов,работ,заданий,денег - отмечаем все это в данном объекте, т.е. nx12 счетчиков (может атрибуты поекта? не знаю не пользовался - предпочитаю обычные атрибуты)
тогда ты имеешь всегда самые актуальные данные -БЕЗ ЗАПРОСОВ т.е. МГНОВЕННО да еще и в виде ГРАФИКА на атрибутивной форме
(кстати ты можешь совместить (добавить атрибуты) объект график с объектом отдел и иметь актуальные графики по каждому отделу отдельно и по всем отделам сразу (объект - отделы) - а можешь и не совмещать и вообще не показывать данный объект (доступ) - хранить его в тайне


единственный минус- если кто-то запорет пару атрибутов из этого объекта - то все рухнет НО можно сделать тяжелое действие которое бы восстанавливало бы этот объект на запросах
так что так тоже ничего
ps Мы придерживаемся первого избыточного варианта (он более надежен, хотя и не мгновенен в плане анализа- но быстрее чем в Лоции), но возможно, для оценки, задействуем и второй способ - используя специальные объекты содержащие статистические данные того или иного дерева проекта







Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Alexey
- Активный участник
- Сообщения: 123
- Зарегистрирован: 21 окт 2005, 15:49
- Откуда: Белоруссия, Минск
- Контактная информация:
Спасибо большое Александр за идейный подход к решению моей проблемы, очень даже интересно получилось, но как всегда бывает опишешь задачу которая не может решиться и она мгновенно решается сама, ну вот что и получилось. Теперь осталось составить только отчет и все будет хорошо.
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным