Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • ЗУП 3.1
    • Разработка
      • Обработки
      • Отчеты
      • Печатные формы
      • Расширения
    • Инструкции
    • Ответы техподдержки 1С
    • Общие вопросы
  • УХ 3.2
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Печатные формы
    • Расширения
  • Контакты
  • Toggle search form

Получение данных о времени ЗУП 3.1

Posted on 2 декабря 22 г.2 декабря 22 г. By admin Комментариев к записи Получение данных о времени ЗУП 3.1 нет

Содержание:

  • 1. Получение данных о времени сотрудников за период через процедуру СоздатьВТДанныеУчетаВремениИСостоянийСотрудников
  • 2. Получение данных о времени сотрудников за период через процедуру СоздатьВТДанныеУчетаРабочегоВремениСотрудников
  • Заключение

Для получения данных в ЗУП 3.1 лучше всего использовать стандартные механизмы заложенные в конфигурацию, такой подход позволяет не углубляться в структуру регистров, сохранить работоспособность кода после обновлений. При получении данных о времени, легко запутаться в двух похожих по названию, но отличающихся по конечному результату процедурах: 1) СоздатьВТДанныеУчетаВремениИСостоянийСотрудников и 2) СоздатьВТДанныеУчетаРабочегоВремениСотрудников. Первая процедура подходит для получения времени аналогичного “Табелю Т-13” с учетом отсутствий сотрудников, вторая процедура не учитывает отсутствия, т.е. больше подходит для получения планового времени с учетом работ в выходные, сверхурочных.

1. Получение данных о времени сотрудников за период через процедуру СоздатьВТДанныеУчетаВремениИСостоянийСотрудников
1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
|   &Сотрудник Сотрудник,
| &ДатаНачала КАК ДатаНачала,
| &ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудники";
 
Запрос.УстановитьПараметр("Сотрудник", Объект.Сотрудник);
Запрос.УстановитьПараметр("ДатаНачала", Объект.Период.ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", Объект.Период.ДатаОкончания);
 
Запрос.Выполнить();
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();
ПараметрыПолученияДанных.ДатаНачала = Объект.Период.ДатаНачала;
ПараметрыПолученияДанных.ДатаОкончания = Объект.Период.ДатаОкончания;
ПараметрыПолученияДанных.МесяцДатаНачала = Объект.МесяцДатаНачала;
ПараметрыПолученияДанных.МесяцДатаОкончания = Объект.МесяцДатаОкончания;
ПараметрыПолученияДанных.ДатаАктуальности = Объект.ДатаАктуальности;
//ПараметрыПолученияДанных.Организация = Организация; // отбор по организации
//ПараметрыПолученияДанных.Подразделение = Подразделение; // отбор по подразделениям
//ПараметрыПолученияДанных.ПолучатьУсловияТрудаИТерритории = Ложь;
//ПараметрыПолученияДанных.ВыделятьВыходныеВПериодыОтклонений = Истина;
//ПараметрыПолученияДанных.УчитыватьТабельныеДанныеОТерриториях = Истина;
//ПараметрыПолученияДанных.ОтноситьПереходящуюЧастьСменыКДнюНачала = Ложь;
//ПараметрыПолученияДанных.РассчитыватьПлановоеВремя = Истина;
//ПараметрыПолученияДанных.НеучитываемыеРегистраторы = Новый Массив;
//ПараметрыПолученияДанных.ПолучатьУжеРассчитанныеДанные = Истина;
//ПараметрыПолученияДанных.ПересчитыватьФактическоеВремя = Ложь;  
//ПараметрыПолученияДанных.ИмяВТСотрудники = "ВТСотрудники";
//ПараметрыПолученияДанных.ИмяВТРезультат = "ВТДанныеУчетаВремениИСостоянийСотрудников";
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
ДанныеТабеляТ13 = Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаВремениИСостоянийСотрудников").ПолучитьДанные().Выгрузить();
2. Получение данных о времени сотрудников за период через процедуру СоздатьВТДанныеУчетаРабочегоВремениСотрудников
1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =     
"ВЫБРАТЬ
|   &Сотрудник КАК Сотрудник,
| НАЧАЛОПЕРИОДА(&ДатаНачала, МЕСЯЦ) КАК Месяц,
| &ДатаНачала КАК ДатаНачала,
| &ДатаОкончания КАК ДатаОкончания,
| &ДатаАктуальности КАК ДатаАктуальности
|ПОМЕСТИТЬ ВТСотрудники";
 
Запрос.УстановитьПараметр("Сотрудник", Объект.Сотрудник);
Запрос.УстановитьПараметр("ДатаНачала", Объект.Период.ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", Объект.Период.ДатаОкончания);
Запрос.УстановитьПараметр("ДатаАктуальности", Объект.ДатаАктуальности);
Запрос.Выполнить();
 
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
ПараметрыПолученияДанных.ДатаНачала = Объект.Период.ДатаНачала;
ПараметрыПолученияДанных.ДатаОкончания = Объект.Период.ДатаОкончания;
//ПараметрыПолученияДанных.УчитыватьТолькоИндивидуальныеСведения = Ложь;
//ПараметрыПолученияДанных.ПолучатьДанныеФакт = Истина;
//ПараметрыПолученияДанных.ПолучатьДанныеПлан = Ложь;
//ПараметрыПолученияДанных.ПолучатьДанныеНорма = Истина;
//ПараметрыПолученияДанных.ИспользоватьУжеРассчитанныеДанные = Истина;
//ПараметрыПолученияДанных.ФормироватьПриНаличииРассчитанныхДанных = Истина;
//ПараметрыПолученияДанных.НеучитываемыеРегистраторы = Новый Массив;
//ПараметрыПолученияДанных.ПолучатьУсловияТрудаИТерритории = Ложь;
//ПараметрыПолученияДанных.УчитыватьТабельныеДанныеОТерриториях = Истина;
//ПараметрыПолученияДанных.ПолучатьНормуВремениЗаПолныйМесяц = Ложь;
//ПараметрыПолученияДанных.ИспользуемыеВидыДанных = Новый Массив;
//ПараметрыПолученияДанных.ИмяВТСотрудники = "ВТСотрудники";
//ПараметрыПолученияДанных.ИмяВТРезультат = "ВТДанныеУчетаРабочегоВремениСотрудников";
//ПараметрыПолученияДанных.Индексировать = Ложь;
//ПараметрыПолученияДанных.ОтноситьПереходящуюЧастьСменыКДнюНачала = Ложь;
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
ДанныеТабеляТ13 = Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаРабочегоВремениСотрудников").ПолучитьДанные().Выгрузить();
Заключение

При использовании процедуры СоздатьВТДанныеУчетаВремениИСостоянийСотрудников можно получить время с учетом всех отклонений аналогичное табелю Т-13. В результате, получим таблицу со следующими полями: Сотрудник, Должность, Организация, Подразделение, ВидУчетаВремени, Смена, Дни, Часы, НормаЧасов, Отклонение, ПереходящаяЧастьТекущейСмены, ПереходящаяЧастьПредыдущейСмены, Территория, УсловияТруда. Для получения результата, данная процедура создаст 19 вспомогательных временных таблиц.

При использовании процедуры СоздатьВТДанныеУчетаРабочегоВремениСотрудников можно получить время без учета отклонений по сотрудникам, т.е. если сотрудник например был на больничном, то это не отразится в результате (в этот день будет выведена Явка). В результате, получим таблицу со следующими полями: Сотрудник, ПериодРегистрации, ВидУчетаВремени, ОсновноеВремя, Смена, Дней, Часов, ДнейПлан, ЧасовПлан, НормаЧасов, НормаДней, Отклонение, ВЦеломЗаПериод, План, ПереходящаяЧастьТекущейСмены, ПереходящаяЧастьПредыдущейСмены, Территория, УсловияТруда. Для получения результата, данная процедура создаст 10 вспомогательных временных таблиц.

Обработка “Сравнение процедур получения данных о времени в ЗУП 3.1”Скачать

Если необходимо получить данные о времени сотрудников через СКД, то можно использовать механизм представлений, более подробно тут – Представления «Данные о времени и состоянии сотрудников».

Рекомендации

  • Получение кадровых данных сотрудников ЗУП 3.1
  • Программная загрузка фото физических лиц в ЗУП 3.1
  • Расширение "Фото в карточке сотрудника ЗУП 3.1"
ЗУП 3.1, Отчеты, Печатные формы, Шаблоны и заготовки Tags:рабочее время

Навигация по записям

Previous Post: Почему в документе “Отсутствие с сохранением оплаты” нет начислений
Next Post: Расширение “Присвоение свободного табельного номера ЗУП 3.1”

Добавить комментарий Отменить ответ

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

ДзенTelegram

MDM web-сервис XDTO XML КД 2.0 Оплата по среднему заработку П-4 Резервы отпусков СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СЭДО ФСС ФСС НС ЭЛН больничные листы взносы выплаты вычеты запрос кадровая история кадровые данные кадровые переводы контактная информация легкий труд мастер-данных обмен данными отпуска печать печать без проверки печать с диалогом повышение квалификации пользователи представление прием на работу рабочее время синхронизация ЗУП и БП табель таблица периодов фотография штатное расписание

Рубрики

  • ЗУП 3.1 (33)
    • Инструкции (2)
    • Общие вопросы (11)
    • Ответы техподдержки 1С (8)
    • Разработка (8)
      • Обработки (3)
      • Отчеты (1)
      • Печатные формы (1)
      • Расширения (3)
  • Интеграции и обмены (4)
  • УХ 3.2 (1)
  • Шаблоны и заготовки (16)
    • Отчеты (9)
    • Печатные формы (6)
    • Расширения (1)
    • Типовые приемы (4)
Top.Mail.Ru

© 2022-2023 myblog-1c.ru