БУ и ПР решил прогнать еще разок, ибо есть вопросы по решению
Задачу БУ 15 билета считаю одной из самых сложных.
Сложность заключается в том, что надо не просто погасить ДолгПоНакладной ДеньгамиФилиаловКурьера,
но еще и перекидывать деньги между филиалами в рамках курьера (если деньги у курьера есть, но они относятся к другому филиалу).
В ходе решения выявил еще одну ловушку, заложенную создателями билетов: в тексте задания четко казано, что в ПН «помимо всего указывается и курьер», а про Филиал наоборот ничего не сказано. Зачем в ПН нужен курьер я так и не понял (если только для отвлечения внимания), а вот филиал там,по-моему, обязателен.
Хотя… Может я чего не понимаю? Если кому-нибудь известно, зачем в ПН указывать Курьера, поясните, пожалуйста.
БУ задача интересна и своим отчетом. На первый взгляд он выглядит очень простым: вроде бы достаточно вывести данные из таблицы ОстаткиИОбороты.
Однако, из-за перемещений денег между Филиалами в рамках Курьера, везде возникает задвоение сумм.
В качестве решения, на поля ПолученоВКассе и Отчитался установлены условия по типу документа регистратора.
В ПР задаче сложность может вызывать расчет Оклада на фоне условия «разные расчетные периоды». ПериодРегистрации выводим в ТЧ и получаем последний Оклад на момент этого ПериодаРегистрации.
Справочник Графики в задаче не нужен, зато в рег свед Графики добавляем измерение Подразделение. В обработке заполнения графиков, наряду со Значением (Часы) заполняем еще и ДниШестидневка, которые пригодятся для расчета отпуска.
Но самым интересным в этой задаче, для меня, остается отчет ДиаграммаГанта. Хоть и делал его уже много раз, но каждый раз копаюсь в синтаксис-помощнике, разбираясь, что такое Диаграмма Ганта и с чем ее едят. Для себя вывел такой алгоритм, который стараюсь запомнить:
1) Получить данные из таблицы ФактПД:
Сотрудник
ВР
ПДНачало
ПДКонец
2) В обходе выборки самое интересное:
Точка=Диаграмма.УстановитьТочку(Сотр)
Серия=Диаграмма.УстановитьСерию(ВР)
Значение=Диаграмма.ПолучитьЗначение(Точка, Серия)
Интервал=Значение.Добавить
Заполнить Нач и Кон Интервала