Алгоритмы и выгрузка ИБ с решениями для экзамена Специалист ЗУП 3.0.








Аттестацию «1С:Специалист» по конфигурированию подсистем расчета зарплаты и управления персоналом в прикладных решениях «1С:Предприятие 8» автор сдал на отлично. Здесь решение обновлено до 3.0.24.125.

Экзаменационные билеты можно скачать здесь. Задачника для этого экзамена пока нет. Публикацию "Пример решения задач Специалист ЗУП 3.0" не смортел, так как её обнаружил после сдачи экзамена и своей публикации.
На основе метериалов (более 90% ник demos) форума Аттестация "1С:Специалист" ЗУП,  "Конфигурирование подсистем расчета зарплаты и управления персоналом в прикладных решениях "1С:Предприятия 8" (редакция 3.0) и для консультантов 1С:Специалист-консультант Зарплата и управление персоналом 8 ред.3.0  собрал материалы:

  • Выгрузки ИБ 6 билетов. Сделано на демо релиза 3.0.23.143, но на экзамене надо делать на пустой.
  • Методики графически — см. картинки к публикации по билетам: Доплаты за время работы, Премии по проектам, Компенсации квартплаты, Графики работ, Натуральный доход работников. 
  • Ключевые алгоритмы, где применил типовой механизм "подмены" текстов запросов, общий модуль для расчета показателей, для отчетов таблицу "ДанныеГрафика" и регистр "ГрафикиРаботыПоВидамВремен", метод "ВыполнитьПакет()" при отладке и выполнении сложных запросов.  

Ключеные алгоритмы:

  1. Решать всё с произвольными показателями — меньше работаем с конфигуратором в отличие от ЗУП 2.5.  Подробное описание: www.zup1c.ru .  В некоторых билетах показатель достаточно выбрать предопределенный и свои не создавать.
  2. В отчетах использовать "Представления_" — механизм "подмены" текстов запросов. 
  3. Коды алгоритмов: Билет 1, Билет 2, Билет 3, Билет 4, Билет 5, Билет 6.

БИЛЕТ 1

 

 

 

БИЛЕТ 2

 

 

 

 БИЛЕТ 3

 

 

 

БИЛЕТ 4

 

 

 

БИЛЕТ 5

 

 

 

 В начало.

P.S. Решения в выгруженных ИБ и методики могут быть неверными.

54 Comments

  1. IgorXml

    Добрый день.

    Потратил пару месяцев на подготовку к экзамену. Надеюсь, что публикация будет полезна.

    С уважением, Игорь.

    Reply ↓
  2. darkmessiahan

    На экзамене попадаются эти билеты? Или очень похожие?

    Reply ↓
  3. IgorXml

    (2) darkmessiahan, Очень похожие. Не сложнее. Чуть проще, например, дали билет 3(в задачнике 2) там тоже самое, но не было категорий. Подробнее здесь см. пост 4.

    Некоторые детали могу в личку написать.

    Reply ↓
  4. darkmessiahan

    Я бы все таки избавился от сокращений с:

    Подсистема — РС.ПлановыеНачисления, РС.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников, 2 документа, отчет.

    Док.ГрафикРаботыВОсобыхУсловиях движения РС.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников, МО:

    на:

    Подсистема — РегистрСведений.ПлановыеНачисления (что это значит не понял), Используем РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников, Добавить 2 документа и отчет.

    Документ первый — ГрафикРаботыВОсобыхУсловиях движения: РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников, МодульОбъекта:

    Reply ↓
  5. darkmessiahan

    ВР это что? Вид Работ? который как бы вид начисления?

    Reply ↓
  6. IgorXml

    (5) darkmessiahan, ВР происходит от древнего из 77 Виды расчетов 🙂

    Reply ↓
  7. darkmessiahan

    На экзамене как лучше. С начало внести доработки в конфигураторе, потом данные программу или наоборот?

    Reply ↓
  8. darkmessiahan

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

    и тут ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудникови пробел пропущен.

    Reply ↓
  9. IgorXml

    (7) darkmessiahan, Конфигуратор первым — там всё до конца и нужно(для меня так) найти в лок. сети консоль отчетов и добавить её. Отчет все-таки у меня с первого раза не получался.

    Иначе это будет творчество, которого не должно быть на экзамене :).

    Reply ↓
  10. darkmessiahan

    Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

    по причине:

    {ОбщийМодуль.РасчетЗарплатыРасширенный.Модуль(660)}: Поле объекта не обнаружено (ГоловнаяОрганизация)

    НоваяСтрока.ГоловнаяОрганизация = Строка.ГоловнаяОрганизация;

    Это на последнем релизе, там этот общий модуль значительно изменился.

    Reply ↓
  11. IgorXml

    (10) darkmessiahan, На каком примере (билете)?

    Reply ↓
  12. darkmessiahan

    (11) Только когда сегодня утром проснулся, вспомнил что забыл написать в каком билете. Билет первый! Документ ВводПоказанийУсловийСреды по моему.

    Если найду решением сам выложу. А так попробуй обновить ЗУП до последнего. Или проделать все дополнения на последней версии ЗУПа.

    Reply ↓
  13. user_2010

    На экзамене дают последнюю конфигурацию ЗУПа? и ее нужно доработать?

    Reply ↓
  14. darkmessiahan

    (13) user_2010, Естественно Ватсон.

    Доработать и внести типовой пример, минимум 2 месяца с двумя работниками.

    Учитывая что ЗУП 3.0 это сырое Г… то переделывать билеты придется долго и мучительно после каждого обновления.

    Reply ↓
  15. IgorXml

    (13) user_2010, Пустую.Не демо.

    Reply ↓
  16. darkmessiahan

    Так работает, хз правильно ли

    ВЫБРАТЬ
    МИНИМУМ(ВводПоказанийУсловийСредыТаблицаУсловий.Дата) КАК ДатаСобытия,
    МАКСИМУМ(ВводПоказанийУсловийСредыТаблицаУсловий.Дата) КАК ДействуетДо,
    РС.Регистратор.Организация КАК Организация,
    РС.Сотрудник,
    РС.ФизическоеЛицо,
    СРЕДНЕЕ(ВЫБОР
    КОГДА ВводПоказанийУсловийСредыТаблицаУсловий.Условие = 0
    ТОГДА 30
    ИНАЧЕ ВЫБОР
    КОГДА ВводПоказанийУсловийСредыТаблицаУсловий.Условие = 1
    ТОГДА 40
    ИНАЧЕ 50
    КОНЕЦ
    КОНЕЦ) КАК Значение,
    ВводПоказанийУсловийСредыТаблицаУсловий.Ссылка
    ПОМЕСТИТЬ ВТ
    ИЗ
    Документ.ВводПоказанийУсловийСреды.ТаблицаУсловий КАК ВводПоказанийУсловийСредыТаблицаУсловий
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников КАК РС
    ПО ВводПоказанийУсловийСредыТаблицаУсловий.Ссылка.Организация = РС.Регистратор.Организация
    И (ВводПоказанийУсловийСредыТаблицаУсловий.Дата МЕЖДУ РС.Период И РС.ДействуетДо)
    ГДЕ
    РС.Показатель = &ПоказательГрафика
    И РС.Период МЕЖДУ &Дата1 И &Дата2
    
    СГРУППИРОВАТЬ ПО
    РС.Сотрудник,
    РС.ФизическоеЛицо,
    РС.Регистратор.Организация,
    ВводПоказанийУсловийСредыТаблицаУсловий.Ссылка
    ;
    
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ.ДатаСобытия,
    ДОБАВИТЬКДАТЕ(ВТ.ДействуетДо, ДЕНЬ, 1) КАК ДействуетДо,
    ВТ.Сотрудник,
    &Начисление КАК Начисление,
    ВТ.ФизическоеЛицо,
    «1» КАК Значение,
    ИСТИНА КАК Используется,
    ВТ.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
    ВТ.Ссылка КАК ДокументОснование
    ИЗ
    ВТ КАК ВТ
    ;
    
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ.ДатаСобытия,
    КОНЕЦПЕРИОДА(ВТ.ДействуетДо, МЕСЯЦ) КАК ДействуетДо,
    ВТ.Организация,
    ВТ.Сотрудник,
    ВТ.ФизическоеЛицо,
    &ПоказательПроцент КАК Показатель,
    ВТ.Значение
    ИЗ
    ВТ КАК ВТ

    Показать

    Reply ↓
  17. IgorXml

    (16) darkmessiahan, Обновил до релиза 3.0.24.125 и получил ошибку. Ошибка в документах которые в обработке проведения применяют функцию «РасчетЗарплаты.СформироватьДвиженияПлановыхНачислений(ЭтотОбъект, Движения, ДаннныеДляПроведения)»: док.ВводПоказанийУсловийСреды_1, док.ФормированиеРабочейГруппыПроекта_3 и док.ИсключениеИзРабочейГруппыПроекта_3.

    Ты прав — надо добавить это строки в запросе:

      «ВЫБРАТЬ
    …
    | ВводПоказанийУсловийСредыТаблицаУсловий.Ссылка
    …
    | ВТ.Сотрудник.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
    | ВТ.Ссылка КАК ДокументОснование
    …;
    

    Обновил коды в публикации и добавил выгрузки ИБ. Добавил т.к. может ещё что-нить вылезти.

    Reply ↓
  18. darkmessiahan

    Во втором билете есть ошибочка, кадровый перевод устанавливает Сидоров Игорю час тариф ставку 100р. час, в условии 150р. час для 2 категории.

    Reply ↓
  19. darkmessiahan

    Во втором билете отгулы не трогал?

    Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

    по причине:

    {ОбщийМодуль.УчетРабочегоВремени.Модуль(3963)}: Поле объекта не обнаружено (ДанныеТабельногоУчетаРабочегоВремениСотрудников)

    Запись = Движения.ДанныеТабельногоУчетаРабочегоВремениСотрудников.Добавить();

    Нашел свою ошибку, не те движения выбрал

    Reply ↓
  20. darkmessiahan

    2 Билет. Что то у меня Зарплата не видит Отгулы и работу в цеху. После обновления заполнение Начисления ЗП работает нормально?

    Reply ↓
  21. darkmessiahan

    Как включить отработаночасоввпределахнормывремени ?

    Reply ↓
  22. IgorXml

    (21) darkmessiahan, при обновлении релизом 3.0.24 заменился на показатель «ВремяВЧасах». В типовом начислении по окладу(время в часах) и в «самопальном» для экзамена.

    Reply ↓
  23. darkmessiahan

    (22) В остальном второй билет работает! =).

    Интересно, приду такой на экзамен, 1С показатели заменили. И хз че делать. В описании про показатели отработаночасоввпределахнормывремени до сих пор есть.

    Reply ↓
  24. IgorXml

    (20) darkmessiahan, При обновлении создалось новое начисление и без зависимостей. Надо настроить зависимости или в кадровом документе поправить.

    Reply ↓
  25. darkmessiahan

    (24) ДА вроде и без зависимостей ЗП начислялась, смотря на что они влияют.

    Reply ↓
  26. IgorXml

    (25) darkmessiahan, Спасибо. Будет время проверить все билеты надо. А лучше теперь подождать пока 25 релиз.

    Reply ↓
  27. bigma

    IgorXml, что есть в запросе для документа «Ввод показаний условий среды» параметры: ПоказательГрафика, ПоказательПроцент, Начисление? Что эти показатели представляют из себя в самом документе?

    Reply ↓
  28. darkmessiahan

    Начисление — Оплата по дневному тарифу не исчезал? Вид времени не менялся?

    Опять не могу найти

    нашел, при заполнении, начальных настроек

    Reply ↓
  29. darkmessiahan

    3 билет, формирование раб группы

    Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

    по причине:

    {ОбщийМодуль.РасчетЗарплатыРасширенный.Модуль(660)}: Поле объекта не обнаружено (ГоловнаяОрганизация)

    НоваяСтрока.ГоловнаяОрганизация = Строка.ГоловнаяОрганизация;

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

    Показать

    Reply ↓
  30. IgorXml

    (29) darkmessiahan, У меня нет ошибки. Так проводится:

    ФормированиеРабочейГруппыПроекта_3ТаблицаУчастников.Сотрудник.ГоловнаяОрганизация КАК ГоловнаяОрганизация,

    Так как в типовом док. «ИзменениеПлановыхНачислений» берется из сотрудника.

    Reply ↓
  31. IgorXml

    Рекомендую веб-курс по ЗУП 3.0 http://www.profbuh8.ru/?utm_partner=7040. Если зарегистрироваться, то можно посмотреть бесплатные видеоматериалы. Все материалы ведет Грянина Е. — экзаменатор ЗУП.

    Можно организовывать совместную покупку как я делал здесь http://forum.infostart.ru/forum34/topic138822/.

    Reply ↓
  32. ElenaMat102

    В первом билете: если в документе ГрафикРаботыВОсобыхУсловиях ввести для одного сотрудника 2 периода, например, с 5.02.2015 по 5.02.2015 и с 9.02.2015 по 9.02.2015, то в документе начисление зарплаты, доплата начисляется за три дня (5,6 и 9 февраля). Если кто-нибудь исправил эту ошибку, подскажите как это сделали.

    Reply ↓
  33. StudentTr

    1) спасибо, за подробный разбор. Даже после прочтения книжки начать решать задачи не получалось.

    2) Билет 2. Никак не получается начислить зарплату по введенным начислениям. Мало того, даже в приведенной базе «заполнить» приводит только к пересчету по тарифу, остальных начислений нет.

    Насколько я понимаю, это вводилось не вручную. База файловая…Если не сложно, прокомментируйте, пожалуйста.

    Reply ↓
  34. mitia.mackarevich

    Добрый вечер, вопрос — зачем в 3 билете измерения проект и роль в РС??? В задании ведь сказано что сотрудник может участвовать только в одном проекте? Или просто задание поменялось с того времени? Может лучше сделать проверку при проведении документа на участие сотрудника в проектах и случае участия программно формировать документ исключение из проектной группы и включать его в новый проект?

    Reply ↓
  35. mrBart

    mitia.mackarevich для того чтобы сотрудник в один день мог завершить работу на проекте в роли руководитель и начать на этом же проекте с ролью исполнитель если периодичность регистра «День». Я делал периодичность регистра «По позиции регистратора» и измерение проект для получения среза при проверки работает ли сотрудник по данному проекту при исключении из рабочий группы

    Reply ↓
  36. IgorXml

    (33) StudentTr,

    2) Билет 2. Никак не получается начислить зарплату по введенным начислениям. Мало того, даже в приведенной базе «заполнить» приводит только к пересчету по тарифу, остальных начислений нет.

    Насколько я понимаю, это вводилось не вручную. База файловая…Если не сложно, прокомментируйте, пожалуйста.

    Проверил. Снять все с проведения. Лучше кадровые тоже. Потом документы расчетов надо последовательно в одном месяце «Данные пропускной системы» -> «Документ отгул» -> «Начисление». На перерасчетах наверно не пройдет, но на экзамене не слышал чтобы кто-то перерасчеты требовал. Я дальше не стат разбираться.

    А вот в отчете это поле «НачисленияДанныеГрафика.ОсновноеЗначениеПериодДействия» должно заполняться, но не заполняется после обновления. Может в новых релизах заполнится.

    Reply ↓
  37. StudentTr

    Спасибо!)

    Reply ↓
  38. IgorXml

    (37) StudentTr, Для подготовки мне помог курс 1C:Образование за 1350 руб.

    Reply ↓
  39. mitia.mackarevich

    (35) mrBart, однако такая структура противоречит логике(в том плане что допускает возможность что сотрудника каким то образом можно занести на два разных проекта одновременно) как ни крути на Спец по платформе за такое бы сняли баллы),я имею в виду структуру. А если сотрудник завершил работу и перешел на другую роль — и все в один день? Зачем?

    Если будет одно измерение сотрудник — срез по нему даст нам проект(последний) на котором он работает и в качестве кого (для этой задачи этого достаточно). Хотя если честно для меня это уже неважно) Я так понял самое главное — правильно организовать логику решения — использовать регистры и стандартные механизмы «правильно»( как рекомендует 1с) в сочетании со своими доработками.

    Спасибо, за ответ

    Reply ↓
  40. mitia.mackarevich
    Reply ↓
  41. IgorXml

    (39) mitia.mackarevich,

    Я так понял самое главное — правильно организовать логику решения — использовать регистры и стандартные механизмы «правильно»( как рекомендует 1с) в сочетании со своими доработками.

    Спасибо, за ответ

    Вот и я все решения просматривал через пояснения в курсе http://www.edu.1c.ru

    Reply ↓
  42. mitia.mackarevich

    (41) еще один вопрос возник почему в первом билете в отличие от второго и третьего — мы используем средний процент? Ведь если в середине месяца будет КП на другую ставку то результат будет неверным???Я разобрал все билеты лишь по одному этому вопрос)))) Попробывал закинуть значение показателей на каждый день для сотрудника — получил верный результат но много строк в документе начисление зарплаты. Поэтому возник вопрос по среднему проценту????

    Reply ↓
  43. IgorXml

    (42) mitia.mackarevich,

    мы используем средний процент? 

    Это я слишком упростил. Думал проскочит :). Я планировал на 3 сдать. Этот билет не попался. 🙂

    Reply ↓
  44. StudentTr

    Еще один вопрос возник. 5 билет. Если в один и тот же день, сотрудник ведет и группу и индивидуальную тренировку(время не перекрывается), то начисления за ведение группы не происходит. Это я не правильно условия понимаю, или здесь надо что-то изменить?

    Reply ↓
  45. mitia.mackarevich

    (44) StudentTr, Почему? Ведь мы же проверяем на групповое время и если оно есть пишем в ДанныеТабльногоУчета?

    Reply ↓
  46. StudentTr

    (45) mitia.mackarevich, Спасибо! Понял в чем проблема. Попробую.

    Reply ↓
  47. delliona

    Спасибо! Ваши материалы очень пригодились в подготовке!

    Reply ↓
  48. alres

    Решение 1-го билета некорректное (экзаменатор ответил что нельзя в нем использовать плановые начисления и средний процент). Поэтому возникает вопрос — как связать конкретный день с показателем условия работы на этот день?

    Reply ↓
  49. mitia.mackarevich

    (48) alres, посмотрите форум чистова недавно выкладывал пример реализации, на экзамене мне его зачли

    Reply ↓
  50. Kaval88

    А что такое МО в описании объектов?

    Reply ↓
  51. Kaval88

    (49) mitia.mackarevich, а какой у Вас ник на форуме Чистова, чтобы найти ваше решение, ну или ссылку скиньте пожалуйста.

    Reply ↓
  52. Kaval88

    (50) Kaval88, Модуль объекта я так понял)

    Reply ↓
  53. kassbar

    …выброшенные на ветер 3 СМ.

    посмотрел решения 1 и 2 билетов, на экзамене это твердая 2.

    забавное сведение ресурсов в отчете 2 билета левыми соединениями по периоду — автор предполагает, что если в периоде расчета не было начислений по работам в особых условиях, то и отгулов тоже не может быть…

    Reply ↓
  54. IgorXml

    (53) 3 года назад можно было сдать и сам сдал по этим билетам. Сейчас похоже эти решения устарели.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *