Имя: Пароль:
1C
1С v8
Сторнирование в расчете больничного
0 Sabbath
 
16.02.12
20:51
Конфа ЗУП Корп последняя версия. Допиленная, но не в той части, что я тут опишу.

Есть вид расчета "Надбавка за выслугу лет". Он рассчитывается от базы, базой является оклад.

В прошлом месяце были начисления
Оклад по часам - 20 686,00
Надбавка за выслугу лет - 2 068,60

т.е. мы видим, что от базы взялось 10% надбавки

Далее уже в этом месяце делаем больничный за прошлый период. Делаются сторно-записи:
Оклад по часам - -1 073,33
Надбавка за выслугу лет - -103,43

т.е. отсюда видно, что это сторнируется не 10%, а меньше.

Нахожу в коде, как получается база для сторнирования. Процедура Рассчитать() модуля объекта

строка кода:

ТаблицаСторноЗаписей = НаборОсновныеНачисления.ПолучитьДополнение();

получается таблица значений, и там уже есть поле РасчетнаяБазаЗаЕдиницуНормыВремени = 1034,30

Отсюда вывод, что база для расчета получается средствами платформы и расчет в каком-то смысле правильный. Но я не пойму сути. Оклад то сторнируется на сумму, больше, чем расчетная база. Какая-то тут несогласованность. Может быть корректность добивается настройками видов расчета (вытеснение и т.п.).

Описание метода ПолучитьДополнение в синтаксис-помощнике:

Возвращаемое значение:

Тип: ТаблицаЗначений.

Описание:

Получает дополнительные данные, позволяющие выполнить сторнирование записей прошлых периодов регистрации при вводе текущего набора записей. Данные получаются в виде таблицы значений со следующей структурой: все предопределенные поля записи регистра расчета кроме регистратора и номера записи, все измерения, ресурсы и реквизиты, а также дополнительные поля - период регистрации сторнирования, дата начала сторнирования и дата окончания сторнирования.
Дополнение - это данные, которые система "предлагает" добавить в текущий набор записей для того, чтобы текущие записи набора в результате сохранения имели максимальный фактический период действия за счет сторнирования (если это необходимо) записей прошлых периодов регистрации. Предлагаемые дополнительные сторно-записи формируются на основании периодов действия записей регистра расчета и правил конкуренции за период действия, задаваемых списками вытесняемых видов расчета в плане видов расчета регистра.
Необходимость получить дополнение возникает при попытке ввести учетную запись с периодом действия, который уже "занят" введенной ранее учетной записью, период регистрации которой меньше, чем период регистрации вводимой учетной записи.
В полученной таблице значений поля заполнены данными сторнируемых записей (уже существующих в регистре расчета) и, кроме того, дополнительными данными: период регистрации сторно - период регистрации, в котором система рекомендует зарегистрировать сторно-запись, дата начала и дата окончания периода сторнирования - период, который система рекомендует ввести в качестве периода действия сторно-записи.


Подскажите, куда копать дальше?
1 Sabbath
 
17.02.12
10:02
up