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