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

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

napan

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Alexey
Задача 3.35
« : Июль 30, 2010, 02:52:14 pm »
Мое решение. Может кто второй отчет попроще сделать?
Вложения:
3.35.dt

Bublik

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Приходько Александр Владимирович
Задача 3.35
« Ответ #1 : Август 30, 2010, 05:45:11 pm »
несколько раз у тебя замечал, что ты делаешь функцию с запросом в цикле. думаю это грубая ошибка. хотя ты наверно уже сдал))


palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.35
« Ответ #2 : Сентябрь 08, 2010, 11:00:17 pm »
napan, я согласен с Bublik, снизят непременно. Я так делал :
 Функция ТарифнаяСтавка(ТЗ,Значение)Экспорт;
    
    Для Каждого ТекСтрока из ТЗ Цикл
       Если Значение>=ТекСтрока.Мин и Значение<ТекСтрока.Макс тогда
          Возврат ТекСтрока.Процент;
       КонецЕсли;
    КонецЦикла;
    Возврат 0;

КонецФункции
 
 ТЗ получал перед запросом в расчете и все....

Сам как ты делал, пока замечание не получил от imagoman (спасибо ему большое!), так что меняй расчет пока не привык, не то я долго с собой боролся, т.к очень нравилось расчет строить именно так как ты в своем решении сделал.


baksha_bni

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nikita
Задача 3.35
« Ответ #3 : Октябрь 21, 2010, 08:50:50 am »
napan, регистр сведений "СведенияОСотрудниках" в данной задачи не к чему, как и видрасчета премия в данной задачи не нужно реализовывать...достаточно ТарифнойСтавки и ПроцентаКомпенсации...
 Компенсацию не мы в документе вводим и проверяем не больше ли 100 часов отработано и только тогда записываем результат, а она автоматически должна вводиться если больше 100 часов отработано по окладу...
 результат компенсация тоже неправильно считается, должна "процент от начисленной в том же периоде оплаты по тарифу(т.е. окладу)", в твоем решение "         ИначеЕсли СтрокаНабора.ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисления.Компенсация Тогда
             Если ВыборкаДетальныеЗаписи.ОтработанноЧасов > 100 Тогда
              СтрокаНабора.Результат = ВыборкаДетальныеЗаписи.ОтработанноЧасов * СтрокаНабора.Размер / 100;
             Иначе
                СтрокаНабора.Результат = 0;
             КонецЕсли;
             
          КонецЕсли;"
 и это только на первый взгляд...

baksha_bni

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nikita
Задача 3.35
« Ответ #4 : Октябрь 21, 2010, 01:31:26 pm »
мне показалась подозрительно простой задачей )))
Вложения:
3.35_Baksha_bni.dt

ccgm

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей Ковалев
Задача 3.35
« Ответ #5 : Декабрь 25, 2010, 03:44:40 pm »
По решению napan верные замечания сделали palax и Bublik. К тому, что уже сказали, добавлю следующее:
 а) Неверно задавать процент компенсации по сотруднику. По условию задачи сказано: "Процент компенсации общий для всех сотрудников". Поэтому нужно использовать отдельный регистр сведений.
 б) штраф за прогул не записывается.
 в) ошибочно принята граница начисления компенсации. Должно быть именно 1000 часов, а не 100.
 г) по отчету Компенсации. Использование вложенных запросов не лучшим образом влияет на производительность. Поэтому правильнее использовать временные таблицы. В моем решение запрос достаточно простой. Во временную таблицу я поместил всех сотрудников по заданному периоду, а затем из трех таблиц левым соединением подтянул необходимые данные. Может быть по количеству символов запрос получился сравнимым, но зато структурно более простым.

По решению baksha_bni:
 а) начислять зарплату со знаком плюс за прогулы – это не есть хорошо, в том числе и по условиям задачи. Штрафы за прогул надо записывать в Удержания.
 б) почему-то, как и в предыдущем решении в качестве порогового значения при начислении компенсации ошибочно принято 100 часов, а не 1000. Для реализации этого условия задачи необходимо учитывать наработку водителей в регистре накопления.
 в) ответственность за ввод компенсации в решении возложена на пользователя. Формально это не противоречит условиям задачи. Однако если пользователь забудет ввести компенсацию, то водителю она и не начислится. Поэтому логичнее и правильнее начислять компенсацию автоматически на основании оклада.
 г) в модуле расчета зарплаты дважды выполняется один и тот же запрос. Это строка - Запрос.Выполнить().Выгрузить(). Исправляется легко и лучше не допускать этого на экзамене, чтобы не вызывать лишних замечаний.
 д) прикольно наблюдать в тексте модулей последствия неработающей клавиши Shift.

Таким образом, если реализовать все условия задачи, то она не покажется такой уж легкой.

В своем решении компенсацию и штраф я рассчитываю автоматически на основании оклада и прогула соответственно. При расчете компенсации учитываю наработку водителей в регистре накопления. Чтобы обеспечить корректный расчет зарплаты, в каждом ПВР ввел реквизит КатегорияРасчета.

Мое решение задачи 3.35:


Вложения:
ccgm_3_35.dt
« Последнее редактирование: Декабрь 25, 2010, 03:46:53 pm от Сергей Ковалев »

unknown181538

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 3.35
« Ответ #6 : Январь 11, 2011, 04:34:53 am »
Quote (ccgm)
в) ошибочно принята граница начисления компенсации. Должно быть именно 1000 часов, а не 100.

 Видимо, вы имеете в виду, накопившиеся за несколько месяцев 1000. Но если читать дословно, то получается, что именно 1000 в месяц biggrin
 Никак не могу понять опять, как считать количество дней прогула, если у нас все в часах. Ведь не написано, сколько часов в день он работал...

Matcoder

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: алекс
Задача 3.35
« Ответ #7 : Январь 20, 2011, 11:00:36 pm »
ccgm,
 Ошибка в твоем решении. В качестве базы для расчета компенсации берутся фактические+наработанные часы, а не сумма начислений. В твоей базе посмотри, начислено за сентябрь оплаты по тарифу - 5320, а компенсация(10%) - 102,40. Нужно в расчете оплаты по тарифу оставить заполнение компенсации, а расчет компенсации нужно добавить отдельным условием.
 В целом мне понравилось решение, только все же может лучше вынести запрос в отдельную процедуру. Это будет лучше выглядеть, а то "Для каждого" и потом сразу "Запрос.Выполнить()". В глаза бросается wink

unknown181538, раздели на количество часов в день по графику.

Добавлено (20.01.2011, 23:00)
---------------------------------------------
ccgm, Да, и регистр накопления наверное логичнее оборотный.


Matcoder

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: алекс
Задача 3.35
« Ответ #8 : Январь 21, 2011, 12:43:44 am »
Мое решение. Прсмотрите, плиз, кто-нибудь...
Вложения:
3_35_Matcoder.dt
« Последнее редактирование: Январь 21, 2011, 01:21:43 am от алекс »

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.35
« Ответ #9 : Февраль 14, 2011, 09:01:36 pm »
Matcoder, Как быть со штрафами (5000руб за день прогула) если допустим сотрудник работает разное количество часов в день, т.е не по 8 часов часов в день.
 ОтработаноЧасовБаза/8 не подходит. Дошёл до этого момента, задумался...

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.35
« Ответ #10 : Февраль 15, 2011, 03:20:28 pm »
AndreiPiter, Заведи ресурс в РС ГрафикиРабот еще один 1 - если рабочий, 0 если не рабочий.
 В Проф. разработке предлагается ввести еще одно измерение ВидУчетаРабочегоВремени типа Перечисления: ПоДням, ПоЧасам.

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.35
« Ответ #11 : Февраль 16, 2011, 08:13:39 pm »
SergTH000, мысль хорошая.
 Какая то запутка...Завел два ресурса в РС ГрафикиРаботы: Часы, Дни. В таблице ДанныеГрафика соответсвенно появились Часы и Дни. Тогда я не понимаю, что мы указываем в свойстве "Значение графика", если всё равно в ДанныхГрафика подсчитываются все ресурсы???

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.35
« Ответ #12 : Февраль 16, 2011, 11:47:48 pm »
AndreiPiter, Такая вот штука=) Один ресурс надо указать, остальные подтянутся=)

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.35
« Ответ #13 : Февраль 17, 2011, 08:24:52 pm »
моё решение
Вложения:
AP_3.35.dt

AnderS

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Andrej Seregin
Задача 3.35
« Ответ #14 : Март 02, 2011, 03:19:46 pm »
ccgm,
 Спасибо за идею считать Штраф базой от Прогула. Хотел поставить тебе за нее плюсик в репутацию, но промахнулся с галочкой. Завтра обязательно исправлю. А в целом в решении много спорного. Главное: вряд - ли стоит использовать регистр накопления для учета наработки водителей. Думаю экзаменаторы этого не оценят. Ведь в задаче проверяется умение работать с механизмами расчетов. Тем более что регистр расчета может посчитать наработку более легко и красиво.
 AndreiPiter, к вопросу: "Тогда я не понимаю, что мы указываем в свойстве "Значение графика", если всё равно в ДанныхГрафика подсчитываются все ресурсы???"
 1) Ресурс регистра сведений ДанныеГрафика, отмеченный как "Значение графика" в свойстве регистра расчета можно получать объектной моделью с помощью функции ПолучитьДанныеГрафика()
 2) и это главное (этот ответ есть у Гилева в разборе расчетной задачи и где - то в "Профессиональной разработке ...", но не очень четко) - Если в качестве базового периода задан период не кратный расчетному периоду, то база будет рассчитываться пропорционально сумме именно того ресурса регистра регистра ДанныеГрафика, который отмечен как "Значение графика" регистра расчета за период пересечения базового периода рассчитываемой записи и Фактических периодов действия базовых видов расчета, относительно относительно сумме ресурса за фактические периоды действия базовых видов расчета. Т. О. если использовать табличную модель получения базы и базовый период состоит из целого числа расчетных периодов, то не важно какой ресурс Данных графика отметить как "Значение графика" ( если ресурсов несколько).
 Комментарии к решению задачи:
 -в этой задаче действительно лучше использовать дополнительное измерение регистра ДанныеГрафика а не дополнительный ресурс. дополнительное измерение меньше грузит систему, чем ресурс. А я первоначально хотел использовать именно ресурс.
 -элегантный способ получения ставки. Возьму его на вооружение. я раньше использовал нечто похожее но немного сложнее. Однако в запросе есть два косяка:
 а) запрос нужно упорядочить по убыванию поля "РазмерСтавки.ЧасовОт", иначе считается не правильно,
 б) совсем крошечное замечание - в условии соединения должно быть отношение ">=" а не ">".
 - Штраф все же лучше поместить в отдельный ПланВидовРасчета, чтобы начисления с удержаниями не смешивать и считать его например базой от ресурса ОтработаноДней вида расчета Невыход, как сделано у ccgm.

Danan

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Данияр
Задача 3.35
« Ответ #15 : Май 10, 2011, 03:48:49 pm »
Если честно то я так и не понял как быть с компенсацией. 31*24=744. Водитель физически не может наездить 1000 часов в месяц.
 Если использовать оборотный регистр и предположить что водителю начисляется компенсация после того как он наездил 1000 часов то тогда ему нужно начислять компенсацию. И что получается - сотруднику после того как наездил 1000 часов будет постоянно начисляться компенсация. И на следующий месяц и через месяц сотруднику и тд ... должна начисляться компенсация. Это если так трактовать условие задачи по расчету компенсации.

Думаю о таком варианте расчета компенсации от оборотного регистра после того как водитель наездил 1000 или больше часов в каком то расчетном периоде, начислять ему премию, затем как бы обнулять ему информацию по количеству часов, которые он наездил - программно удалить данные о количестве рабочих часов и оборотного регистра. И со следующего расчетного периода снова вести подсчет о количестве часов, которые водитель наездил. Когда набирается 1000 начислять ему компенсацию и удалять данные.


Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Задача 3.35
« Ответ #16 : Июнь 13, 2011, 03:20:41 pm »
Вот получилось, правда для премии выбрал количество часов наезда не 1000 а 100, потому как в ресчетном периоде(а расчетный период если не ошибаюсь МЕСЯЦ) ну никак не не получиться 1000 часов, даже если заставить человека ездить 24 часа 31 день, предпологаю что это опечатка
 Этот вопрос для уточнения задал на
 http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=580310#580310

 пока решил с 100
Вложения:
3_35_lukashov.dt
« Последнее редактирование: Июнь 13, 2011, 03:21:53 pm от Лукашов Андрей Сергеевич »

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.35
« Ответ #17 : Июнь 13, 2011, 05:08:19 pm »
Danan, Lukashov_as, Здесь http://forum.chistov.pro/index.php?topic=993.msg3#msg3
 dhm подробно расписал как предлагается задача на эказмене

Данияр

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Данияр
Задача 3.35
« Ответ #18 : Сентябрь 05, 2011, 07:56:01 am »
Выкладываю свое решение. Эта экспериментальная версия.

 При решении задачи предположил, что у сотрудника может быть несколько автомобилей. Подсчет наезженных часов сотрудника ведется в разрезе автомобиля.

 При решении задачи предположил что начислять компенсацию нужно пропорционально той части оклада по тарифу, которую сотрудник заработал разъезжая на том автомобиле, по которому в расчетном периоде набралось больше 1000 часов.

 Компенсацию сотруднику начисляет бухгалтерия, поскольку на одном и том же автомобиле сотрудник может течении расчетного периода, работать в разных подразделениях.

 Впервые в задачах по расчетам применяю параметр разрез в базовых таблицах регистра расчета.
 Мне кажется что не очень аккуратно получилось, может кто что подскажет по этому поводу.

 Компенсация и штраф начисляются программно.

 В теме ссылке http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=580310#580310, которую выложил
 Lukashov_as, там тематика указана 8.2 вместо задачи по экзаменам, может быть по этому авторы сборника не отвечают там.
Вложения:
Daniyar_3_35_v1.dt

SUBALady

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nataly
Задача 3.35
« Ответ #19 : Сентябрь 22, 2011, 10:04:16 am »
Подскажите, а где мы делаем движения в РН КолвоЧасвНаездил?? в общем модуле или в документе????

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 3.35
« Ответ #20 : Сентябрь 22, 2011, 04:09:40 pm »
ccgm,
 А зачем тебе регистр с отработкой? Делаешь ресурс ОтработаноЧасов у Оклада и берешь как базу(в любом случае получаешь базу начислений).

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 3.35
« Ответ #21 : Сентябрь 22, 2011, 11:41:05 pm »
Мое решение, правда в нем возможно ошибка, но сознательная. Я о том что у меня Штраф не вытесняет Оклад.
 Они вообще в разных планах расчета. О вытеснении, как и о сторнировании в задаче ни слова, так что я решил сделать именно так(Впрочем, переделать если что дело пустяшное). А по поводу, часов/дней я не заморачивался biggrin
Вложения:
1.35_3.35.dt

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #22 : Январь 29, 2012, 10:10:28 am »
Мое решение. Показалась не сложной. Но может быть я ошибаюсь.

 1. Основные: Тариф, невыход.
 2. Дополнительные: компенсация
 3. удержания: Штраф
 4. 1000 часов в месяц не набрать. Снизил до 500.
Вложения:
sv_mikh_03.35.dt

Альберт

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Альберт
Задача 3.35
« Ответ #23 : Январь 29, 2012, 11:30:23 am »
Quote (sv_mikh)
4. 1000 часов в месяц не набрать. Снизил до 500.


 sv_mikh, пользователь dhm решал эту задачу на экзамене:
 http://forum.chistov.pro/index.php?topic=993.msg10949#msg10949

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #24 : Январь 29, 2012, 12:34:06 pm »
Quote (Альберт)
sv_mikh, пользователь dhm решал эту задачу на экзамене:
 http://forum.chistov.pro/index.php?topic=993.msg10949#msg10949


 Спасибо! Хотя в тексте условия не читается необходимость оплачивать накопленный пробег... Чтож, придется переделать.
 Тут: http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=579293#579293 тоже есть подобное разъяснение условия.
 Могу предположить, что в экзаменационном билете есть фраза "каждые 1000 км".

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #25 : Январь 29, 2012, 01:28:54 pm »
Переделанный вариант, с учетом замечания Альберт.
 Сделал без хитростей, ровно так, как описал dhm в http://forum.chistov.pro/index.php?topic=993.msg10949#msg10949
Вложения:
sv_mikh_03.35_2.dt

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 3.35
« Ответ #26 : Март 30, 2012, 10:59:24 pm »
sv_mikh, прошу прощение за то, что всё время ориентируюсь на Ваше решение))) Моё мнение:
 Сторно Записи не учтены.

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 3.35
« Ответ #27 : Апрель 05, 2012, 11:41:32 pm »
Три плана видов расчета, три регистра ...
Вложения:
nodalt_3_35.dt

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #28 : Апрель 06, 2012, 06:21:59 am »
Quote (safer)
sv_mikh, прошу прощение за то, что всё время ориентируюсь на Ваше решение))) Моё мнение:
 Сторно Записи не учтены.

 А причем тут сторно записи? Если "Считать, что все начисления вводятся только в пределах одного месяца"?

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 3.35
« Ответ #29 : Апрель 06, 2012, 09:29:08 am »
Согласен, сторно не нужно

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 3.35
« Ответ #30 : Апрель 06, 2012, 10:43:21 am »
Quote (sv_mikh)
А причем тут сторно записи? Если "Считать, что все начисления вводятся только в пределах одного месяца"?


 В задачнике расписано, что это означает. Оклад может быть введен с 1.03 по 31.03, но неможет быть введен с 01.03 по 15.04.
 А если не выход будет зарегистрирован в другом месяце, например - период регистрации 1.04 невыход с 01.03 по 10.03.
 Невыход введён в пределах одного месяца, но зарегистрирован в другом.

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 3.35
« Ответ #31 : Апрель 06, 2012, 12:07:16 pm »
safer, в этом случае конечно надо сторнировать ... Но!
 Список наиболее часто встречающихся ошибок гласит: "В решении отсутствует механизм сторнирования ... и т.д. и т.п. ... при условии, что такая ситуация явно описана в задании.
 Например в такой формулировке: "Следует учесть, что данные о командировке могут вводиться в систему задним числом"

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #32 : Апрель 06, 2012, 12:16:52 pm »
Quote (safer)
В задачнике расписано, что это означает. Оклад может быть введен с 1.03 по 31.03, но неможет быть введен с 01.03 по 15.04.
 А если не выход будет зарегистрирован в другом месяце, например - период регистрации 1.04 невыход с 01.03 по 10.03.
 Невыход введён в пределах одного месяца, но зарегистрирован в другом.

 Скажите пожалуйста, это Ваше предположение или Вы видели, что за это кого-то наказали? Тоже считаю, что домысливание задачи в сторону усложнения это неправильно. Я думаю фраза о том, что начисления вводятся в пределах месяца должна трактоваться как вводятся в пределах текущего расчетного месяца... Насколько я понимаю, вы думаете, что эта фраза означает, что можно вводить за любой период но не пересекать границу месяца. Если у Вас есть отклики сдававших, в которых уточняется смысл этой фразы, пожалуйста сообщите. Пока я не буду менять свою точку зрения.

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 3.35
« Ответ #33 : Апрель 06, 2012, 04:17:27 pm »
давно это фраза мне не давала покоя wacko стараюсь все противоречия трактовать в пользу уменьшение риска придраться к моему решению. Наверное для этого экзамена основная проблема - ВРЕМЯ, поэтому лучше трактовать в пользу уменьшения время-затрат
 nodalt, sv_mikh спасибо за ответы. о прецедентах не слышал, будем трактовать в свою пользу.

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 3.35
« Ответ #34 : Апрель 06, 2012, 04:53:05 pm »
Quote (safer)
давно это фраза мне не давала покоя стараюсь все противоречия трактовать в пользу уменьшение риска придраться к моему решению. Наверное для этого экзамена основная проблема - ВРЕМЯ, поэтому лучше трактовать в пользу уменьшения время-затрат

 Ну да... Лучше набрать несколько мелких минусов, чем схлопотать один большой, за то, что не успел что то сделать из за времени.
 -------------------------------------------------------------------------------
 В заключении темы: в задаче 3.2 приведены обе фразы: "Следует учесть, что данные о командировке могут вводиться в систему задним числом"... "Считать, что все данные вводятся только в пределах одно месяца, например ... ".
« Последнее редактирование: Апрель 06, 2012, 05:15:11 pm от Михайлов Сергей Валерианович »

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 3.35
« Ответ #35 : Июнь 21, 2012, 07:13:08 pm »
Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
kow1976_3.35.dt

SAV_tlt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Антон
Задача 3.35
« Ответ #36 : Июнь 21, 2012, 11:52:14 pm »
Такой вопросик, может слегка не в тему, но всё же очень хочется узнать ваши мнения, я пытаюсь узакономерить задачки, а плане, где какой-нибудь ВР надо считать после записи других, я делаю через приоритеты, само собой запросы или запрос должны быть в цикле приоритетов, на экзамене за это снижают оценку? Слышал выше, пишут что в цикле недопустимо, снижают, но если это заранее ограниченный цикл, как например по приоритетам, такое допускается?
« Последнее редактирование: Июнь 21, 2012, 11:53:27 pm от Антон »

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 3.35
« Ответ #37 : Июнь 22, 2012, 08:38:34 am »
SAV_tlt,

 Я в своих решениях пока приоритетами жертвую
 Точнее так:
 Очередность запросов по видам или способам расчета это и есть приоритет.
 Если виды расчета создает пользователь и привязывает к существующим алгоритмам. То можно добавить приоритет к виду расчета (пользователь их растравляет), а в алгоритме способа расчета можно упорядочить желания пользователя(под каждый способ расчета создаю свой запрос, поэтому в рамках одного способа расчета упорядочить виды расчета созданные пользователем очень легко).
« Последнее редактирование: Июнь 22, 2012, 08:40:06 am от Олег »

iomoe

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Andrey
Задача 3.35
« Ответ #38 : Октябрь 02, 2012, 03:16:29 pm »
Покритикуйте, плз.
Вложения:
iomoe_3_35.dt

Karpikova

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Екатерина Арсентьева
Задача 3.35
« Ответ #39 : Январь 03, 2013, 08:48:36 am »
Это одно из моих первых решений, поэтому буду весьма благодарна критике, особенно в "жизненно важных" моментах решения (тех, за которые на экзамене карают).
Вложения:
3-35-Karpikova.dt

Gretta

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Евгения
Задача 3.35
« Ответ #40 : Апрель 19, 2013, 02:30:27 pm »
Цитата (kow1976)
Дата: Четверг, 21.06.2012, 19:13 | Сообщение # 36Профи

 Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
 Прикрепления: kow1976_3.35.dt(185Kb)


 Думаю, не стоит вводить отдельно удержание Штраф. Невыход сам должен себя считать. В регистре сведений "График" добавить еще один ресурс "ЗначениеДни", заполнять его обработкой заполнения графика как день. Тогда данные (количество дней невыхода) считаются в таблице ОсновныеНачиления.ДанныеГрафика, умножаем на 5000 и все.
« Последнее редактирование: Апрель 19, 2013, 02:31:30 pm от Евгения »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.35
« Ответ #41 : Сентябрь 28, 2013, 05:06:37 pm »
Упс
« Последнее редактирование: Сентябрь 28, 2013, 05:09:26 pm от Артур »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.35
« Ответ #42 : Сентябрь 28, 2013, 05:08:00 pm »
чтобы не возится с заполнением базы данными, сделал количество часов для компенсации 200
Вложения:
4997483.dt

sevod

  • Пользователь
  • **
  • Сообщений: 19
  • ФИО: Сергей
Задача 3.35
« Ответ #43 : Ноябрь 26, 2013, 10:21:35 pm »
Artfa, не могу никак понять, как ты из основных начислений, получаешь количество дней для штрафа при том что штраф находится в удержаниях. Не говоря уже о том что для штрафа у тебя нет периода действия.
 Вернее я понимая как ты это делаешь, но не понимаю зачем ты не делаешь период действия для штрафа, но при этом по факту он у тебя есть.
 И думаю неплохо бы, что бы штраф вытеснял оклад. Хотя тут уже спорно. Если график будут набивать вручную, то пересечений дней штрафа и оклада не будет. Но если использовать готовые графики, то надо вытеснять.
« Последнее редактирование: Ноябрь 26, 2013, 10:48:36 pm от Сергей »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.35
« Ответ #44 : Ноябрь 26, 2013, 11:13:11 pm »
Цитата sevod ()
но не понимаю зачем ты не делаешь период действия для штрафа

 
 Использование регистра расчета, обладающего «Периодом действия» для реализации учета по видам
 расчета, не обладающих «Периодом действия»
 
 -1,5 балла

sevod

  • Пользователь
  • **
  • Сообщений: 19
  • ФИО: Сергей
Задача 3.35
« Ответ #45 : Ноябрь 27, 2013, 09:29:53 am »
Цитата artfa ()
не обладающих «Периодом действия»
Прогул обладает периодом действия. Человек прогулял неделю. Часть недели было не рабочими днями. Штрафуем только за рабочие. Он  ничем от оклада не отличается, только сумма постоянная и отрицательная.
 У тебя у самого при расчете прогула в документе №2  для Бельдыева у прогула указывается дата начала и дата окончания. Это разве не период действия для прогула?

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 3.35
« Ответ #46 : Ноябрь 27, 2013, 10:47:37 am »
прогул это один вид расчета он обладает периодом действия и вытесняет оклад , а штраф  - другой, штраф не обладает периодом действия, хотя считается от кол. прогулов

Vender

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 3.35
« Ответ #47 : Декабрь 12, 2013, 10:39:54 pm »
У меня вопрос про эти 1000 часов
 Все какие схемы заумные делали, получали обороты на начало, на конец, дальше делили и умножали. А почему нельзя сделать так:
 Создать оборотный регистр, писать туда количество часов. Потом при расчёте зарплаты, проверять сколько оборотов по данному сотруднику. Если >= 1000 то делаем Компенсацию и в этот оборотный регистр добавляем расход на 1000.

sevod

  • Пользователь
  • **
  • Сообщений: 19
  • ФИО: Сергей
Задача 3.35
« Ответ #48 : Декабрь 13, 2013, 09:57:06 am »
Цитата Vender ()
Создать оборотный регистр, писать туда количество часов. Потом при расчёте зарплаты, проверять сколько оборотов по данному сотруднику. Если >= 1000 то делаем Компенсацию и в этот оборотный регистр добавляем расход на 1000.
Многие так и делают. Только не обороты, а регистр накопления остатки.

korsal

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Королёв Сергей Александрович
Задача 3.35
« Ответ #49 : Апрель 16, 2014, 10:41:00 am »
Цитата
Если сотрудник не вышел на работу по неуважительной причине, то за каждый день прогула начисляется штраф в размере 5000 рублей.

 Сделал так: в основных начислениях Невыход и Прогул (вытесняет Невыход).

 Мои рассуждения. На момент начисления невыхода неизвестна причина этого самого невыхода. Мы фиксируем сам факт (без приговора расстрелять и конфисковать имущество). Позже человек предоставляет извинительный документ с указанием причины своего отсутствия, или не предоставляет. Соответственно далее мы фиксируем начисление на основании извиняющего документа (больничный, справка и т.п.) или ставим прогул.
 По идее Невыход - это заглушка до выяснения причины и должен быть полностью вытеснен после выяснения.

Leo705

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.35
« Ответ #50 : Май 27, 2014, 10:08:38 am »
Моё решение smile
Вложения:
Leo705_3.35.dt

rusmosav

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 3.35
« Ответ #51 : Сентябрь 04, 2015, 07:19:37 am »
Прощу оценить.

artemusII

  • Пользователь
  • **
  • Сообщений: 34
  • ФИО: Артем А.
Re: Задача 3.35
« Ответ #52 : Октябрь 01, 2015, 06:23:50 pm »
Люди добрые, что значит "ежемесячно с использованием метода ОТКЛОНЕНИЙ"? Что за отклонения такие?

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Задача 3.35
« Ответ #53 : Октябрь 27, 2015, 09:32:18 am »
Люди добрые, что значит "ежемесячно с использованием метода ОТКЛОНЕНИЙ"? Что за отклонения такие?

Если в двух словах, то метод отклонений, это когда основные начисления фиксируются согласно заранее определенного графика, а потом делаются всякие доп. движения, фиксирующие отклонения от этого графика. Всякие невыходы, больничные или наоборот премии.
Альтернатива методу отклонений, это работа по табелю. Когда заранее определенного графика нет, а данные вводятся как есть.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Задача 3.35
« Ответ #54 : Февраль 20, 2016, 05:23:59 pm »
Доброго дня всем!

Мое решение.

Записи доп. начислений и удержаний формируются автоматом, упрощенный график (нет реквизита график, привязка только по сотруднику), РН оборотный для хранения отработанных часов.

ЗЫ: Коллеги! Объясните плиз. Всегда в подобных задачах не могу определиться - часто делают Подразделение в РР то измерением то реквизитом. Я сделал реквизитом. Как определить - надо делать измерением или реквизитом?

Второй момент - зависимость от базы по периоду действия или по периоду регистрации? В подобной задаче результат будет один, но какой лучше использовать? Я использовал период действия, но большинство использует период регистрации.

Третий - стоит ли создавать автоматические записи? То есть, по логике это правильно в данной задаче - для компенсации и штрафа, но на экзамене главное время - проще из табчасти их брать.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Задача 3.35
« Ответ #55 : Февраль 20, 2016, 05:26:45 pm »
Да, кстати , отработанные часы беру из РН. Зачем создают ресурс в РР Часы, если они же есть в РН?

aevdovin

  • Пользователь
  • **
  • Сообщений: 21
  • aevdovin
  • ФИО: Вдовин Андрей Евгеньевич
Re: Задача 3.35
« Ответ #56 : Апрель 03, 2016, 12:03:24 pm »
Моя первая самостоятельная задача по расчетным механизмам. Очень много ушло на нее времени, но наконец на примере решения, так сказать "прочувствовал" некоторые понятия, которые до этого разбирал до "понимания" в теории. Как говорится - просто "понять" недостаточно. Если после "понял как это работает" - сам не сделал, значит ничего не понял). Думаю, дальше пойдет легче, но еще предстоит разбирать на других задачах: "Разрезы..", "Сторно..", "Табели.." и др...)))

Ладно, теперь по задаче: Как я вижу по форуму - основная дилема с тем, как считать пробег > 1000ч за расчет.период для расчета компенсации  и правильно ли использование ВР "Штраф" в основном ПВР с периодом действия. 

Лично я считаю, что логичнее все же в расч.периоде учитывать факт.отработанные часы водителя, и если >100 - тогда расчет компенсации. Ну и "Штраф" вытесняет "Оклад" и с отрицательной считается сумма штрафа.  + именно так решает эту задачу Чистов в своем курсе.

При этом я посмотрел решения с иными мнениями. И скорее накапливать пробег и использовать ПВР "Удержания", ВР Прогул\Штраф правильнее.  В Апреле планирую посетить курс Павла Белоусова, уточню про эту задачу и если потребуется - перерешаю.

VictoriaMok

  • Новичок
  • *
  • Сообщений: 3
Re: Задача 3.35
« Ответ #57 : Ноябрь 13, 2020, 11:24:41 pm »
Доброго времени суток!

Решаю 3.35-ю.
1000 часов и 5000 руб я уменьшила в своем решении до 200 и 500, считая, что это не принципиальный момент, а главное алгоритм.
В РР ОСН я внесла 2 ресурса: Значение и Время, для Оклада - это часы, для Невыхода - Дни. Графики привязаны к сотрудникам и заполняются обработкой часами по 8.
Для начисления Штрафа(РР Удержания) база Невыходы (РР ОСН), а именно из ресурса Время (дни)
В РР ОСН внесла реквизиты, необходимые для построения отчета Анализ компенсаций, таким образом чуть упростив написание отчета (все из РР ОСН).

Вроде бы все получилось, кроме как отчета Анализ начислений. Запрос отчета выдает нужный результат в Консоли запросов, но не выдает результат через СКД. В чем проблема, никак не разберусь, хотя явно она очевидна. Если у кого будет время подсказать, буду рада.