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

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

palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.03
« Ответ #15 : Сентябрь 08, 2010, 05:28:17 pm »
Quote (SergTH000)
А какой? Разве это не означает, что у сотрудника могут быть разные должности? А если так то на какую должность ты начисляешь оклад, если колонки должность у тебя нет?
, должность берется из регистра сведений где и хранится история изменения должности, сотрудника снача перемещают например в новое подр. и дают новую должность , а потом за этот период начисляют ЗП и все берут из регистра срез.последних на дату расчета.

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.03
« Ответ #16 : Сентябрь 08, 2010, 05:34:04 pm »
Quote
понимаешь теперь, что это все мелочи?!)))

 Хорошо. Если сотрудник отработал 2 года и 11 месяцев. Через месяц ему начисляют премию и он все равно получит как будто отработал 2 года (ты же месяцы не указываешь).
 Может я чего то не понимаю, но почему бы если есть возможность избежать подобных моментов довольно простым способом (добавлением трех реквизитов и последующем вычитании их значений) не воспользоваться ей?


palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.03
« Ответ #17 : Сентябрь 08, 2010, 05:36:09 pm »
Ты зп на какую дату считаешь?На 1 число так?

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.03
« Ответ #18 : Сентябрь 08, 2010, 05:37:48 pm »
palax, Может быть, может на 31 какая разница?

palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.03
« Ответ #19 : Сентябрь 08, 2010, 05:54:17 pm »
а если у сотрудника 15 числа 3 года, тогда до 15 ты считай как 10%, а после 15 15%-так же точнее будет))) и вообще то зп считают на 1 число

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.03
« Ответ #20 : Сентябрь 08, 2010, 05:55:39 pm »
palax, Хорошо, для этого просто делаем НачалоМесяца(ПериодРегистрации). Все учитывается. Я кстати в задаче помоему так и делал.
« Последнее редактирование: Сентябрь 08, 2010, 05:56:30 pm от Сергей »

palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.03
« Ответ #21 : Сентябрь 08, 2010, 06:30:38 pm »
Хорошо повнимательнее посмотрю твое решение...я тут у себя ошибок кучу нашел. сейчас исправляю)))
« Последнее редактирование: Сентябрь 08, 2010, 06:31:24 pm от Алексей »

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.03
« Ответ #22 : Сентябрь 08, 2010, 06:50:38 pm »
palax, Черт, никак не могу понять отправил тебе лс или нет) Напиши мне плз что получил/не получил

palax

  • Пользователь
  • **
  • Сообщений: 45
  • ФИО: Алексей
Задача 3.03
« Ответ #23 : Сентябрь 08, 2010, 07:03:34 pm »
SergTH000, нет не получил

Добавлено (08.09.2010, 19:03)
---------------------------------------------
Базу я исправил свою,записал в ту же ветку


AS

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Alexander
Задача 3.03
« Ответ #24 : Ноябрь 06, 2010, 08:42:31 pm »
Мое решение...
Вложения:
3-3.dt

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.03
« Ответ #25 : Январь 17, 2011, 07:31:27 pm »
и моё решение
Вложения:
AP_3.03.dt

detec

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Andrew
Задача 3.03
« Ответ #26 : Май 23, 2011, 01:50:06 pm »
Моё решение. Единственное, что я не реализовал - это работу с должностями. В описании задачи нигде не указано, как логически организована работа с должностями. Поэтому, ИМХО, эту сущность можно рассматривать как реквизит справочника Сотрудники.

Добавлено (23.05.2011, 13:50)
---------------------------------------------
У меня такой вот вопрос есть. Я пересмотрел несколько решений из ветки и никак не могу понять, почему данные о стаже, премии и окладе заполняются на этапе проводки документа? Почему нельзя заполнить их интерактивно или программно в форме документа? Тем более, что этим можно показать знание управляемого интерфейса, т.к. нужно создать команду формы, заполнить данные на севрере, вернуть на клиента, повесить кнопку команды в командной панели таблицы формы.


Вложения:
1Cv8_detec.dt

Gulf_Stream

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Радомский Виктор Сергеевич
Задача 3.03
« Ответ #27 : Июнь 11, 2011, 04:41:59 pm »
Мой вариант решения

 Я не стал сильно заморачиваться с расчётом стажа - добавил в справочник реквизты стаж ( в месяцах) и дату приёма на работу, а в запросе обработки проведения вляпал такую конструкцию:
 
Code
ВЫБОР
                  |     КОГДА (НачислениеЗарплатыДополнительныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(&ПериодРегистрации, НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриемаНаРаботу, МЕСЯЦ)) / 12 < 1
                  |      ТОГДА 5
                  |     ИНАЧЕ ВЫБОР
                  |       КОГДА (НачислениеЗарплатыДополнительныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(&ПериодРегистрации, НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриемаНаРаботу, МЕСЯЦ)) / 12 > 3
                  |        ТОГДА 15
                  |       ИНАЧЕ 10
                  |      КОНЕЦ
                  |    КОНЕЦ
 


 И ещё у меня вопрос, оптимален ли такой запрос по производительности:
 
Code
ВЫБРАТЬ
                 |    ДополнительныеНАчисления.НомерСтроки,
                 |    ДополнительныеНАчисления.ВидРасчета,
                 |    ДополнительныеНАчисления.Размер,
                 |    ДополнительныеНАчисленияБазаОсновныеНачисления.РезультатБаза КАК База
                 |ИЗ
                 |    РегистрРасчета.ДополнительныеНАчисления КАК ДополнительныеНАчисления
                 |  ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНАчисления.БазаОсновныеНачисления(&Изм, &Изм, , Регистратор = &Регистратор) КАК ДополнительныеНАчисленияБазаОсновныеНачисления
                 |  ПО ДополнительныеНАчисления.НомерСтроки = ДополнительныеНАчисленияБазаОсновныеНачисления.НомерСтроки
                 |ГДЕ
                 |    ДополнительныеНАчисления.Регистратор = &Регистратор


 Не лучше ли этот запрос строить через временные таблицы, отфильтровав реальную таблицу по регистратору?
Вложения:
3.03_Gulf_Strea.dt

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 3.03
« Ответ #28 : Июль 06, 2011, 12:11:08 pm »
Quote (detec)
Я пересмотрел несколько решений из ветки и никак не могу понять, почему данные о стаже, премии и окладе заполняются на этапе проводки документа? Почему нельзя заполнить их интерактивно или программно в форме документа?

 А зачем оклад, к примеру, заполнять интерактивно? Это неправильно, ведь его могут изменить потом. Программно в форме - это усложнение.

 ---------------------------------------------
 
Quote (Gulf_Stream)

 
Code
ТОГДА 5
    .....
 | ТОГДА 15
 | ИНАЧЕ 10

 "Хранить" значения размера премии в коде - это не гуд smile

 ---------------------------------------------
 
Quote (Gyd)
в справочник реквизты стаж ( в месяцах) и дату приёма на работу,

 Я тоже также сделал. Только засунул эти реквизиты в регистр СведенияОСотруднике. Заметил что в некоторых решениях стаж до приема на работу не учтен. Значения размера премий сохранил в другом регистре (РазмерыПремий), так же как это сделал AS, в запросе получаю Общий стаж работы (ПериодРегистрации-ДатаПриемаНаРаботу + Стаж до приема), и выбираю из регистра РазмерыПремий соответствующее значение (процент).
« Последнее редактирование: Июль 06, 2011, 12:11:20 pm от Олег »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 3.03
« Ответ #29 : Октябрь 30, 2011, 06:26:38 pm »
Возникает вопрос, в РР дополнительные начисления зависимость от базы по периоду действия или по периоду регистрации? ИМХО, по периоду действия .. Может кто-нибудь пояснить это, да и вообще в чем разница?
 Насчет стажа, у нас же есть РС СведенияОСотрудниках, период и будет датой приема, а допол. реквизит - стажем на дату приема. Ну и уже в док. Начисление зарплаты находить процент премии.
Вложения:
DoctorRoza_3_3.dt
« Последнее редактирование: Октябрь 30, 2011, 07:07:46 pm от Алексей »