ДимаШ, очень благодарю за конструктивную критику! Респект!
Однако не со всеми Вашими доводами я согасен:
в регистре Бюджеты сделал три измерения (Подразделение, Статья затрат и Сценарий и два ресурса: Сумма и Превышение) как в типовой УПП.
Имеется ввиду СценарийПланирования? Зачем он здесь? И не совсем понятно, как Вы храните Факт, откуда его получаете, чтобы сравнить с Планом и Превышением.
В зарплате ошибки:
1. Отсутствуют маркеры записи и очистки регистра (Движения.ОсновныеНачисления.Записывать = Истина, Движения.ОсновныеНачисления.Очистить())
"
Записывать=Истина" здесь ставить не надо, ведь ниже идет принудительная запись данного набора движений:
Движения.ОснНачисления.Записать();Движения.ОсновныеНачисления.Очистить() - тоже не надо, т.к. очищаем для того, чтобы затем "Записать()" с целью удаления из регистра старых записей. Это нужно при Старой методике контроля остатков, когда после такой записи идет получение данных из этого регистра.
А к зарплате контроль остатков никакого отношения не имеет.
На сколько я помню, никто эти конструкции в задачах по ПР и не использует ))
2. Вместо Движения.ОснНачисления.Записать() правильнее записывать Движения.Записать().
Все не так однозначно. На самом деле
b]Движения.ОснНачисления.Записать()[/b] - записывает движения по конкретному регистру. Принудительно. Вручную.
Движения.Записать() - выполняет запись движений по всем регистрам, для которых включено "Записывать". При записи этот флаг сбрасывается.
3. Расчет зарплаты не выведен в отдельный общий модуль
Пожалуй, надо учесть. Хоть это и бессмысленно, но лучше подстраховаться и снизить негативные эмоции у эзаменатора ))
Две ошибки - отсутствует проверка на ноль и проверка копеек
Это условие и нужно, чтобы решать проблему копеек.
Если списываем часть Количества, то списываем часть Суммы, а вот если Количество списывается целиком, то и Сумму списываем ровно ту, что на остатке.
Как заметил Uncle, нуля там быть не может, хотя я постараюсь учесть Ваше замечание,
ДимаШ, ведь экзаментор тоже может этого не заметить. Лучше подстраховаться и убрать все эти острые углы ))
Еще раз спасибо за серьезный комментарий к моему решению!