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