Среднемесячный оклад за предыдущие три месяца. Задача по специалисту-платфо #195488


#0 by vhl
текст из задачи: "сумма отпускных рассчитывается как среднемесячный оклад за предыдущие три месяца" Как лучше рассчитывать: 1-записать в регистр запись с видом расчета "отпуск" и с базовым периодом - 3 месяца? Но тогда придется косячить регистр - ставить периодичность - квартал. 2-собирать данные из основной таблицы регистра "ОсновныеНачисления" с условиями по "ПериодДействияНачало" и "ПериодДействияКонец"? Или есть другой более "правильный" способ?
#1 by Said_We
Не период действия а период регистрации. Средний собирается по периоду регистрации за исключением годовой премии.
#2 by Said_We
Цель специалиста - показать как ты работать с базовым периодом можешь.... Но для среднего заработка не сильно применима на практике, есть же повышение ЗП, пересчет пропорционально отработанному времени и т.д. Но писать надо как хотят проверяющие.
#3 by Pashik
Для получения базы за 3мес нужно задать условие периодРегитсрации МЕЖДУ ДатаНач И ДатаКон. Затем плученную базу делим на 3. Я тоже готовлюсь к специалисту :)
#4 by Pashik
+ периодРегитсрации читать как ПериодРегистрации :)
#5 by vhl
В этом случае не задействуются механизмы расчета, что не есть гут А если делать регистр с периодичностью квартал - тут "ЗначениеПериодДействия" для простого "оклад" чего-то не считается :( Что ж делать то?
#6 by Pashik
Какие именно механизмы?
#7 by vhl
Зависимости от базы скажем
#8 by Pashik
Ну, так ты и получешь в запросе базу!
#9 by vhl
Ну так ты запросом выбираешь, а это должна сама система делать. Так то запросом можно и остальные механизны расчетов "сэмулировать".
#10 by Pashik
Так система всё уже расчитала! Ты просто берешь готовые данные.
#11 by Pashik
Вот готовый текст запроса: ИЗ        &ИзмерБаз,
#12 by vhl
И по-твоему это будет работать? При записи вида расчета "отпуск" какой базовый период использовался? Если месяц, то для него и будет рассчитана база как за месяц! И хоть ты там завыбирайся за 3 месяца, в регистре не будет этих данных.
#13 by vhl
тоесть не в регистре а в виртуальной таблице регистра
#14 by Pashik
:)
#15 by Pashik
Это работает, только лишнее условие Регистратор = &Регистратор, его нужно убрать.
#16 by vhl
И все таки - "При записи вида расчета "отпуск" какой базовый период использовался?". И периодичность регистра какая?
#17 by Pashik
Периодичность регистра - месяц. А базовый ща скажу...
#18 by Pashik
У меня используется время отпуска, которое задано в документе, как базовый период.
#19 by vhl
Ну теперь сам подумай - базовый период домустим 20 дней - база и рассчитывается за 20 дней! А ты за какой период из регистра выбираешь? За 3 месяца? К тому же предыдущих
#20 by Said_We
А зачем вообще задавать периодичность отличную от типавого ЗиУП? Месяц так месяц. У Вас же будут принимать те, кто считает так как это сделано в типовом ЗиУП. Даже если они не правы, Вы им врядли что-то докажите. Не смотря на то что БАЗА в платформе не работает как этого бы хотелось.
#21 by sssssergey
"Или есть другой более "правильный" способ?" Не мучайтесь переходите на семерку, самый правильный способ. В нашем городе такая тенденция идет. Только кто возместит затраты за неудачно купленную восьмерку? Франчайзи которые умеют только продавать или 1С за "универсальную и легко внедряемую, общедоступную восьмерку"?
#22 by Said_We
На чет ЗиУП это да!!! Кто не купил - тот и выкидывает. Только разработчикам об этом франчи не говорят. Не удачные внедрения же не красят франча. :-)))
#23 by vhl
Так вы какой вариант предлагаете? Собирать по основной таблице? Не используя механизмы расчетов?
#24 by vhl
Не интересует. Меня по-крайней мере. За 8ку больше платят. Это определяющий для меня критерий выбора
#25 by ottto
Я делал на экзамене так по-моему: 1) Вид расчета "отпуск" - в базу оклад, премии ... 2) Делал запись с видом отпуск. Если в разных месяцах- бил на две и более. За базовый период брал три последних ПОЛНЫХ месяца. 3) При расчете в результат писал Базу/90*ДанныеГрафикаФакт. Может попутал определения. Минут 10 делается.
#26 by vhl
а КАК получали эти 3 последних месяца? При первой записи отпуска - базовый период - 3 месяца? или 3 записи отпуска на какждый месяц?
#27 by ottto
Могу наврать, давно с расчетом не работал Скажем если отпуск с 28.06 по 15.07 Делал следующие записи. 1)Запись.ПериодРегистрации = 01.06.06 Запись.ПериодДействияНачало = 28.06.06
#28 by vhl
как такое может работать в регистре с периодичностью 1 месяц?
#29 by ottto
А в чем собственно дело? Что не работает?
#30 by ottto
Как по твоему типовые работают? Посмотри расчет среднего или отпуска того же
#31 by ottto
в 27 нагнал БазовыйПериодДействияНачало = 31.05.06 )))
#32 by vhl
хм, вроде и вправду работает, только почему - 31.05.06?
#33 by ottto
1) Потому что период трех месяцев НачалоДня(1.03.06) по КонецДня(31.05.06) 2) Ты видимо попутал базовыйПериод с периодДействия. Так вот если ПериодДействияНачало и ПериодДействияКонец принадлежат разным месяцам то регистр не даст записать такую запись, поэтому собственно и бъем по месяцам относя ПериодРегистрации к тому месяцу в котором производилось начисление. На экзамене требуется показать что ты знаешь как работают механизмы поэтому рекомендую все же пользоваться получением базы
#34 by vhl
Точно попутал :). Спасибо добрый человек, это то что мне нужно было!
#35 by Said_We
А для годовой премии тогда какой должен быть период базовый? А если в расчет среднего заработка входят начисления с разным количеством периодов прошлых? Средний заработок не обязательно же бывает для отпуска или БЛ. Материальные помощи разные и премии и т.д. И их считать могут как принятно ПЭО предприятия и закреплено в коликтивном договоре. Для этого в типовой и сделан регистр для среднего, т.е. разбивают на части начисления по типу расчета - высчитывают базу по каждому отдельно (то ли период разный, то ли пересчитывать надо или не надо, то ли еще что) И на основе этого расччитывают сам средний. Но есть одно, но... Очень часто хотят что бы средний распределялся из того из чего он сложился, а при такой разбивки - сделать это крайне сложно.
#36 by Pashik
Короче, с этим вопросом я разобрался.        Если ТекСтрокаОсновныеНачисления.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Отпуск Тогда ВЫБРАТЬ            И Сотрудник В (&СписокСотрудников) Поучаем базу за 3 мес делим её на 3, получаем среднее умножаем на факт и делим на норму (факт и норму нужно включить в запрос). Вроде работает.
#37 by Said_We
РК не забыл? Стоит учесть что РК начисляется не на все начисления, и не все начисления входят в расчет срденего на которые начисляется РК. Т.е. на лицо расчет РК для каждой записи отдельно при расчете среднего. Плюс к этому РК у сотрудника в течении месяца меняется, так как сотрудник ездиет по разным районам с разными РК. После такокого реального в природе условия расчета среднего вся задумка 1С 8.0 с базой в регистрах расчета летит в одно место.... :-)))
#38 by Pashik
Я надеюсь, что на экзамене этого не будет :-)
#39 by Said_We
Откуда оно будет если платформа этого просто не умеет? :-)))
#40 by Said_We
Просто при расете среднего важна не сама база, а то из чего она складывается. И не свернуто, а развернуто.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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