Решение ДЗ №15 базового курса
Представляем решение последнего домашнего задания базового курса по программированию.
В этом решении мы поработали над универсальностью алгоритмов, рассмотрели процесс создания новых видов расчета. Как вы увидите для стройно описанных алгоритмов добавить новый вид расчета не составит труда.
Также наглядно продемонстрировано отличие зависимости от базы по периоду действия и периоду регистрации.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.
Отчет не верный – не учитываются данные из дополнительных начислений..
Нужно добавлять еще пару таблиц и соединять их..
Соглашусь, нужно настроить объединение 3х таблиц.
дз с 1 по 15 сделал,некоторые делал с подглядкой на видеоответы
IMHO, для надбавки руководителя правильнее было бы использовать механизм разрезов в виртуальных таблицах. В этом случае не пришлось бы делить премию ежемесячную на премию сотрудников и премию руководителей
Да, но разрезы мы будем рассматривать в курсе продвинутом.
И еще по поводу использования физических таблиц в запросах. Я бы оставила для основных начислений в качестве основной таблицы – таблицу «ОсновныеНачисленияДанныеГрафика», т.к. практически все зависят то периода, и даже для тех, которые не зависят, наверное, все равно быстрее получить данные из виртуальной таблицы. И в дополнительных начислениях, мне кажется, можно обойтись только виртуальными таблицами и предусмотреть , что в запрос попадут не все записи.
Если Выборка.НайтиСледующий(Поиск)Тогда
ИначеЕсли (Запись.ВидРасчета.СпособРасчета=Перечисления.СпособРасчета.Суммой) тогда
Запись.Результат = Запись.Размер*?(Запись.Сторно, -1, 1);
//способа кроме фикс.суммы не зависящего от периода и базы придумать не смогла.
>даже для тех, которые не зависят, наверное, все равно быстрее получить данные из виртуальной таблицы
Для регистров расчета это не так. Поскольку для них нет итоговых таблиц, как для регистров накопления.
В основных начислениях есть вид расчета, результат которого не зависит от данных графика – прогул.
В дополнительных начислениях это может быть премия фиксированной суммой.
Хотя ваше решение тоже возможно.
Почему это прогул не зависит от графика?
В выходные прогулы – не фиксируются, за прогулы можно и штрафовать.
Но, в контексте данной задачи не зависит :)
Евгений, вопрос по поводу надбавки. Зачем «административно отсекать» премии. Ведь можно взять базу и измерением по подразделению и отнять базу с Измерениями (Подразделение, сотрудник) тогда получится как раз нужный результат. Или я чего-то не учитываю?
Да, это вариант.
Конечно запрос серьезно усложняется, но результат будет верный.