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

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

baksha_bni

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nikita
Задача 3.32
« : Октябрь 21, 2010, 05:57:09 am »
На мой взгляд сложная задача, недоумеваю как ее можно решить хотя бы за полтора часа, только если довести до автоматизма и время на раздумья вообще не тратить...
Вложения:
3.32_Baksha_bni.dt

sada

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.32
« Ответ #1 : Октябрь 21, 2010, 10:49:51 am »
baksha_bni, в чем практический смысл реализации периодичности РР-год ?

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



baksha_bni

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nikita
Задача 3.32
« Ответ #2 : Октябрь 21, 2010, 01:29:09 pm »
для того чтобы реализовать данную часть условия задачи "Средний заработок рассчитывается как сумма начисления по тарифу в прошлом году, поделеная на количество рабочих часов ЗА ЭТОТ ГОД", чтобы узнать количество часов в этом году я принял переодичность РР-год, а прошлого года я по базовому периоду взял...на мой взгляд это самый простой выход для решения...
 а то что сказано все данные вводятся в предалах одного месяца, это означает что не мы должны запрещать вводить данные больше месяца, а впринципе будут вводится только данные в пределах месяца...

sada

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.32
« Ответ #3 : Октябрь 21, 2010, 02:54:41 pm »
Я эту задачу еще не решал , но судя по условию, компенсация должна быть в доп., она ничего не вытесняет и от отработаного времени не зависит.
« Последнее редактирование: Октябрь 21, 2010, 03:11:06 pm от Андрей »

Nataliya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nataliya
Задача 3.32
« Ответ #4 : Октябрь 29, 2010, 08:51:03 am »
Да, Компенсация это доп..
 Непойму как совместить:
 Начисление ЗП еженедельно, а данные вводятся в пределах месяца

Если еженедельно то периодичность - день
 Если первое число в середине недели то два документа начисления в неделю?


sada

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 3.32
« Ответ #5 : Октябрь 29, 2010, 09:00:08 am »
Quote (Nataliya)
Начисление ЗП еженедельно, а данные вводятся в пределах месяца

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

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

« Последнее редактирование: Октябрь 29, 2010, 09:04:59 am от Андрей »

Nataliya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nataliya
Задача 3.32
« Ответ #6 : Октябрь 29, 2010, 12:16:28 pm »
Вот решила....
 Перерасчеты не делала!!!

Добавлено (29.10.2010, 12:16)
---------------------------------------------
Количество раб дней в этом году определяю просто запросом из рег. сведений.


Вложения:
3-32-N.dt

Nataliya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nataliya
Задача 3.32
« Ответ #7 : Октябрь 29, 2010, 06:48:32 pm »
Мои ошибки!!!
 При проведении не нудно заполнять размеры, проще будет пересчитывать документы.
 Исправила и перерасчет вышел просто...
Вложения:
3-32-N-v2.dt

ruin

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей Мякишев
Задача 3.32
« Ответ #8 : Октябрь 30, 2010, 03:37:08 pm »
то Nataliya:
 1. Расчет зп приосходит еженедельно. Вы пробовали ввести неделю которая попадает на конец месяца? К примеру 26.10.09-01.11.09. Дальше думаю все сами поймете...
 2. Зачем писать НачалоДня(ДатаНачала), когда вы в форме не задаете время, только дату. То есть время и так всегда будет равно 0:00:00, а вы еще раз его к началу дня приводите.
 3. Не помню как этот пункт звучит в требованиях к экзамену, но выгружать результат запроса и работать уже с таблицей очень не рекомендуется. Посмотрите метод выборки: Выборка.НайтиСледующий(Отбор)
 4. Начисление компенсация... Представьте себе ситуацию, вы пришли на работу в конце года и отработали 2 дня, заработали 2000 рублей. И вот в следующем году вам начисляют компенсацию, и хотелось бы видеть среднее как 2000/2, а у вас получается что рабочих дней в прошлом году было не 2, а весь год и это где-то в районе 250.
 5.
 а)В задании сказано что процент задается для организации в целом. У вас выбран правильный регистр, но зачем получать этот процент в момент расчета, мне кажется проще получить ее в момент записи движений методом РС.<ИмяРегистра>.ПолучитьПоследнее(Дата) и поместить этот процент в Размер.
 б) Аналогичная ситуация с окладом. К вас есть типовой регистр Сведения о сотрудниках, а вы сделали свой, и при том получилось что у всех в фирме одинаковый оклад. Хотя в условии задачи этого не написано. Т.е. опять бы хотелось получить оклад запросом и записать его в Реквизит "Размер" и далее уже использовать его при расчете.
 У вас получилось что вам не в основных, не в дополнительных начислениях этот реквизит вообще не нужен, зачем же было его создавать?
 6. Очень интересный метод расчета. Вы из объекта передаете ссылку, а потом читаете движения. Передавайте Объект и вам не нужно будет писать эти строчки с установкой отбору по регистратору, потом использовать метод .Прочитать(). Вы просто напишете Объект.Движения.ОсновныеНачисления и используйте его.
 И я бы очень рекомендовал вам посмотреть как делается расчет в примере решения задания, который идет на диске с книжкой с вопросами. Если у вас нету таковой - попросите, люди помогут smile .
 7. В задаче сказано что человеку предоставляется отпуск в один календарный месяц в год, а у вас в задаче нигде не проверяется ходил ли человек в отпуск или нет. То есть я могу человека отправить в отпуск на много месяцев.
« Последнее редактирование: Октябрь 30, 2010, 03:38:14 pm от Алексей Мякишев »

Nataliya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nataliya
Задача 3.32
« Ответ #9 : Октябрь 30, 2010, 07:57:06 pm »
СПАСИБО ЗА ЗАМЕЧАНИЯ!

1. Расчет зп приосходит еженедельно. Вы пробовали ввести неделю которая попадает на конец месяца? К примеру 26.10.09-01.11.09. Дальше думаю все сами поймете...

По условию: Считать.то все данные вводятся только в пределах месяца.
 Т.О. Начисление в недели которая поподает на конец месяца вводится двум строками (либо двумя документами)
 --------------

2. Зачем писать НачалоДня(ДатаНачала), когда вы в форме не задаете время, только дату. То есть время и так всегда будет равно 0:00:00, а вы еще раз его к началу дня приводите.

Об этом не подумала!!! Просто стораюсь забивать код на автомате, дабы не тратить время.
 -------------

3. Не помню как этот пункт звучит в требованиях к экзамену, но выгружать результат запроса и работать уже с таблицей очень не рекомендуется. Посмотрите метод выборки: Выборка.НайтиСледующий(Отбор)

Учту.

4. Начисление компенсация... Представьте себе ситуацию, вы пришли на работу в конце года и отработали 2 дня, заработали 2000 рублей. И вот в следующем году вам начисляют компенсацию, и хотелось бы видеть среднее как 2000/2, а у вас получается что рабочих дней в прошлом году было не 2, а весь год и это где-то в районе 250.

Условие задачи:
 Размер компенсации определяется как процент от серднего... Средний заработок рассчитывается как сумма начисления по тарифу в прошлом году, поделенная на количество рабочих дней ЗА ЭТОТ ГОД
 Я определяю рабочие дни за этот (текущий) год
 -----------------

5.
 а)В задании сказано что процент задается для организации в целом. У вас выбран правильный регистр, но зачем получать этот процент в момент расчета, мне кажется проще получить ее в момент записи движений методом РС.<ИмяРегистра>.ПолучитьПоследнее(Дата) и поместить этот процент в Размер.
 б) Аналогичная ситуация с окладом. К вас есть типовой регистр Сведения о сотрудниках, а вы сделали свой, и при том получилось что у всех в фирме одинаковый оклад. Хотя в условии задачи этого не написано. Т.е. опять бы хотелось получить оклад запросом и записать его в Реквизит "Размер" и далее уже использовать его при расчете.
 У вас получилось что вам не в основных, не в дополнительных начислениях этот реквизит вообще не нужен, зачем же было его создавать?

Согласна!!1
 -------------------------

6. Очень интересный метод расчета. Вы из объекта передаете ссылку, а потом читаете движения. Передавайте Объект и вам не нужно будет писать эти строчки с установкой отбору по регистратору, потом использовать метод .Прочитать(). Вы просто напишете Объект.Движения.ОсновныеНачисления и используйте его.
 И я бы очень рекомендовал вам посмотреть как делается расчет в примере решения задания, который идет на диске с книжкой с вопросами. Если у вас нету таковой - попросите, люди помогут .

А чем метод плох? Удобен для перерасчетов, и подключений к любым документам... Да и просто этот метод я забиваю на автомате.
 -----------------------------------

7. В задаче сказано что человеку предоставляется отпуск в один календарный месяц в год, а у вас в задаче нигде не проверяется ходил ли человек в отпуск или нет. То есть я могу человека отправить в отпуск на много месяцев.

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

« Последнее редактирование: Октябрь 30, 2010, 08:00:42 pm от Nataliya »

fuhrer

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Виталий
Задача 3.32
« Ответ #10 : Октябрь 30, 2010, 08:10:30 pm »
Воще задачи построены не на знание платформы, и воще субд и оболочек работы с ними. Есть решение задачи (своего ни в коем случае не придумай)? - доведи его до автоматизма, не довел? взрощенные 1с экзаменаторы скажут тебе - бухыхы

InSurgent

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лёха
Задача 3.32
« Ответ #11 : Октябрь 30, 2010, 10:55:56 pm »
Nataliya, это с какой целью ?

наб.Записать(,,,Истина);
 и
 наб.Записать(,,);

Перерасчёт:
 Выбираем объекты перерасчёта
 Рассчитываем у объекта перерасчёта только те строки, которые нужно пересчитать
 Удаляем из перерасчёта строки, которые нужно было пересчитать


SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 3.32
« Ответ #12 : Октябрь 30, 2010, 11:29:38 pm »
Quote
Очень интересный метод расчета. Вы из объекта передаете ссылку, а потом читаете движения. Передавайте Объект и вам не нужно будет писать эти строчки с установкой отбору по регистратору, потом использовать метод .Прочитать(). Вы просто напишете Объект.Движения.ОсновныеНачисления и используйте его.

А чем метод плох? Удобен для перерасчетов, и подключений к любым документам... Да и просто этот метод я забиваю на автомате.

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

Quote
И я бы очень рекомендовал вам посмотреть как делается расчет в примере решения задания, который идет на диске с книжкой с вопросами. Если у вас нету таковой - попросите, люди помогут .

А я бы не рекомендовал. Убого они там сделали, ИМХО.


ruin

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей Мякишев
Задача 3.32
« Ответ #13 : Октябрь 31, 2010, 12:20:00 am »
по пункту п4 и п7 экзаменатор точно придерется.
 Т.к. по пункту 4 по моему примеру у человека все-таки было 2 рабочих дня за год. И цель задачи показать вашу способность использовать механизмы регистров расчета. И в этом пункте я думаю при постановке задачи человек хотел чтобы количество дней бралось из базы.
 По пункту 7 - мы с другом ходили сдавать, у друга была похожая задача, там нужно было каждые 1000 часов делать какое-то начисление. В принципе тоже можно сказать - в задаче же не сказано считать 1000, пусть люди сами считают в экселе, и когда наступает 1000 вносят начисление в документ. Но экзаменатор к этой 1000 придрался, и начал спрашивать как это нужно было делать...
« Последнее редактирование: Октябрь 31, 2010, 11:16:21 am от Алексей Мякишев »

InSurgent

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лёха
Задача 3.32
« Ответ #14 : Октябрь 31, 2010, 11:27:27 am »
На счёт расчета... Я просто в расчёт набор с движениями передаю и всё.

На счёт пункта 4 и 7...
 Там же явно написано "количество рабочих часов за этот год"... если бы было "количество рабочих часов за этот год за время, которое работал сотрудник" тогда другое дело.
 Контроль месяца отпуска не стал бы делать, если и так времени нет. В задании это не написано, а усложнять его не нужно, так же написано... если им нужно, пусть дают дополнительное время, или можно попросить более адекватного экзаменатора. Если задание коряво написано, мы то тут причём?..