2Kremlin
1. Интерфейс.
Нет деления внутри подсистем. Нет подменю "Создать". В интерфейс не выведены регистры.
2. ОУ.
Вроде все ок. Все стандартно :-).
3. БУ
Документ "Операция" не сделан: нет установки периода, нет установки активности, период в табличной части.
Измерение "Валюта" у РБ ненужно, т.к. Договор по сути и есть разделитель по валюте.
Документ приход денег не учитывает списание валютной суммы, т.к. работает от рублей:
Расходные накладные:
- долг1 100 евро при курсе 100 рублей = 10000 рублей
- долг2 100 баксов при курсе 50 рублей = 5000 рублей
Приход денег: 12000 при курсах 50 рублей за евро и 10 рублей за бакс
- долг1 списывается на 10000 рублей и 200 евро
- долг2 списывается на 2000 рублей и 200 баксов
В рублях долг уменьшился, а в валюте мы теперь должны столько же сколько нам до этого :-)
У корректировки после такого движения вообще кривые.
А должно было быть:
- долг1 списывается на 5000 рублей и 100 евро
- долг2 списывается на 1000 рублей и 100 баксов
- 6000 теряем :-) т.к. нет ни авансов не переплат
И вот теперь корректировка корректно закроет рублевый разрыв на счете.
4. СПР.
При удаления графика для командировки падает в ошибку, при установке графика шестидневка считает по указанному графику: должен ВСЕГДА считать по пятидневке.
Базовый период для командировки указывается вручную: есть возможность взять базу как за 1 так и за 3 месяца (в задаче жестко прописано: только 2 предыдущих).
У измерений РР не установлен флаг "Базовое".
Оклад берется не на начало расчетного период, а самый последний в системе.
Далее исключительно ИМХО о формулировке задачи про "берется на начало расчетного периода":
- у сотрудника было изменение оклада 15го числа
- если пользователь ввел строку расчета оклада с 1 по 31 тогда оклад ко всей записи должен примениться старый
- если пользователь ввел 2 строки расчета оклада с 1 по 15 и с 16 по 31 тогда оклад к первой записи должен примениться старый, а ко второй новый
- если пользователь ввел 2 строки расчета оклада с 1 по 10 и с 11 по 31 тогда оклад к обеим записям должен примениться старый
то есть оклад берется на начало периода действия строки расчета
Оплата за вечер сделана отдельным видом расчета, но не указывается в документе, а считается безусловно при расчете оклада с подменой вида расчета.
А если сотрудник в этом месяце не работал по вечерам?
Или расчетчик сначала посчитал оклад, и только в следующем месяце вечерние (разные периоды регистрации)?
Вид расчета "За вечерние часы" необходимо явно указывать в тч документа и только при его наличии выполнять расчет.
Сам расчет вечерних часов выполнен не по графику.
После подключения сторно еще раз выполняется запись движений с перерасчетом фактического периода - во второй раз необходимо использовать Движения.ОсновныеНачисления.Записать(, Истина) или Движения.ОсновныеНачисления.Записать(, , Ложь), а не Движения.Записать().
Сторнирование выполнено логически корректно, но гораздо проще сэкономить время и просто не вытеснять этот вид расчета командировкой - подобное решение вроде как не считается ошибкой.
5. УФ.
После добавления в комментарий в конец строки любых символов - падает в ошибку.
Вот как-то так :-)