Алгоритм. Оклады #712693


#0 by wwwqwert2014
Никак не могу придумать нормальный алгоритм. Постоянно ерунда какая-то получается. Не хочется изобретать велосипед. Можете подсказать как бы вы правильно и рационально реализовали данную задачу.      Необходимо начислять оклад документом начислениеЗарплаты. в документе могут быть данные за разные отчетные периоды. Значение оклада берётся из РС. То есть например, сотруднику Бельдыев начисляется оклад за период с 01.04 по 30.04, а сотруднику Васина за период 01.05 - 31.05. Это условие на позволяет на РС в запросе наложить условия начала и конца периода. Очень важная деталь. Значения окладов могут меньяться каждый день. Это нужно учесть при расчете зарплаты. Я кое-как написал алгоритм, но мне кажется, что это Велосипед. Подскажите, как бы вы написали. Спрашиваю с той целью, чтобы сэкономить время на экзамене: Процедура ОбработкаПроведения(Отказ, РежимПроведения)
#1 by wwwqwert2014
полное условие задачи:     Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонений. Каждый сотрудник может работать одновременно в нескольких подразделениях компании, то есть совместительство допускается.     Все сотрудники работают по пятидневному графику работы, однако в решении необходимо предусмотреть возможность работы по нескольким различным графикам.     Сотрудники предприятия получают оплату по окладу пропорционально отработанному времени в часах. Часовая ставка рассчитывается как начальное значение оклада, деленное на количество рабочих часов в том же периоде, что и фактически отработанные часы. Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода. В информационной базе необходимо хранить историю его изменения.     По мере необходимости любой сотрудник может быть отправлен в командировку. В этом случае начисление по окладу не происходит. Часы, проведенные в командировке, определяются по пятидневному графику работы. Часовая ставка для расчета командировки определяется как сумма всех начислений за два предыдущих месяца, деленная на количество отработанных часов в двух предыдущих месяцах. Следует учесть, что данные о командировке могут вводиться в систему задним числом. Механизм перерасчетов в рамках данной задачи использовать не надо. Ввод всех начислений происходит документом «Начисление зарплаты». Документ в расчетном периоде может быть один (сразу для всех видов расчета), а может быть несколько (по одному для каждого отдельного вида расчета). Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01, а запись оклад: с 10.01 по 03.02 вводить нельзя. В одном документе могу быть данные за разные расчетные периоды.
#2 by wwwqwert2014
вот сам dt-шник
#3 by ИсчадиеADO
сходи на форум Чистова, там все эти задачи решенные
#4 by wwwqwert2014
на чистове прорешены все задачи из этого сборника, а прогрешанные актуальные билеты я не обнаружил. В сборнике пролистал все задачи, нет строчки:В одном документе могу быть данные за разные расчетные периоды. Ни в одной задаче
#5 by wwwqwert2014
задачи на экзамене малость видоизменены. А это видоизменение окаалось существенным и хотелось бы узнать кто как бы составил алгоритм
#6 by ИсчадиеADO
были такие задания, не во всех конечно, но были
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С