Автор Тема: Задача 3.1  (Прочитано 86119 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #60 : Июнь 24, 2011, 03:29:57 pm »
valdu, мне думается 2 варианта
 1) по условию : "Часы, проведенные в командировке, определяются по пятидневному графику работы.", т.е. можно предположить
 что в условии говориться обо всех часах! и о часах "Часы, проведенные в командировке" и о часах "деленная на количество рабочих часов в двух предыдущих месяцах" вне зависимости от графика(ов) по которому работал сотрудник 2 предыдущих месяца
 я думаю этот вопрос, лучше уточнить на devtrainingforum.v8.1c.ru/forum/

 2)Логичнее все таки брать часы двух предыдущих месяцев по тем графикам по которым работал сотрудник(потому как если сотрудник отработал месяц по 1 через 3 и получил соответствующую зп а мы ему ЗП по графику 1/3 разделим на 5 раб дней получиться какая то глупая цифра)
 Тогда тут скорее всего необходимо ввести ресурс так же как и для отработанных часов
 при расчете оклада записываем
 Запись.ОтработанныеЧасы = ЗначениеФактическийПериодДействия
 Запись.РабочиеЧасы = ЗначениеПериодДействия

 и уже по РабочиеЧасыБаза будем определять количество РАБОЧИХ часов, по ОтработанныеЧасыБаза количество ОТРАБОТАННЫХ часов

 ввиду того что из 2х предыдущих месяцев сотрудник мог поработать один месяц по 2х дневке а второй по шестидневке, то засунуть РабочиеЧасы в ресурс думаю оправданно

 но тут есть маленькая засада, если в одном месяце ввести сотруднику 2 раза оклад то РабочиеЧасы за двоится, поскольку ЗначениеПериодДействия будет одинаковым для обоих расчетов в одном месяце это количество часов рабочих во всем месяце, можно конечно проверить в первый или не в первый раз начисляется оклад в этом месяце, или можно сослаться на условие что сотруднику начисляется оклад ежемесячно 1 раз, но серавно как то не по человечески

 Коллеги кто что думает по сему вопросу?
 я этот вопрос поднимал тут http://forum.chistov.pro/index.php?topic=1525.msg1#msg1 но честно так до конца и не понял как тут лучше поступить

 valdu, закинь этот вопрос на девтренинг. будет результат отпишись, попроси Белоусова уточнить по варианту 1, можно ли так трактовать условия
« Последнее редактирование: Июнь 24, 2011, 04:18:33 pm от Лукашов Андрей Сергеевич »

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Re: Задача 3.1
« Ответ #61 : Июнь 24, 2011, 04:40:20 pm »
Quote (Lukashov_as)
Коллеги кто что думает по сему вопросу?
 я этот вопрос поднимал тут http://forum.chistov.pro/index.php?topic=1525.msg1#msg1 но честно так до конца и не понял как тут лучше поступить

 я вам ответил в этой ветке, но видимо ответил непонятно.

 
Quote (Lukashov_as)
Часы, проведенные в командировке, определяются по пятидневному графику работы."

 Сотрудник поехал в командировку. Работал в четверг - 9 часов, в пятницу - 10 часов, в субботу - 4 часа. Определяем часы по пятидневке - четверг -8, пятница -8, суббота -0 часов.
« Последнее редактирование: Июнь 24, 2011, 05:07:24 pm от Олег »


Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #62 : Июнь 24, 2011, 04:58:13 pm »
Gyd, правда не понимаю до сих

 как взять проведенные фактически часы в командировке по пятидневке оно то понятно абсолютно, при формировании движения мы график работы сделаем пятидневку, при расчете возмем ЗначениеФактическийПериодДействия, и получим проведенные часы по пятидневке

 а теперь попробую объяснить что не понятно

 присвоив командировке график работы = пятидневка, у нас получиться что
 ЗначениеПериодДействия
 ЗначениеФактическийПериодДействия
 ЗначениеПериодРегистрации
 и!!!!!!
 ЗначениеБазовыйПериод
 


 будут считаться по пятидневке!

 базовый период у нас 2 месяца, предположим, первый месяц чел работал 2 через 2, второй месяц работал по шести дневке, и нам для расчета необходимо узнать количество РАБОЧИХ дней в 2х предыдущих месяцах

 т.е. это количество рабочих часовпри графике 2 через 2 + количество рабочих часовв шестидневке

 вот именно эти рабочие дни надо вытащить!!!! а по пятидневке то ясно понятно тут вопросов нет, и ЗначениеБазовыйПериод будет по пятидневке

 вот тут реально не понимаю

 задачу прикрепленную увидел после того как запостил вопрос. вечером гляну спасибо за пример
« Последнее редактирование: Июнь 24, 2011, 06:12:17 pm от Лукашов Андрей Сергеевич »

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Re: Задача 3.1
« Ответ #63 : Июнь 24, 2011, 05:08:18 pm »
Lukashov_as, я уже сам запутался smile попозже посмотрю свежим взглядом.

valdu

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр
Re: Задача 3.1
« Ответ #64 : Июнь 24, 2011, 05:31:12 pm »
Gyd
 Посмотрел ваше решение. Ввел один документ только с окладом за апрель : бельдыев - 20000
 еще один за май: бельдыев - 20000. Оба с шестидневкой.

 в июне документ с командировкой: опять бельдыев с 01.06 по 05.06. Вроде как 3 дня (24 часа). Результат: 2 790,70

 не понял как так получилось. По моим расчетом должно быть или 2307,69 или 2727,27
« Последнее редактирование: Июнь 24, 2011, 05:31:53 pm от Александр »

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #65 : Июнь 24, 2011, 06:10:21 pm »
аааааа Gyd, куда свои вариант убрал, только добрался глянуть че как

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Re: Задача 3.1
« Ответ #66 : Июнь 24, 2011, 08:17:51 pm »
Quote (Lukashov_as)
куда свои вариант убрал, только добрался глянуть че как

 да что-то он мне показался нерабочим, я решил убрать пока. Сам вот засомневался.

 А вам в этой веточке (http://forum.chistov.pro/index.php?topic=1525.msg1#msg1) надо было возразить мне как следует, так бы и сказали: мне непонятно, объясни еще раз. Я же тоже могу ошибаться, может не заметил чего-то.

 Добавлено (24.06.2011, 20:17)
 ---------------------------------------------
 
Quote (Lukashov_as)
присвоив командировке график работы = пятидневка, у нас получиться что
 ЗначениеПериодДействия
 ЗначениеФактическийПериодДействия
 ЗначениеПериодРегистрации
 и!!!!!!
 ЗначениеБазовыйПериод

 будут считаться по пятидневке!

 Вы абсолютно правы, я пошел по пути коллег считая что их варианты рабочие, а это оказывается не так. Плюсую smile

 Фактические часы посчитать просто, а вот рабочие... надо подумать.
« Последнее редактирование: Июнь 24, 2011, 08:19:08 pm от Олег »

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #67 : Июнь 24, 2011, 10:04:54 pm »
Gyd, у меня в голове крутится пока только 1 вариант решения

 это в ресурс вводить ЗначениеПериодДействия, но тут как я писал засада при двойном вводе оклада даже при разных периодах действия пусть первый раз начисляли с 01 по 12 а второй раз решили начислять с 25 по 30
 суть в том что почему то не смотря на описание в проф разработке что
 ЗначениеПериодДействия - это количество "дней" в периоде действия, а ЗначениеПериодРегистрации - это количество дней в периоде регистрации, на практике они равны, почему не знаю этот вопрос тоже надо разбирать!
 и получится если мы сотруднику на числим в одном месяце 2 раза оклад у нас за двоится количество дней РАБОЧИХ, это получается при расчете надо смотреть а не вносился ли оклад уже в этом периоде регистрации при этом графике работы

 и главное посчитать именно РАБОЧИЕ в базе при возможности работы сотрудником по разным графикам работы при том что сам расчет считается по пятидневке(при неком определенно заданном графике работы), а не ОТРАБОТАННЫЕ, отработанные все просто вносим в ресурс ОтработанныеЧасы ЗначениеФактическийПериод, а вот РАБОЧИЕ!!!! tongue

 можно сделать предположение что начисляется только раз в периоде регистрации конечно, тогда 2й ввод исключается

 коллеги спецы присоединитесь к вопросу, очень интересно как здесь выкрутится эффективно
« Последнее редактирование: Июнь 24, 2011, 10:16:28 pm от Лукашов Андрей Сергеевич »

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Re: Задача 3.1
« Ответ #68 : Июнь 25, 2011, 08:02:46 am »
Посмотрите базу пожалуйста, сделал следущее:

 1- период, июнь, (рабочих - 192, отработано фактически - 144):
 док. от 30.06 - оклад с 1 по 15 - по шестидневке(рабочих 104, отработано фактически - 56)
 /-----------/ - оклад с 16 по 30 - по пятидневке(рабочих 88, отработано фактически - 88)
 док. от 15.06 - больничный с 6 по 12

 2- период, июль, (рабочих - 208, отработано фактически - 168):
 док. от 31.07 - оклад с 1 по 31 - по шестидневке(рабочих 208, отработано фактически - 168)
 док. от 21.07 - больничный с 15 по 20

 ИТОГО: рабочих часов за 2 периода - 400, можно увидеть в док. от 30.08 (командировка). Вроде работает smile
Вложения:
3_1_Gyd.dt
« Последнее редактирование: Июнь 25, 2011, 08:07:21 am от Олег »

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #69 : Июнь 25, 2011, 08:19:36 pm »
Gyd, работает tongue
 сижу не вгоняю как оно так

 У оклада нет базовых видов расчета, при этом ты вгоняешь базовый период окладу равный периоду действия
 и получаешь
 Стр.РабочиеЧасы = Выборка.ВсеЧасыЗаБазовыйПериод;

 вот же блин финт ушами wacko

 я так понимаю это ты так извратился потому что вопреки справки ЗначениеПериодДействия возвращает все часы за период регистрации а не только часы за период действия

 мне интересно это глюк или фича или я что то не понимаю
 то что
 ЗначениеПериодДействия = ЗначениеПериодРегистрации

 а вообще красяво получилось
« Последнее редактирование: Июнь 25, 2011, 08:33:18 pm от Лукашов Андрей Сергеевич »

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Re: Задача 3.1
« Ответ #70 : Июнь 25, 2011, 09:45:51 pm »
Quote (Lukashov_as)
ЗначениеПериодДействия возвращает все часы за период регистрации а не только часы за период действия

 точнее сказать за период указанный в поле Периодичность регистра расчета.

 
Quote (Lukashov_as)
а вообще красяво получилось

 сенкс smile

 Подведем итоги:
 ЗначениеПериодДействия - период указанный в настройках регистра (не важно какие вы даты запишите в ПериодДействияНачало/ПериодДействияКонец).
 ЗначениеФактическийПериодДействия - фактически отработанный период (зависит от графика), период между ПериодДействияНачало/ПериодДействияКонец..
 ЗначениеБазовыйПериод - период между БазовыйПериодНачало и БазовыйПериодКонец.
« Последнее редактирование: Июнь 25, 2011, 10:32:24 pm от Олег »

Alexf

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр
Re: Задача 3.1
« Ответ #71 : Июль 01, 2011, 09:58:46 pm »
У меня вопрос: Часовая ставка для расчета командировки определяется как сумма всех начислений за два предыдущих месяца, деленная на количество рабочих часов в двух предыдущих месяцах. Рабочие часы это те, которые сотрудник действительно ОТРАБОТАЛ на самом деле или здесь предполагается всего рабочих часов за эти пред. 2 месяца

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Re: Задача 3.1
« Ответ #72 : Июль 02, 2011, 11:46:30 am »
Alexf, этот вопрос задай лучше на девтренинг чтоб получить официальный ответ, потому как с ним большие непонятки
 с одной стороны в каких-то задачах написано РАБОЧИЕ дни в каких-то ОТРАБОТАННЫЕ, складывается впечатление что в это слово вкладывается смысл.
 но если задуматься то получается полная бессмыслица, если человек отработал в месяце только один день а остальные проболел или еще чего, то получится мы поделим начисленный оклад за один день на дни всего месяца, как то не по человечески.
 Но как вариант вычисления РАБОЧИХ дней глянь у Gyd, забавно придумал как считать рабочие дни

Добавлено (02.07.2011, 11:46)
---------------------------------------------
получишь ответ, поделись здесь, вопрос интересный


metanal

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Соколов А.С.
Re: Задача 3.1
« Ответ #73 : Июль 02, 2011, 02:06:46 pm »
Покритикуйте пожалуйста мое решение
Вложения:
3.1_metanal.dt

4ekuct25

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Re: Задача 3.1
« Ответ #74 : Июль 20, 2011, 12:47:12 pm »
Могу ошибаться, но Gyd ВсеНачисленияЗаБазовыйПериод делит на РабочиеЧасыБаза, а надо на ЧасовБаза.
 Получается как Lukashov_as говорил:
 
Quote (Lukashov_as)
если человек отработал в месяце только один день а остальные проболел или еще чего, то получится мы поделим начисленный оклад за один день на дни всего месяца