Автор Тема: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!  (Прочитано 51031 раз)

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

alsygaev

  • Пользователь
  • **
  • Сообщений: 42
  • ФИО: Евгений Алсыгаев
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #150 : Июнь 05, 2019, 07:18:26 pm »
Евгений, спасибо за развернутый комментарий. У меня нет цели раскритиковать ваше решение, тем более что не считаю себя компетентной кого-либо критиковать, потому что очень плохо пока знаю ЗУП, просто пытаюсь понять на основании чего люди выбирают тот или иной вариант. Тут на форуме были сообщения, что либо не зачитывали решения, основанные на плановых начислениях, либо снижали оценку. Связано это было как я понимаю с тем, что как раз-таки не работает механизм вытеснения при таком подходе. Ваши слова про промышленную реализацию кажутся мне убедительными, но покажутся ли они таковыми для экзаменатора? Один несомненный плюс вашего решения - это его лаконичность. То есть запрограммировать то, что вы предлагаете, за 4 часа легко можно, да даже и за 3, в общем-то. В отличие от решения предыдущего спикера, например. С тысячами строк бешеного кода. Хотя в его подходе мне видится меньше спорных моментов. У меня есть претензии к реализации в целом, но идея мне кажется более подходящей именно из-за того, что время будет учитываться в индивидуальных графиках и табеле.
P. S. И еще хотела уточнить - вы ссылаетесь на решение задачи на курсе Спец по ЗУП - это курс от московского учебного центра или какой-то другой курс?
Основная проблема всех задач то, что нет типовых маркеров решения задания. Например, вам не нравится, то что я эту задачу решил через плановые начисления, а кому-то не понравится плановый учёт. Такие же суждения и у проверяющих. Нет типового решения. Даже то решение, которое даётся на курсах может быть не принято или принято частично. Для этого есть апелляция. Если вы посмотрите, то все решения у меня сведены к общему принципу и все сделаны однотипно. Это типовые движения по регистрам на основе конструктора, все отчёты сделаны также по одному принципу. Собираю отдельными запросами нужные данные во временные таблицы и в итоговом запросе получаю выборку из этих временных таблиц.

vlas

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Владимир
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #151 : Июнь 06, 2019, 07:04:42 pm »
....
Тут на форуме были сообщения, что либо не зачитывали решения, основанные на плановых начислениях, либо снижали оценку. Связано это было как я понимаю с тем, что как раз-таки не работает механизм вытеснения при таком подходе.

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

Решение этой задачи, действительно, основывается на материалах курса УЦ1 по подготовке к экзамену.
Сам не сдавал, только готовлюсь.


Olik

  • Пользователь
  • **
  • Сообщений: 19
  • ФИО: Оля
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #152 : Июнь 07, 2019, 07:32:28 am »
Я так понимаю, что снижали оценку за показатель (процент надбавки), который реализовывали с назначением Для сотрудника, вместо Для Организации.
Это не совсем так:
В том и дело -  у меня такая же ситуация(такой же ответ), что плановые начисления не канают) - но в комментарии было что то сказано про табель и проверку вытеснения, поэтому этот билет переделан, вечером прикреплю свой вариант

Мне пришёл ответ с экзамена, одна из ошибок была что то вроде: "нефиг трогать плановые начисления".
А также еще видела сообщение, в котором сказано, что сняли один балл при решении через плановые начисления без объяснения причин.
« Последнее редактирование: Июнь 07, 2019, 07:39:23 am от Olik »

alsygaev

  • Пользователь
  • **
  • Сообщений: 42
  • ФИО: Евгений Алсыгаев
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #153 : Июнь 13, 2019, 10:15:07 am »
А также еще видела сообщение, в котором сказано, что сняли один балл при решении через плановые начисления без объяснения причин.
Для этого существует аппеляция. Все эти задачи можно решить тремя разными способами и непонятно какой из них удовлетворит экзаменатора.

VAAngelov

  • Пользователь
  • **
  • Сообщений: 23
  • Дорогу осилит идущий
  • ФИО: Ангелов Виталий Алексеевич
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #154 : Июль 16, 2019, 10:56:38 am »
Мне только что тоже пришел ответ. Сдавал в этот раз 1й билет(Сдал со свторого раза. В первый раз был 3й билет). Сдал на 4! Решал по своему решению, которое выложил здесь в топике. Условия задачи были немного другие, но суть та же самая.

Solveig

  • Новичок
  • *
  • Сообщений: 4
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #155 : Июль 18, 2019, 10:13:37 am »
Мне только что тоже пришел ответ. Сдавал в этот раз 1й билет(Сдал со свторого раза. В первый раз был 3й билет). Сдал на 4! Решал по своему решению, которое выложил здесь в топике. Условия задачи были немного другие, но суть та же самая.

На каком релизе сдавал?

Solveig

  • Новичок
  • *
  • Сообщений: 4
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #156 : Июль 18, 2019, 10:19:14 am »
Как правильно в 3.1 получить фактически отработанное время? Данные графика возвращают пустое значение.
Может какой-то запрос в представлениях?

Bolotowska

  • Новичок
  • *
  • Сообщений: 3
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #157 : Июль 18, 2019, 03:49:50 pm »
Как правильно в 3.1 получить фактически отработанное время? Данные графика возвращают пустое значение.
Может какой-то запрос в представлениях?

Представления_ДанныеУчетаВремениИСостоянийСотрудников, поля Дни и Часы. За основу можете взять отчет "УнифицированнаяФормаТ13".

Solveig

  • Новичок
  • *
  • Сообщений: 4
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #158 : Июль 18, 2019, 09:36:02 pm »
Как правильно в 3.1 получить фактически отработанное время? Данные графика возвращают пустое значение.
Может какой-то запрос в представлениях?

Представления_ДанныеУчетаВремениИСостоянийСотрудников, поля Дни и Часы. За основу можете взять отчет "УнифицированнаяФормаТ13".

Спасибо.
Да, все верно. Видел это представление, только до конца не проработал.
В помощь по следам идущим:

Надо в процедуру ПриКомпоновкеРезультата, помимо вызова процедуры инициализации запросов, вставить вызов процедуры получения данных учета времени - ПолученияДанныхУчетаВремениПослеКомпоновкиМакета.
В итоге:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
   
   ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
   ПараметрыПолученияДанных.ДатаНачала = "НачалоПериода";
   ПараметрыПолученияДанных.ДатаОкончания = "КонецПериода";
      УчетРабочегоВремениРасширенный.ПолученияДанныхУчетаВремениПослеКомпоновкиМакета(ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.ДанныеОВремени, ПараметрыПолученияДанных);
   
КонецПроцедуры



« Последнее редактирование: Июль 19, 2019, 08:06:44 am от Solveig »

VAAngelov

  • Пользователь
  • **
  • Сообщений: 23
  • Дорогу осилит идущий
  • ФИО: Ангелов Виталий Алексеевич
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #159 : Июль 19, 2019, 05:19:41 pm »
Мне только что тоже пришел ответ. Сдавал в этот раз 1й билет(Сдал со свторого раза. В первый раз был 3й билет). Сдал на 4! Решал по своему решению, которое выложил здесь в топике. Условия задачи были немного другие, но суть та же самая.

На каком релизе сдавал?

3.0.25.144

channst

  • Новичок
  • *
  • Сообщений: 2
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #160 : Июль 23, 2019, 11:41:19 am »
Доброго времени суток! Сдавала экзамен в сентябре 2018 г., попался билет 1. Делала так:
1) Документ "График работ" делал движения в регистр Плановые начисления и созданный мной регистр сведений Плановое время работ ( для последующего использования этого регистра в отчете)
2) Документ " Регистрация фактических условий" делал движения в регистр Значения периодических показателей для организаций
3) Начисление "Доплата за работу в особых условиях" с формулой РасчетнаяБаза * ПроцентЗаРаботуВОсобыхУсловиях / 100.  Показатель ПроцентЗаРаботуВОсобыхУсловиях с постоянным использованием для организации.
4) Отчет: запланировано дней из своего регистра, фактически отработано из "Отработанное время по сотрудникам", начислено доплаты из "Начисления удержания по сотрудникам", средний размер доплаты считался прямо в запросе.
Оценка 4, комментариев преподавателя нет, поэтому , где ошиблась даже не знаю.

Решала аналогично, сдала на 4 с комментарием: хорошо))

Alex007

  • Новичок
  • *
  • Сообщений: 6
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #161 : Октябрь 22, 2019, 06:44:29 am »
Мне только что тоже пришел ответ. Сдавал в этот раз 1й билет(Сдал со свторого раза. В первый раз был 3й билет). Сдал на 4! Решал по своему решению, которое выложил здесь в топике. Условия задачи были немного другие, но суть та же самая.

На каком релизе сдавал?

3.0.25.144

Уважаемый Ангелов, к сожалению, Ваш отчет работает не совсем корректно, фактически отработано дней в особых условиях возвращает 0 из регистра начислений. Можете ли подсказать простой способ решения этой проблемы? На форуме пока я не совсем понял четкий алгоритм, как сделать отчет

sajmon

  • Новичок
  • *
  • Сообщений: 6
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #162 : Февраль 26, 2020, 08:24:30 pm »
Alex007 вы решили вопрос с отчетом?

drv

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Деханов Роман Вячеславович
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #163 : Июнь 28, 2020, 01:08:29 pm »
Ни один из вариантов в этой теме мне не понравился)). Предлагаю свой:
1. Подсистема "Экзамен" (все добавленные объекты метаданных в него)
2.Константы (первые три для движений и отчета, четвертая только для отчета)
2.1.  ПоказательСредниеПоказатели  (элемент справочника ПоказателиРасчетаЗарплаты)
2.2. ПоказательПовышеннаяТемпература (то же самое)
2.3. ПоказательПовышеннаяТемператураВлажность (то же самое)
2.4.  НачислениеЗаОсобыеУсловия (ПланВидовРасчета.Начисление)   
3. ЭлементыСправочников
3.1.  Показатели расчета зарплаты
3.1.1. ПоказательСредниеПоказатели (для сотрудника, числовой, используется только в месяце, в котором вводится значение, накапливается по отдельным значениям...)
3.1.2. ПоказательПовышеннаяТемпература (то же самое)
3.1.3. ПоказательПовышеннаяТемператураВлажность (то же самое)
3.2 Сотрудники, Физлица - расшифровывать не буду
4. Начисления
4.1. Начисление за особые условия (Повременная оплата труда и надбавки, Начисление ведется только если введено значение показателя, формула "(30*ДниСреднихПоказателей + 40*ДниПовышеннойТемпературы + 50*ДниПовышеннойТемпературыВлажности) / 100 * СтоимостьДня", значения накапливаемых показателей подбираются: по соответствию даты регистрации интервалу начисления)
5. Документы
5.1.График работ в особых условиях
5.1.1. Реквизиты Организация,  Подразделение.
5.1.2. Табчасть Плановые работы (Сотрудник (справочникссылка.Сотрудники), Особые условия (перечислениессылка.ОсобыеУсловия), ДатаНачала (дата), ДатаОкончания (дата)).
5.1.3. Движений нет. В отчете используются только те документы, у которых не установлена пометка удаления.
5.1.4. Модуль объекта:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
   Дата = Дата(Год(Дата), Месяц(Дата), 25);
КонецПроцедуры
5.2. Работы в особых условиях
5.2.1. Реквизиты Организация,  Подразделение, ПеридРегистрации.
5.2.2. Табчасти Сотрудники (Сотрудник (справочникссылка.Сотрудники)), ФактическиеРаботы (ДеньДата (Дата), Особые условия (перечислениессылка.ОсобыеУсловия)).
5.2.3. Движения: РН ЗначенияОперативныхПоказателейРасчетаЗарплатыСотрудников. В модуле получаем таблицу из двух табличных частей документа,
ВЫБРАТЬ
   Факт.ДеньДата КАК Период,
   Сот.Сотрудник КАК Сотрудник,
   Сот.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
   ВЫБОР
      КОГДА Факт.ОсобыеУсловия = ЗНАЧЕНИЕ(Перечисление.ОсобыеУсловия.СредниеПоказатели) ТОГДА &Показатель0
      КОГДА Факт.ОсобыеУсловия = ЗНАЧЕНИЕ(Перечисление.ОсобыеУсловия.ПовышеннаяТемпература) ТОГДА &Показатель1
      КОГДА Факт.ОсобыеУсловия = ЗНАЧЕНИЕ(Перечисление.ОсобыеУсловия.ПовышеннаяТемператураВлажность) ТОГДА &Показатель2
   КОНЕЦ КАК Показатель,
   1 КАК Значение,
   Шап.Организация КАК Организация,
   Шап.Подразделение КАК Подразделение
ПОМЕСТИТЬ ДанныеДокумента
ИЗ Документ.РаботыВОсобыхУсловиях.Сотрудники КАК Сот
   ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаботыВОсобыхУсловиях КАК Шап ПО Сот.Ссылка = Шап.Ссылка
   ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаботыВОсобыхУсловиях.ФактическиеРаботы КАК Фак ПО Сот.Ссылка = Факт.Ссылка
ГДЕ Сот.Ссылка = &ТекСсылка

сравниваем с данными табеля и выкидываем из неё строки дней, где у сотрудника нет явки (одним запросом, конечно же).

6. Перечисления
6.1. Особые условия (СредниеПоказатели, ПовышеннаяТемпература,ПовышеннаяТемператураВлажность )
7. Отчет
7.1 ПланФактРаботыВОсобыхУсловиях.
ВЫБРАТЬ
   ПР.Сотрудник КАК Сотрудник,
   НАЧАЛОПЕРИОДА(ПР.ДатаНачала, МЕСЯЦ) КАК ПериодДействия,
   СУММА(1) КАК КоличествоПлан
ПОМЕСТИТЬ План
ИЗ
   Документ.ГрафикРаботВОсобыхУсловиях.ПлановыеРаботы КАК ПР
      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ГрафикРаботВОсобыхУсловиях КАК Ша
      ПО ПР.Ссылка = Ша.Ссылка
ГДЕ
   Ша.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаОт, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаПо, МЕСЯЦ)
   И НЕ Ша.ПометкаУдаления

СГРУППИРОВАТЬ ПО
   ПР.Сотрудник,
   НАЧАЛОПЕРИОДА(ПР.ДатаНачала, МЕСЯЦ)
;

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

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

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

СГРУППИРОВАТЬ ПО
   вложЗапрос.Сотрудник,
   вложЗапрос.ПериодДействия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ЕСТЬNULL(Пла.Сотрудник, Фак.Сотрудник) КАК Сотрудник,
   ЕСТЬNULL(Пла.ПериодДействия, Фак.ПериодДействия) КАК Период,
   Фак.Результат КАК Результат,
   Фак.ЗначениеОборот КАК КоличествоФакт,
   Пла.КоличествоПлан КАК КоличествоПлан,
   ВЫБОР
      КОГДА ЕСТЬNULL(Фак.ЗначениеОборот, 0) = 0
         ТОГДА 0
      ИНАЧЕ Фак.Результат / ЕСТЬNULL(Фак.ЗначениеОборот, 0)
   КОНЕЦ КАК СреднийДень
ПОМЕСТИТЬ Итог
ИЗ
   План КАК Пла
      ПОЛНОЕ СОЕДИНЕНИЕ Факт КАК Фак
      ПО Пла.Сотрудник = Фак.Сотрудник
         И Пла.ПериодДействия = Фак.ПериодДействия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   ДАТАВРЕМЯ(1, 1, 1) КАК Период,
   ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
   ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
   Итог КАК Ито
;

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

Чем плох вариант? То, что в обсуждениях нашёл.
1. Использовать показатель по организации, с моей точки зрения неверно: Если планово привязывают к каждому сотруднику выход на особые работы, то и факт должен быть привязан к каждому сотруднику. Так как прибор сотрудников не видит, то две части: данные прибора и сотрудники, которые в это время работали.
2. От табеля не зависит.
3. Больничные, отпуска etc исключаются из оплаты.
4. При изменении должности, категории, etc, считается правильно.

« Последнее редактирование: Июнь 28, 2020, 01:10:38 pm от drv »

Кот16

  • Пользователь
  • **
  • Сообщений: 14
Re: ЗУП 3.0 Программист Билет 1 ПОЕХАЛИ!!!
« Ответ #164 : Июнь 29, 2020, 07:58:04 am »

Чем плох вариант? То, что в обсуждениях нашёл.
1. Использовать показатель по организации, с моей точки зрения неверно: Если планово привязывают к каждому сотруднику выход на особые работы, то и факт должен быть привязан к каждому сотруднику. Так как прибор сотрудников не видит, то две части: данные прибора и сотрудники, которые в это время работали.
2. От табеля не зависит.
3. Больничные, отпуска etc исключаются из оплаты.
4. При изменении должности, категории, etc, считается правильно.

Как раз показатели лучше использовать по организации, потому что они едины для всей организации в этот день.
Можно, конечно, изгаляться и вычислять, работал ли сотрудник в этот день в особых условиях, но зачем? Если есть запись в плановых начислениях - то сработает показатель для организации.