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