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

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

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

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

Представления «Данные о времени и состоянии сотрудников»

Posted on 9 августа 22 г.22 августа 24 г. By Алексей 2 комментария к записи Представления «Данные о времени и состоянии сотрудников»
Образец отчета:

Отчет «Анализ табеля по дням»Скачать

Образец отчета с получением данных о времени и состоянии сотрудников через представления СКД.

Отчет "Анализ табеля по дням"

Описание:

В ЗУП 3.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
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ИнициализироватьОтчет();
 
СтандартнаяОбработка = Ложь;
ДокументРезультат.Очистить();
 
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
МакетКомпоновки = ЗарплатаКадрыОтчеты.МакетКомпоновкиДанных(СхемаКомпоновкиДанных, НастройкиОтчета);
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
ПараметрыПолученияДанных.ДатаНачала = "ДатаНачала";
ПараметрыПолученияДанных.ДатаОкончания = "ДатаОкончания";
УчетРабочегоВремениРасширенный.ПолученияДанныхУчетаВремениПослеКомпоновкиМакета(МакетКомпоновки.НаборыДанных.ДанныеОВремени, ПараметрыПолученияДанных);
// Создадим и инициализируем процессор компоновки.
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
// Обозначим начало вывода
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
КонецПроцедуры
 
Процедура ИнициализироватьОтчет() Экспорт   
ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
КонецПроцедуры

Затем в запросе СКД необходимо описать таблицы «Представлений» и получить из них данные. В данном случаи это «Представления_ДанныеУчетаВремениИСостоянийСотрудников» (Дополнительно используются «ВТСотрудники» и «Представления_КадровыеДанныеСотрудников»).

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
ВЫБРАТЬ РАЗРЕШЕННЫЕ
&ДатаНачала КАК ДатаНачала,
&ДатаОкончания КАК ДатаОкончания,
Сотрудники.Ссылка КАК Сотрудник
ПОМЕСТИТЬ ВТСотрудники
ИЗ
Справочник.Сотрудники КАК Сотрудники
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Сотрудники.Сотрудник КАК Сотрудник,
&ДатаОтчета КАК Период
ПОМЕСТИТЬ ВТСотрудникДляСрезаФИО
ИЗ
ВТСотрудники КАК Сотрудники
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Фамилия,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Имя,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Отчество,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Наименование
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
ВТСотрудникДляСрезаФИО КАК СотрудникДляСрезаФИО
ГДЕ
"ТолькоРазрешенные" = ИСТИНА
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ДАТАВРЕМЯ(1, 1, 1) КАК Дата,
ЗНАЧЕНИЕ(Справочник.ВидыИспользованияРабочегоВремени.ПустаяСсылка) КАК ВидУчетаВремени,
0 КАК Дни,
0 КАК Часы,
ЛОЖЬ КАК Отклонение,
0 КАК НормаЧасов,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность,
ЗНАЧЕНИЕ(Справочник.СменыРаботыСотрудников.ПустаяСсылка) КАК Смена
ПОМЕСТИТЬ Представления_ДанныеУчетаВремениИСостоянийСотрудников
ИЗ
ВТСотрудники КАК ВТСотрудники
ГДЕ
"ТолькоРазрешенные" = ИСТИНА
И "ДатаНачала" = &ДатаНачала
И "ДатаОкончания" = &ДатаОкончания
И "МесяцДатаНачала" = &МесяцДатаНачала
И "МесяцДатаОкончания" = &МесяцДатаОкончания
И "ДатаАктуальности" = &ДатаОтчета
;
 
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ДанныеУчетаВремениИСостоянийСотрудников.Сотрудник КАК Сотрудник,
ДанныеУчетаВремениИСостоянийСотрудников.Организация КАК Организация,
ДанныеУчетаВремениИСостоянийСотрудников.Подразделение КАК Подразделение,
НАЧАЛОПЕРИОДА(ДанныеУчетаВремениИСостоянийСотрудников.Дата, МЕСЯЦ) КАК Месяц,
ДанныеУчетаВремениИСостоянийСотрудников.Должность КАК Должность,
ДанныеУчетаВремениИСостоянийСотрудников.Смена КАК Смена,
ДанныеУчетаВремениИСостоянийСотрудников.Дни КАК Дни,
ДанныеУчетаВремениИСостоянийСотрудников.Часы КАК Часы,
ДанныеУчетаВремениИСостоянийСотрудников.Дата КАК Дата,
1 КАК ПриоритетВидаВремени,
ЛОЖЬ КАК ЭтоВыходнойДень,
ОписаниеВидовВремени.Ссылка КАК ВидУчетаВремени,
ОписаниеВидовВремени.ОсновноеВремя КАК ОсновноеВремя,
Представления_КадровыеДанныеСотрудников.Фамилия КАК Фамилия,
Представления_КадровыеДанныеСотрудников.Имя КАК Имя,
Представления_КадровыеДанныеСотрудников.Отчество КАК Отчество,
ДанныеУчетаВремениИСостоянийСотрудников.Должность КАК ДолжностьКонецМесяца,
ДанныеУчетаВремениИСостоянийСотрудников.Отклонение КАК Отклонение
ИЗ
Представления_ДанныеУчетаВремениИСостоянийСотрудников КАК ДанныеУчетаВремениИСостоянийСотрудников
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников
ПО ДанныеУчетаВремениИСостоянийСотрудников.Сотрудник = Представления_КадровыеДанныеСотрудников.Сотрудник
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыИспользованияРабочегоВремени КАК ОписаниеВидовВремени
ПО ДанныеУчетаВремениИСостоянийСотрудников.ВидУчетаВремени = ОписаниеВидовВремени.Ссылка
ГДЕ
ДанныеУчетаВремениИСостоянийСотрудников.ВидУчетаВремени <> ЗНАЧЕНИЕ(Справочник.ВидыИспользованияРабочегоВремени.РабочееВремя)

Образец отчета для скачивания в начале описания.

Данная таблица так же используется в стандартном отчете ЗУП 3.1 «УнифицированнаяФормаТ13»

Так же, для получения данных о времени в коде, можно использовать стандартные процедуры ЗУП 3.1, более подробно — Получение данных о времени по сотрудникам.

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

  • Представления "Кадровые данные"
  • Получение данных о времени ЗУП 3.1
  • Представления "Срез последних кадровой истории", "Периоды"
Отчеты, Шаблоны и заготовки Tags:представление, СКД, табель

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

Previous Post: Шпаргалка по запросам 1С
Next Post: Работа с XML через механизм XDTO с примерами

Комментарии (2) on “Представления «Данные о времени и состоянии сотрудников»”

  1. Анна:
    28 ноября 22 г. в 21:10

    Доброго времени суток! Спасибо за статью, очень полезная информация.
    Мне необходимо добавить параметр Подразделение в отчет. Если я добавляю, взяв подразделение из таблицы Представления_ДанныеУчетаВремениИСостоянийСотрудников, указав в условии ГДЕ Подразделение = … В таком случае данные не выводятся. Подскажите, что я делаю не так?
    Спасибо!

    Ответить
    1. admin:
      29 ноября 22 г. в 07:28

      Здравствуйте. На этапе описания таблицы Представления_ можно использовать только отборы, которые заложены разработчиками, на сколько понимаю, подразделения там нет (замечено, что в этой таблице даже закомментированная строка может вызвать ошибку).

      В данном примере вам можно использовать отбор в Настройках СКД или в итоговой таблице запроса.

      Ответить

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

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

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

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

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты