Как мне правильно получить число дней, зная ДанныеГрафик.ЗначениеФактическийПериодДействия в часах? Можно, конечно, делить на 8, но вдруг не 8 часов работал человек?
я таким образом выъодил из ситуации, не знаю, насколько это правильно:
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
СтруктураПоиска = Новый Структура("НомерСтроки");
Для Каждого Строка Из НаборЗаписей Цикл
СтруктураПоиска.НомерСтроки = Строка.НомерСтроки;
ВыборкаДетальныеЗаписи.Сбросить();
Если ВыборкаДетальныеЗаписи.НайтиСледующий(СтруктураПоиска) Тогда
Если Строка.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад тогда
Строка.Результат = Строка.Ставка * ВыборкаДетальныеЗаписи.ЗначениеФактическийПериодДействия;
Строка.РезультатДни = ВыборкаДетальныеЗаписи.ЗначениеФактическийПериодДействия / 8;//СКОЛЬКО ОТРАБОТАНО ДНЕЙ - НЕ НРАВИТСЯ
Строка.РезультатЧасы = ВыборкаДетальныеЗаписи.ЗначениеФактическийПериодДействия;
Иначе
Если ВыборкаДетальныеЗаписи.РезультатДниБаза <> 0 Тогда
Строка.Результат = Строка.РезультатБаза / ВыборкаДетальныеЗаписи.РезультатДниБаза * ВыборкаДетальныеЗаписи.ЗначениеФактическийПериодДействия / 8;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Просто в зависимых видах расчета иногда расчет результата идет исходи из отработанных часов, а иногда из отработанных дней
И еще такой вопрос. Как бы мне правильно настроить перерасчеты?
Я создал обработку "Перерасчет зарплаты" и в динамическом списке вывел все документы, которые необходимо перерассчитать и потом просто их перепровел. Вот мне интересно, насколько я правильно это сделал.
Вот код процедуры перерасчета