Автор Тема: Задачка 3.15  (Прочитано 19903 раз)

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

ut2k5

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задачка 3.15
« : Сентябрь 24, 2010, 07:52:13 pm »
Радостно, что я первый ее решил...
 единственное, если больничный предыдущего периода, то компенсация за больничный не считается, но видимо так и не надо
Вложения:
Quest_3_15.dt

User_OKA

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: Валерий
Задачка 3.15
« Ответ #1 : Октябрь 21, 2010, 01:30:41 pm »
Выкладываю свое решение.
 Доплата за вечерние и компенсация за дни болезни сделал доп. начислениями.
Вложения:
3_15.dt


baksha_bni

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nikita
Задачка 3.15
« Ответ #2 : Январь 04, 2011, 08:59:38 pm »
5 видов расчета для одной задачи, это многовато конечно...
Вложения:
Baksha_bni_1.25.dt

Matcoder

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: алекс
Задачка 3.15
« Ответ #3 : Январь 24, 2011, 12:35:30 pm »
Мое решение. Ровно 2 часа ушло с отладкой.
Вложения:
3_15_Matcoder.dt

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задачка 3.15
« Ответ #4 : Апрель 14, 2011, 02:16:03 pm »
моё решение

Matcoder, Процент Премии должен браться из РС (см.условия задачи).


Вложения:
AP_3.15.dt
« Последнее редактирование: Апрель 14, 2011, 02:25:12 pm от Андрей »

mebius

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задачка 3.15
« Ответ #5 : Май 17, 2011, 01:28:15 am »
AndreiPiter, У тебя так:
 
Code


    Если Не СтрокаНабора.Сторно Тогда
     Если  СтрокаНабора.Видрасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда  
      СтрокаНабора.Результат = Выборка.ДнейФакт * 8 * Выборка.Ставка;
     ИначеЕсли СтрокаНабора.Видрасчета = ПланыВидовРасчета.ОсновныеНачисления.Доплата Тогда  
      СтрокаНабора.Результат = Выборка.ВечернихЧасовФакт * Выборка.Ставка / 2;
     КонецЕсли;
    Иначе  
     СтрокаНабора.Результат = - СтрокаНабора.Результат;
    КонецЕсли;
 

 Т.е. перед расчетом результат у тебя Результат = 0, и если это сторно, то он так и остается = 0. Поэтому сначала надо рассчитать результат, а потом делать проверку на сторно:
 
Code

     
    Если  СтрокаНабора.Видрасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда  
     СтрокаНабора.Результат = Выборка.ДнейФакт * 8 * Выборка.Ставка;
    ИначеЕсли СтрокаНабора.Видрасчета = ПланыВидовРасчета.ОсновныеНачисления.Доплата Тогда  
     СтрокаНабора.Результат = Выборка.ВечернихЧасовФакт * Выборка.Ставка / 2;
    КонецЕсли;

    Если СтрокаНабора.Сторно Тогда
     СтрокаНабора.Результат = - СтрокаНабора.Результат;
    КонецЕсли;
 

Так?


AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задачка 3.15
« Ответ #6 : Май 17, 2011, 09:52:31 am »
mebius, нет, не так!

mebius

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задачка 3.15
« Ответ #7 : Май 17, 2011, 10:23:04 pm »
AndreiPiter, Да, сорри, не увидел это:
 
Code

 ЗаполнитьЗначенияСвойств(Движение, СтрокаСторно);
 

 Все правильно!

Danan

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Данияр
Задачка 3.15
« Ответ #8 : Июнь 30, 2011, 11:36:32 am »
AndreiPiter, User_OKA, или просто добрые люди, пожалуйста объясните как вы настраиваете ПВР, регистр сведений и регистр расчета таким образом что запросе можно открыть
 виртуальную таблицу данные графика и увидеть что например:
 ИмяРесурсаФактическийПериодДействия (ресурс РС, который указан у РР как значение графика);
 ИмяРесурсаФактическийПериодДействия (этот ресурс РС, не указан у РР как значение графика).
« Последнее редактирование: Июнь 30, 2011, 11:43:31 am от Данияр »

Danan

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Данияр
Задачка 3.15
« Ответ #9 : Июль 01, 2011, 09:55:44 pm »
Разобрался с вопросом в предыдущем посте.
 Мое решение.
Вложения:
Task_3_15..dt

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задачка 3.15
« Ответ #10 : Август 05, 2011, 07:24:05 am »
Quote
AndreiPiter, User_OKA, или просто добрые люди, пожалуйста объясните как вы настраиваете ПВР, регистр сведений и регистр расчета таким образом что запросе можно открыть
 виртуальную таблицу данные графика и увидеть что например:
 ИмяРесурсаФактическийПериодДействия (ресурс РС, который указан у РР как значение графика);
 ИмяРесурсаФактическийПериодДействия (этот ресурс РС, не указан у РР как значение графика).


 Указываеш один, подвязываются все остатьные... так плтформа работает...

sergey7

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задачка 3.15
« Ответ #11 : Август 05, 2011, 04:46:16 pm »
Мой вариант. ПВР ДопНачисления - расчёт базы по периоду регистрации, чтобы КомпенсацияЛекарств подхватывала дни больничного, а с премией неясно, как ей базу лучше считать - по периоду действия или регистрации.
Вложения:
s7_3-15.dt

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задачка 3.15
« Ответ #12 : Сентябрь 06, 2011, 10:21:32 am »
Quote (sergey7)
а с премией неясно, как ей базу лучше считать - по периоду действия или регистрации.

 Похоже тут это не принципиально.

Павел

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Павел
Задачка 3.15
« Ответ #13 : Ноябрь 08, 2011, 04:06:20 pm »
Добрый день!
 Я так понимаю условие задачи, что пользователь не должен вводить вид расчета по доплате за вечерние часы, а программа должна делать это сама. Вряд ли, в реале, пользователь будет за этим следить. Он просто вводит оклад, а если были вечерние часы, то они должны сами рассчитаться. Разве нет?

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задачка 3.15
« Ответ #14 : Ноябрь 20, 2011, 12:46:48 pm »
Посмотрел решение только у товарища sergey7 не очень понравилось, лишние запросы есть, РС можно использовать только один. Вопрос по вечерним часам. ИМХО, вечерние часы должны входить в оклад, больничный тогда должен вытеснять 2 этих вида расчета. Ведь логично, человек болеет, поэтому надбавку за вечерние часы он получать за эти дни не должен. И перерасчеты, в перерасчеты должна попасть премия? Заранее благодарю!
Вложения:
DoctorRoza_3_15.dt