Автор Тема: ЗУП 3.0 Специалист Билет 2  (Прочитано 27228 раз)

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

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #15 : Март 21, 2016, 12:54:27 pm »
Мое решение. Описание как для экзаменатора, прошу критиковать, в том числе и описание.

1. Завел виды времени:

   - Работа в кислотном цеху, основной вид времени "Вахта"(для того что бы не    включался в "Рабочее время").
   - Отгул за работу в кислотном цеху. Для регистрации отгулов в системе учета    времени. Основной вид времени "Дополнительный выходной(оплачиваемый)", как раз    подходит под условия задачи.

Вывел виды времени в константы для использования в документах.

2. Завел начисления:
   - Работа в кислотном цеху. Вводиться если введен вид времени "Работа в кислотном цеху", рассчитывается по формуле "ТарифнаяСтавкаЧасовая * ВремяВЧасах/2", дополнительная оплата за уже оплаченное время. 
   - Отгул за работу в кислотном цеху. Вводиться если введен вид времени " Отгул за работу в кислотном цеху", рассчитывается по формуле "ТарифнаяСтавкаЧасовая * 12 * ВремяВДнях", за работу в полную смену в пределах нормы времени, оклад в таблице вытеснений приоритет которых ниже. При формировании начислений в документе расчета зарплаты если у начисления есть вытеснения приоритет которых ниже, начисление формируется именно за те дни которые указаны в табеле(или инд. графике).

Вывел виды времени в константы для использования в отчете.

3. Разработал регистр накопления "ЗаработанныеОтгулы". Измерения "Сотрудник", ресурсы "Значение". В регистре храню не количество заработанных отгулов, а количество отработанных часов в кислотном цеху, с целью минимизировать погрешность при вычислении. При списании из регистра остатки не контролирую (в задачи этого не сказано).

4. Разработан документ "ДанныеПропускнойСистемы".

В документе разработал таблицу "Данные" с реквизитами: "Сотрудник", "НачалоПериода", "КонецПериод".

Добавил реквизиты для получения данных табеля.

В модуле формы реализовал процедуру загрузки в табличную часть "Данные" из txt файла по описанному в задачи формату.

Документ формирует движения в регистры накопления "ДанныеОперативногоУчетаРабочегоВремениСотрудников" для регистрации отработанного времени и "ЗаработанныеОтгулы".
Перед обработкой данных проверяю нет ли переходящих периодов изо дня в день и разбиваю по дням для получения количество часов в каждом дне.
Проверяю является ли день за который вводится вредность рабочим днем.
Формирую приход по заработанным отгулам.

5. Разработан документ " ОтгулЗаРаботуВКислотномЦеху".

В документе разработал таблицу "Данные" с реквизитами: "Сотрудник", "День".

Добавил реквизиты для получения данных табеля.

Документ формирует движения в регистры накопления "ДанныеОперативногоУчетаРабочегоВремениСотрудников" для регистрации отгулов и "ЗаработанныеОтгулы".
Проверяю является ли день за который вводится отгул рабочим днем.
Формирую расход по заработанным отгулам.

6. Разработал отчет "РаботаВКислотномЦеху".

Получаю данные из регистра расчета Начисления. если график работы установлен как индивидуальный график, т.е. График = Сотрудник, то получаю фактические периоды работы по начислению и присоединяю регистр сведений "ГрафикиРаботыПоВидамВремени" получаю количество отработанных часов(как это делается в стандартных процедурах программы 1С Зарплата и управление персоналом 3.0 при расчете зарплаты), в противном случае беру отработанные часы из виртуальной таблицы "ДанныеГрафика". Получить отработанные часы при сформированном "Индивидуальном графике" не получиться, процедуры формирующая его не добавляет строки с полем "ВремяВЧасах" = Истина, формирует только время в днях, при связи виртуальная таблица получает null.

7. Занес в базу данных начисления за 3 месяца по 2-м сотрудникам.
« Последнее редактирование: Май 25, 2016, 07:59:51 am от mkanaev »

paxanb

  • Пользователь
  • **
  • Сообщений: 26
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #16 : Апрель 01, 2016, 12:09:10 am »
Та же проблема, раньше, в релизе 3.0.23.143 было ОК, а в релизе 3.0.25.65 в Общем модуле УчетРабочегоВремени удалили часть кода функцуии ЗаполнитьОчереднойНабор, добавляющий записиси с ВремяВЧасах=Истина и теперь непонятно как этот ресурс должен заполнятся

Таки да, начиная где-то с версии 3.0.24 уже не получить (или все-таки можно?) красиво данные из Начисления.ДанныеГрафика, как это было в решении IgorXml.

Мое решение. Описание как для экзаменатора, прошу критиковать, в том числе и описание.

6. Разработал отчет "РаботаВКислотномЦеху".

Получаю данные из регистра расчета Начисления. если график работы установлен как индивидуальный график, т.е. График = Сотрудник, то получаю фактические периоды работы по начислению и присоединяю регистр сведений "ГрафикиРаботыПоВидамВремени" получаю количество отработанных часов(как это делается в стандартных процедурах программы 1С Зарплата и управление персоналом 3.0 при расчете зарплаты), в противном случае беру отработанные часы из виртуальной таблицы "ДанныеГрафика". Получить отработанные часы при сформированном "Индивидуальном графике" не получиться, процедуры формирующая его не добавляет строки с полем "ВремяВЧасах" = Истина, формирует только время в днях, при связи виртуальная таблица получает null.


Несколько напрягает, что в решении mkanaev данные берутся (суммируются часы) из ГрафикиРаботыПоВидамВремени. Это вроде как грубая ошибка (см. описание экзамена: получение данных графика через таблицу РС).

Как альтернативу, предлагаю просто получать все данные из РН Отгулы и Начисления. Впрочем, это очень неправильно, и вероятно повлечет незачет на экзамене.

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

СГРУППИРОВАТЬ ПО
Начисления.ПериодРегистрации,
Начисления.Сотрудник
;

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


mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #17 : Апрель 01, 2016, 01:11:23 pm »
paxanb, есть вариант... пописать процедуру которая формирует инд. график по сотруднику, скопировать код и установить часты = истина... вопрос как к этому отнесутся экзаменаторы.

Вообщем вижу два варианта:
1. Писать как у меня в отчете и в описании давить на то что это типовой код фирмы 1С, выложить код и адрес кода(Имя модуля + строка) получения отработанного времени при расчете начислений. 1С не пользуются виртуальной таблицей "ДанныеГрафика". Это конфликт без вариантов...
2. Дописать процедуру формирования инд. графика, условия выполняются, но надо доказать что не без причины корректировал типовой код, т.е. 1С не думают о экзаменуемых и конфигурация противоречит условиям работы с ней. Это конфликт опять же.

Я общался с экзаминаторами, если честно "не го же холопу с барином спорить" (такое впечатление), поэтому если попался 2 или 5-й билет то не сдал... вообщем рулетка господа!

zikonza

  • Новичок
  • *
  • Сообщений: 9
  • Krol ЕСЛИ ВЫ ПОДЕЛИЛИСЬ СВОЕЙ ПОЧТОЙ, УДАЛИТЕ СООБЩЕНИЕ НЕМЕДЛЕННО ИЛИ БУДЕТЕ ЗАБАНЕНЫ. ЧИТАЙТЕ ПРАВИЛА!!! KoDER
  • ФИО: Макаревич Дмитрий Игоревич
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #18 : Апрель 11, 2016, 11:41:19 pm »
А если указать на один и тот же день рабочий явка , работа в цеху - затем сформировать отгул, а под конец месяца  больничный что мы получим после этого? Еще к примеру если сотрудник решит сформировать документ табель?

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #19 : Апрель 15, 2016, 07:33:37 am »
Тогда необходимо перепровести документ "Данные пропускной системы"

alres

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Александр
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #20 : Май 14, 2016, 12:09:05 am »
Попался этот билет, только в условии не было разрядов, график был пятидневка (вместо сменного). Сдал на отлично.

Часы работы в кислотном цеху (на экзамене в билете это склад - холодильник) и дни предоставленных отгулов писал в регистр ДанныеТабельногоУчетаРабочегоВремени процедурой УчетРабочегоВремени.ЗарегистрироватьДанныеТабеля (в эту продецуру передавал таблицу (процедуру формирования таблицы взял из документа ТабельУчетаРабочегоВремени и немного доработал)).

Для отгулов использовал типовой регистр и процедуру общего модуля УчетРабочегоВремени.ЗарегистрироватьДниЧасыОтгулов.

И для всего этого дела завел два вида времени и два начисления.

« Последнее редактирование: Май 14, 2016, 12:11:26 am от alres »

Уфимцева

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Уфимцева Е.М.
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #21 : Июль 22, 2016, 01:35:44 pm »
Создала документ "Данные пропускной системы". Пишу часы работы в кислотном цеху в РН ДанныеИндивидуальныхГрафиковСотрудников, как IgorXml. Столкнулась с такой трудностью: этих часов "не видит" ни табель, ни начисление зарплаты. Оказалось, что есть РС ПараметрыЗарегистрированныхДанныхУчетаВремениСотрудников, у которого есть измерение ДокументОснование, составного типа. Добавила в тип свой документ - стало считать. Интересно, кто-нибудь сталкивался? Почему-то у всех отписавшихся в теме все работало... Может, поменялся релиз?

P.S. Использую релиз 3.0.25.109

Rvast

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Иван
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #22 : Сентябрь 02, 2016, 05:55:20 pm »
Создала документ "Данные пропускной системы". Пишу часы работы в кислотном цеху в РН ДанныеИндивидуальныхГрафиковСотрудников, как IgorXml. Столкнулась с такой трудностью: этих часов "не видит" ни табель, ни начисление зарплаты. Оказалось, что есть РС ПараметрыЗарегистрированныхДанныхУчетаВремениСотрудников, у которого есть измерение ДокументОснование, составного типа. Добавила в тип свой документ - стало считать. Интересно, кто-нибудь сталкивался? Почему-то у всех отписавшихся в теме все работало... Может, поменялся релиз?

P.S. Использую релиз 3.0.25.109

Натыкался на это, но не придал значения. Также добавлял в составной тип свой документ.

Stas

  • Новичок
  • *
  • Сообщений: 1
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #23 : Октябрь 10, 2016, 02:44:57 pm »
Никак не могу понять куда лучше писать данные о времени? В регистр "ДанныеТабельногоУчетаРабочегоВремениСотрудников" или "ДанныеИндивидуальныхГрафиковСотрудников"?
В чем разница между ними?
Результат расчета получается вроде как одинаковый...



yariksuray

  • Пользователь
  • **
  • Сообщений: 34
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #24 : Ноябрь 03, 2016, 12:46:57 pm »
Никак не могу понять куда лучше писать данные о времени? В регистр "ДанныеТабельногоУчетаРабочегоВремениСотрудников" или "ДанныеИндивидуальныхГрафиковСотрудников"?
В чем разница между ними?
Результат расчета получается вроде как одинаковый...

Плановые данные в данной задаче пишем в РН "ДанныеИндивидуальныхГрафиковСотрудников", так как этот регистр предназначен для регистрации плановых данных, а документ "Отгул" должен вытеснять введенные  данные в РН "ДанныеИндивидуальныхГрафиковСотрудников", так как человек не работал в день отгула и для этого мы отгулы пишем в РН "ДанныеТабельногоУчетаРабочегоВремениСотрудников", т. е. фиксируем факт отгула.
« Последнее редактирование: Ноябрь 03, 2016, 12:48:50 pm от yariksuray »

ВиталийЧебан

  • Проверенный
  • ***
  • Сообщений: 106
  • ФИО: Виталий Чебан
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #25 : Ноябрь 13, 2016, 05:19:49 pm »
Мой вариант решения.

Считаю что регистр "ДанныеТабельногоУчетаРабочегоВремениСотрудников" использовать в этой задаче нельзя, иначе типовой Табель уже не ввести.
Тем более нельзя использовать регистр "ДанныеИндивидуальныхГрафиковСотрудников", так как регистрируем фактическое время, а не плановое.

Документ "Данные пропускной системы" должен делать движения по типовым регистрам
  • ДанныеОперативногоУчетаРабочегоВремениСотрудников
  • ДниЧасыОтгулов
Ну и собственный регистр добавил "ВремяДляРасчетаОтгулов", в котором храню время работы в кислотном цеху до накопления целых 4-х часов, после чего делаю движения в "ДниЧасыОтгулов", а из "ВремяДляРасчетаОтгулов" списываю.

Движения по первому регистру
РегистрируемыеДанныеОВремени = ДанныеОВремени(ТаблицаПосещений);
УчетРабочегоВремени.ПроверитьРегистрируемыеДанныхОВремени(Ссылка, РегистрируемыеДанныеОВремени, Отказ, Истина, ПериодРегистрации);
УчетРабочегоВремени.ЗарегистрироватьРабочееВремяСотрудников(Движения, РегистрируемыеДанныеОВремени, ПериодРегистрации);
Код подсмотрен в документе РаботаСверхурочно.
.
Для каждого сотрудника + дня делаем два движения, первое по новому виду времени - Справочники.ВидыИспользованияРабочегоВремени.РаботаВКислотномЦеху, добавить заполнение этого элемента в процедуру Справочники.ВидыИспользованияРабочегоВремени.СоздатьВидыИспользованияРабочегоВремениПоНастройкам(), заполнение делать по аналогии с элементом "Вахта", и вызвать эту процедуру из внешней обработки.
Второе движение по виду времени Явка, количество часов = 12 - количество часов РаботаВКислотномЦеху.

По второму регистру - УчетРабочегоВремени.ЗарегистрироватьДниЧасыОтгуловСотрудников.
Примеры использования в типовых документах.

При таком походе - в документе Табель красота.


Документ "ОтгулЗаРаботуВКислотномЦехе" делает движения по регистру "ДанныеСостоянийСотрудников".
Предварительно нужно добавить элемент Перечисление.СостоянияСотрудника.ОтгулЗаРаботуВКислотномЦехе, а также элемент Справочники.ВидыИспользованияРабочегоВремени.ОтгулЗаРаботуВКислотномЦехе, с заполнением в модуле менеджера (по аналогии с предыдущим добавленным элементом, заполнение делать по аналогии с элементом "Дополнительные выходные дни (оплачиваемые)").

Затем добавленный вид времени привязать к добавленному состоянию сотрудника в процедуре УчетРабочегоВремени.ЗапросВТСоответствиеСостоянийВидамУчетаВремени. Нужно в запрос добавить
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтгулЗаРаботуВКислотномЦехе),
| &ОтгулЗаРаботуВКислотномЦехе

Ну и еще расход по регистру "ДниЧасыОтгулов" процедурой УчетРабочегоВремени.ЗарегистрироватьИПроверитьОстаткиДниЧасыОтгуловСотрудников.

В режиме Предприятия создать начисление "Доплата за работу в кислотном цеху"
Начисление выполняется Только если введен вид учета времени "Работа в кислотном цеху"
Формула "ВремяВЧасах * ТарифнаяСтавкаЧасовая * 50/100"
Начисление выполняется "Дополнительная оплата за уже оплаченное время".

Создать начисление "Оплата отгула за работу в кислотном цеху"
Начисление выполняется Только если введен вид учета времени "Отгул за работу в кислотном цехе"
Формула "ВремяВДнях * ТарифнаяСтавкаЧасовая * 12"
Начисление выполняется "За работу полную смену в пределах нормы времени".

Также, не забудьте добавить созданные документы в составной тип реквизита ДокументОснование у регистров сведений ПараметрыЗарегистрированныхДанныхУчетаВремениСотрудников и ДанныеСостоянийСотрудников.

Отчет прикреплен. Сделан на основании отчета УнифицированнаяФормаТ13 (получение времени отработанного в кислотном цеху).
Можно было по простому использовать данные регистра ДанныеОперативногоУчетаРабочегоВремениСотрудников, но в таком случае, корректировки времени, внесенные вручную в табель, не попадут в отчет. Поэтому использовал Представления_ДанныеУчетаВремениИСостоянийСотрудников (что потребовало использования ПриКомпоновкеРезультата, код взял из отчета УнифицированнаяФормаТ13 + мелкая доработка). Так же нужно обязательно задавать период в отчете, иначе не будет данных по отработанному времени (нюанс типового отчета УнифицированнаяФормаТ13).

Update: Грянина сказала господину alres писать движения данных пропускной системы в ДанныеТабельногоУчетаРабочегоВремениСотрудников (похоже её документ Табель не интересует). Несмотря на это, считаю что писать в ДанныеОперативногоУчета намного корректнее. Решайте сами.
« Последнее редактирование: Ноябрь 14, 2016, 10:54:22 am от ВиталийЧебан »

ddelphknn

  • Новичок
  • *
  • Сообщений: 4
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #26 : Июль 24, 2018, 11:03:09 am »
Подскажите, пожалуйста.
Если писать в табель одновременно и явку (по 12 часов) и работу в цеху, то явка в итоге разве не должна задвоиться на количество часов в цеху?

NikZagVit

  • Новичок
  • *
  • Сообщений: 7
  • ФИО: Николай
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #27 : Август 29, 2018, 10:41:17 am »
Ребята, а стоит ли связывать механизм отгулов (согласно билету) с типовым механизмом отгулов?
В этом случае нет необходимости вести регистр ДниЧасыОтгулов, и вообще решение упрощается.

серж

  • Пользователь
  • **
  • Сообщений: 93
  • Билеты: https://expert.chistov.pro/public/1127069/
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #28 : Август 29, 2018, 10:06:22 pm »
Ребята, а стоит ли связывать механизм отгулов (согласно билету) с типовым механизмом отгулов?
В этом случае нет необходимости вести регистр ДниЧасыОтгулов, и вообще решение упрощается.
да, стоит. Цель экзамена не спроектировать реальную практическую задачу, а показать умение использовать типовые механизмы конфигурации. Зачем плодить лишние регистры, константы и справочники если можно использовать типовой. В описании решения указываем, что есть типовой регистр, и в целях упрощения будем его использовать и все.

2mugik

  • Новичок
  • *
  • Сообщений: 5
  • ФИО: 2mugik
Re: ЗУП 3.0 Специалист Билет 2
« Ответ #29 : Октябрь 08, 2018, 06:50:01 am »
Мне все-таки кажется что отгул тоже можно запихнуть в табель(ну или в оперативное время) и не связываться с состояниями сотрудников.