Домашнее задание №14 базового курса
Второе задание заключительного блока.
Для выполнения рекомендуется изучить следующие главы 4-го блока.
Глава 8. Регистры расчета.
Глава 9. Свойства записи регистра расчета.
Глава 10. Программная работа с регистром расчета.
Глава 11. Получение данных из регистров расчета.
Глава 12. Расчет ресурсов регистра расчета.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.
ДЗ №14 сделано… Вчера на работе практически не работал, подгонял хвосты.
Сделано
Сделано
выполнено
Выполнил с подглядкой в решение. Тема новая – сложно все уложить сразу в голове.
ДЗ 14 выполнила. главное – в голове уложить все понятия. Спасибо
Сделал, наконец-то..
Самое сложное для мя ДЗ..
Да и вообще Расчеты как-то клином встали.
БУ прошел за неделю, Расчеты 3 недели – все никак..
ДЗ выполнено
Сделал наконец-то
ДЗ 14 Выполнил
Есть вопрос (или просто тема для разговора), возникший на партнерс и косвенно всплывший при решении текущего ДЗ.
в 10-м уроке 11 глава 4 блок мы пользуемся методом “Найти” для ТЗ. В качестве того, по чему искать используем “НомерСтроки”. А вот для ТЧ, например документа, такая штука не пройдет. Т.е. поиск будет работать, но только по всем остальным реквизитам, а по “НомерСтроки” нет.
Пока не совсем понял контекст: как связано 14 ДЗ с поиском в таблице значений и поиском в табличной части?
Уточните в чем может быть проблема при поиске в ТЧ. В том что номер строки может не соответствовать номер записи в наборе?
Пока не совсем понял контекст: как связано 14 ДЗ с поиском в таблице значений и поиском в табличной части?
Контекст – при подготовке к решению ДЗ проходил соответствующий урок… :)
Уточните в чем может быть проблема при поиске в ТЧ. В том что номер строки может не соответствовать номер записи в наборе?
Не работает поиск по “НомерСтроки”, т.е. поиск проходит, но ничего не находит. Именно по ТЧ документа, если выгрузить в ТЗ – то все нормально. Хотя по синтаксис-помощнику методы работают идентично.
И все-таки пока не ясно в чем загвоздка.
Вот такой код отрабатывает в контексте сервера, если в документе есть хоть одна строка:
Док = РеквизитФормыВЗначение(“Объект”);
Строка = Док.Товары.Найти(1, “НомерСтроки”);
Я немного ошибся :( метод “НайтиСтроки”, а не “Найти”. сорри.
Это другое дело. Такой метод действительно не работает.
Но всегда есть выход: Объект.ИмяТЧ[НомерСтроки-1] :)
ДЗ №14 сделала
Выполнено
Домашнее задание выполнил.
Особых сложностей в нем не обнаружил.
ДЗ 14 сделано
Сделано
ДЗ №14 выполнено
Готово, по решению с Мастером – почти не разошелся – порадовался ))
ДЗ 14 выполнил. Пошел изучать эталонное решение
ДЗ № 14 Выполнила.
Готово.
Поскольку в 8-ке все разделы учета построены по одному принципу (по-большому счету) – на регистрах, то их легче осваивать. Это в 7-ке бухгалтерский учет на бух.итогах, оперативный на регистрах, а зп на видах расчетов.
Задание выполнено.
Евгений, а как бы можно было бы решить задачу, если базовое время, при расчете отпуска, складывалось бы из отработанного, а не планового? Т.е. сотрудник работает по пятидневке, а базовое время по шестидневке?
В этом случае нужно было бы хранить отработанное время в регистре расчета. В отдельном ресурсе.
Тогда для выборки данных об отработанном времени можно использовать таблицу получения базы.
Евгений, спасибо за разьяснение от 30. Авг, 2010 в 21:09. Там уже не смог ответить – кнопка “ушла за горизонт”. До сих пор не сталкивался с ситуацией, когда период действия записи частично попадает в базовый период. До сих пор имел дело с базой, кратной целым месяцам. Попробовал поменять базовый период отпуска с 15.01 по 31.01 и сразу “почувствовал разницу” :)
Ок :)
Задание 14 сделано. ЗП = 3181,82, отпускные = 7 012,99. Ввела доп.регистр состояние сотрудника и перед заполнением запросом считала данные о начале работы по всем сотрудникам из документа ну и дальше понятно…Хотя конечно лучше получать данные только по тем сотрудникам у которых нужно считать базовые периоды, но на это уже запала не хватило.
День билась, чтобы получить правильные значения периода действия,получались суммированные значения по двум графикам, оказалось забыла у реквизита Регистра типГрафика поставить “Связь с графиком”, как всегда застряла из-за ерунды.
Поиск таких ошибок – ценный опыт :)
Сделано
Сделел ! Дни по шестидневке для расчета отпускных определял в отдельной функции запросом к РС “ГрафикиРаботы”. Это грубая ошибка на аттестации, т.к. не используются расчетные механизмы платформы. Но стоит ли заморачиваться ?
Думаю, стоит. Ведь запрос к ВТ регистра расчета сделать не сложнее, чем к РС.
Понял ! Теперь понятно назначение поля “ЗначениеБазовыйПериод” в ВТ “ДанныеГрафика”.
Задание выполнено, особых проблем не возникло. Вспомнил сдачу экзамена по платформе. Правда задание не совсем однозначное. Не указан год, но считаем, что 2010. Недаром заполняли графики за 2009 и 2010. Непонятно, что делал Иванов до января. Предполагаем, что на работу он принят 01.01.2010 (интересно, кто же его принимал после новогодней ночи :). Тогда надо отслеживать дату приёма, чтобы заработок делить на 3 месяца, а не на 12. У меня получилось аналогично коллеге Den_Spb: 30000/77*18=7012.99 руб. Само собой отпуск вытесняет оклад и прогул.
Логичный вопрос: а зачем мы заполняли РС “Графики работы” для 5-ти и 6-ти дневки?
Моё мнение: надо было брать рабочие дни простой суммой этих единичек за 12 предыдущих месяцев.
Решение: отпуск = 30000/313(раб дней за прошлые 12 мес с 01.04.09 по 31.03.10 по 6-ти дневке) *15 (с 5 по 25.04 по пятидневке) или *18 по 6-ти дневке.
Итого: 1437,70 как у ASK
либо 1725,24 как у tf2001.
А теперь дождемся “Верховного Суда” ;)
ASer. Вопрос про заполнение графиков за 2009 и 2010 год – действительно логичный. И правильных ответов на него может быть несколько. Например, предприятие начало работь с 1-го января 2009 года. Или, например, чтобы научиться заполнять график обработкой и не затирать предыдущие(последующие) записи. Но не в коем случае не потому, чтобы, считать базу за тот период, когда сотрудник не работал.
– – – (Высказывание, не имеющее к теме отношения, удалено E.Gilev)
А Евгений хитро поступил в решении ДЗ. Упростил расчет базового периода))).
Решение ДЗ 14 нам доступно, так что его заценим ;)
Коллеги! Если бы вы работали и у вас оклад был 10000, ушли бы вы в отпуск и вам больше чем за полмесяца выдали бы меньше двух тысяч. Вы бы наверно возмутились? Как же так??? И сделали бы круглые глаза! А вам бы сказали так программа посчитала…
Сотрудник работал с января. В отпуск ушел в апреле. Следовательно базовый период с января по март включительно. По календарю шестидневки 77 дней за этот период. В отпуск уходит на 18 дней. Следовательно он должен получить: 30000(база)*18/77 = 7012,99
Основная трудность для меня выбрать базовый период с января 2010 по март 2010!
Все остальное может и некрасиво, но получается. С окладом столько же получилось.
А как Вы найдете отработанные дни по шестидневке, если человек работал по пятидневке? Объясните плиз. С учетом того, что он работал не полные месяца?
Если сотрудник отработал полностью весь месяц, то отработано за месяц – количество рабочих дней по шестидневке. Если нет, то если день сотрудник отработал и по графику шестидневки рабочий день, то +1 к отработанным. Если день рабочий по шестидневке, а по пятидневке выходной, то, наверное, тоже +1. Хотя это тонкости. А делить на 29,4 или количество рабочих дней по календарю пятидневки или шестидневки не так уж важно. Ведь на базовом мы не очень вникаем в тонкости законодательства. Главное, чтобы он получил в районе 7000-8000 рублей. Для этого нужно не учитывать период до 31.12.2009, ведь там сотрудник не работал и не имел заработка. А кого получилось в районе 1500-1700 просто не усекли этот момент. Это слишком мало)))
Элементарно, Ватсон :) Человек работает “с даты” и “по дату”. Вот для расчета отпуска мы считаем, что он работал по шестидневке. Исключительно для расчета, т.к. фактически графики работы могут быть самыми разными. Я в молодости трудился на вычислительном центре в режиме “сутки-трое”. Не говоря уже об экипажах воздушных судов, членов локомотивных бригад и т.п.
Вы мне скажите, в ресурс РабочиеДни при расчете оклада Вы записываете дни по шестидневке? Тогда все ясно, откуда 77.. Просто я туда пишу дни по пятидневке.
Не совсем так. Пришлось применить “рабоче-крестьянскую хитрость” :) Я немного переделал регистр сведений ГрафикиРаботы и обработку по его заполнению. Вместо одного ресурса Значение у меня теперь два ресурса: Пятидневка и Шестидневка. Соответственно в запросе можем получить ФактическийПериодДействия сразу по двум ресурсам регистра сведений:
ОсновныеНачисленияДанныеГрафика.ПятидневкаФактическийПериодДействия,
ОсновныеНачисленияДанныеГрафика.ШестидневкаФактическийПериодДействия
Результат пишем в два ресурса регистра расчетов:
ДнейПоПятидневке и ДнейПоШестидневке. Для расчета отпуска используем второй ресурс. Не уверен, что это идеальное решение, но оно ближе к идеологии УПП.
С несколькими ресурсами в графике нужно быть аккуратными.
Дело в том, что вытеснение будет работать только по тому ресурсу, который указан в качестве значения в регистре расчета.
Почему, всё прекрасно работает и с несколькими ресурсами графика. Это метод ПолучитьДанныеГрафика() срабатывает только по ресурсу, являющемуся значением графика. Витртуальная таблица выдает данные по любым ресурсам этого регистра. Можно легко проверить. Ничего не меняя добавляем два ресурса РС ГрафикиРаботы: ЗначениеПятидневка и ЗначениеШестидневка. Дозаполняем их значения по графику Пятидневка за апрель 2010 (можно вручную аналогично уже заполненному). В запросе по расчету основных начислений включаем ФактическийПериодДействия по этим ресурсам в запрос. Ставим точку останова на расчете Оклада, рассчитываем документ за апрель. Данные по фактическому периоду действия у всех трёх ресурсов будут одинаковыми, т.е. вытеснение работает.
Все правильно, таблица данных графика будет возвращать верные данные.
А вот база будет считаться по ресурсу, указанному как значение графика (при частичном попадании записи в базовый период).
Я бы за 10000 р не стал работать, чтобы потом возмущаться маленькой зряплатой и крошечными отпускными :)
Но коль такое дело, что чел Иванов может ваще был тунеядец до 01.01.10, то зачем ему больше платить? ;)
А ДЗ вообще-то интересные и жизненные.
Выполнил
Выполнил.
Сделал. Но у меня отпуск получился 8437,5. Считал так: База 30000, отработано 64 дня (январь-март). Т.е. среднедневной тариф 30000/64. По шестидневке с 5 по 25 это 18 дней. 18 * 30000/64 = 8437,5. Полагаю, что невыход не может вытеснить отпуск.
Интересно, почему Вы считаете среднедневной по пятидневке, а отпускные по шестидневке? Так нечестно, Вы наказываете предприятие :) Среднедневной заработок получается выше (т.к. 5 рабочих дней в неделе), а потом ещё умножаем его на 6 дней в неделю, когда сотрудник был в отпуске. Если умножаем на 6, то и делить надо на 6. Если мне не изменяет мой склероз, сейчас среднедневной заработок считается вообще по календарным дням.
Задание выполнил
Сделано
ДЗ выполнено
Сделала.
Для дополнительных начислений – добавила табличную часть в документ Начисление зарплаты.
ДЗ 14 ОК
Сделано, без особых сложностей
Сделано
За апрель Иванов по окладу получил 3181,82
за отпуск 766,77
премия 3000
Как я поняла, прогул вытесняет отпуск? Или нет?
Сначала написала, потом подумала
Прогул не может вытеснять отпуск. Если были бы претензии, отпуск оформили бы с 16, а раз отпуск с 5 – оплачивается полностью. За отпуск Иванов получит 1725,24
Отлично :)
Не могу понять, почему отпускные равны 1725.24? У меня вот к примеру так. Средний заработок 30 т.р за три месяца. делим на 77 дней, получаем среднее 389.61 умножаем на 20 календарных дня и получаем 7792,20, разве не так?
Я умножаю на дни по шестидневке.
В условии задачи – отпуск считать по среднему заработку за 12-ть месяцев, а отработано – три. Вот и неоднозначность – кто как считает.
да, правильно за 12, но начисления только за три. А 77 дней у меня потому как сказано что считать дни по 6-ти дневке. За январь февраль и март по шестидневки получается 77 рабочих дня.
Хотя, надо, наверное, на календарные дни.
По законодательству, исключаются праздничные нерабочие дни, а про выходные – не сказано.
Средний заработок по задаче – шестидневка за 12-ть месяцев, по законодательству – отработанные месяцы делим на 29,4.
В-общем, жду эталонного решения.
На законодательство в рамках данного курса мы не особо обращаем внимание.
Э-э-э-э-э-э…. :)))
В рамках курса мы обязательно обращаем внимание на законодательство.
Правильнее будет сказать, что это в рамках учебной задачи рассматривается ситуация без приложения законодательных норм :))
Илья, как получили данные графика за три месяца? В первом же проходе, когда записывается набор записей по отпуску, БазовыйПериодНачало = 01.04.2009, БазовыйПериодКонец = 31.03.2010. Дальше когда берется ФактПоДаннымГрафика получается 339 рабочих дней по календарю шестидневки. Но чтобы правильно посчитать надо поставить БазовыйПериодНачало = 01.01.2010. Если у вас получилось 77, но наверно вы его правильно поставили. Так вопрос как? Если сразу поставили 01.01.2010, то это неправильно, так отпуск в следующем месяце даст неправильные результаты, но может анализировали дату начала работы? Может еще есть алгоритм?
Я завёл ещё регистр сведений и беру из него дату приёма (ресурс). В запросе по формированию набора записей по отпуску соединяемся с таблицей регистра сведений, сравниваем первоначально рассчитанное начало базового периода (в нашем случае 01.04.2009) и дату приёма. Если дата приёма больше, то в начало базового периода подставляем её.
Если это происходит при первой записи набора данных, тогда понятно. Спасибо, Константин. Я думал, что есть способ сделать это без дополнительного регистра.
у меня к сожалению кадрового учета нет… когда начислена первая зарплат, тогда и начала работать “фирма” =)
Базовый период получился с 01.04.2009 по 31.03.2010. А вот данные графика были только за 2010, отсюда и 77. Видимо если заполнить график за 2009 год то будет 339 раб дня.
С окладом 3 181,82 и премией 3000 – соглашусь,
а вот с отпускными – нет, мой результат 1 437,70
P.S. Думаю, вы посчитали среднедневной заработок по графику – “пятидневка”, а в условиях задачи стоит “шестидневка”. (причем само начисление вполне может проводится по графику “пятидневка”).
P.S.S. Возможно я не правильно понял условия задачи.
Возможно, я все усложнил …
Если считать, что начисление по отпуску проводится по “шестидневке” и среднедневной заработок тоже расчитывается по шестидневке, то ваш результат верный 1725,24.
Вобщем, в любом случае, ДЗ выполнил.
Я полагаю, что по шестидневке считается только неотработанное время в текущем месяце. А среднедневной тариф – по рабочим дням.
А мне кажется, что наоборот отпуск вытесняет прогул. Ведь это логично?
Сделано.
Надо уточнить насчет дат:
b. С 5-го по 15-е апреля прогул
c. С 5-го по 25-е апреля отпуск
Отпуск после прогула с 16 по 25 апреля?
Или как?
5 по 15 Иванов не явился на работу. Ему поставили прогул.
Далее 16 он позвонил, и сказал, чтобы ему оформили отпуск с 5 по 25. То есть и прогул и отпуск нужно регистрировать.
За такое гонят поганой метлой с работы :)
Вышла зам.гл.буха на праздники отдыхать, а потом её минимум неделю по моргам искали – оказалось, что загуляла тётка с мужиками.
Тут-то её праздники с прогулами и были вытеснены “ауфвидерзееном” ;)
ДЗ 14 сделано благодаря видео-урокам.
Но пока с расчетами туговато, т.к. практики по ним почти что нет :(
Типового функционала 1С по расчетам пока хватало, чтобы ничего не надо было менять в конфигурациях :)
Повозился еще с расчетами – да вроде ничего, работать с ними можно.
“Кручу-верчу, насчитать хочу” :)