Получить запросом данные по отработанным дням зуп3

1. sybastik 19.02.19 23:57 Сейчас в теме
Приветствую.

Коллеги, может есть у кого-нибудь запрос для ЗУП 3 как получить дни явок сотрудника за период?
С ЗУПом в части разработки почти не сталкивался, поэтому есть много сложностей..
Найденные решения
2. Redinternational 86 20.02.19 04:54 Сейчас в теме
&НаСервере
Процедура Команда1НаСервере()
	
    ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
    ДатаНачала = '20180901';
    ДатаОкончания = КонецМесяца(ДатаНачала);
    ПараметрыПолученияДанных.ДатаНачала = ДатаНачала;
    ПараметрыПолученияДанных.ДатаОкончания = ДатаОкончания;
    
    МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	//Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
	//               |	Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
	//               |ИЗ
	//               |	ВТСотрудники КАК Сотрудники";
	//МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ФизическоеЛицо");
	
    МассивСотрудников = Новый Массив;
    МассивСотрудников.Добавить(Справочники.Сотрудники.НайтиПоНаименованию("Иванов Иван Иванович"));
	
    СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала);
    УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	
	//Колонка "План" говорит о наличии введенного документа Табель, если значение Ложь значит создан документ Табель.
	
	ДанныеТабеляТ13 = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаРабочегоВремениСотрудников").ПолучитьДанные().Выгрузить();
	
	НормаПоГрафику = МенеджерВременныхТаблиц.Таблицы.Найти("ВТНормаВремени").ПолучитьДанные().Выгрузить();
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, Месяц, ДатаАктуальности = Неопределено, ДатаНачала = Неопределено, ДатаОкончания = Неопределено)
	
    ТаблицаСотрудники = Новый ТаблицаЗначений;
    ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
    ТаблицаСотрудники.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаАктуальности", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));    
    
    Для Каждого Сотрудник Из МассивСотрудников Цикл
        СтрокаСотрудники = ТаблицаСотрудники.Добавить();
        СтрокаСотрудники.Сотрудник = Сотрудник;
    КонецЦикла;
    
    ТаблицаСотрудники.ЗаполнитьЗначения(Месяц, "Месяц");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаАктуальности = Неопределено, ТекущаяДата(), ДатаАктуальности), "ДатаАктуальности");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаНачала = Неопределено, Месяц, ДатаНачала), "ДатаНачала");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаОкончания = Неопределено, КонецМесяца(Месяц), ДатаОкончания), "ДатаОкончания");
    
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    ТаблицаСотрудники.Сотрудник,
    |    ТаблицаСотрудники.Месяц,
    |    ТаблицаСотрудники.ДатаАктуальности,        
    |    ТаблицаСотрудники.ДатаНачала,
    |    ТаблицаСотрудники.ДатаОкончания
    |ПОМЕСТИТЬ ВТСотрудники
    |ИЗ
    |    &ТаблицаСотрудники КАК ТаблицаСотрудники");
    
    Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
    Запрос.Выполнить();
	
КонецПроцедуры
Показать
user1636219; Stref75; Триш; sybastik; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Redinternational 86 20.02.19 04:54 Сейчас в теме
&НаСервере
Процедура Команда1НаСервере()
	
    ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
    ДатаНачала = '20180901';
    ДатаОкончания = КонецМесяца(ДатаНачала);
    ПараметрыПолученияДанных.ДатаНачала = ДатаНачала;
    ПараметрыПолученияДанных.ДатаОкончания = ДатаОкончания;
    
    МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	//Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
	//               |	Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
	//               |ИЗ
	//               |	ВТСотрудники КАК Сотрудники";
	//МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ФизическоеЛицо");
	
    МассивСотрудников = Новый Массив;
    МассивСотрудников.Добавить(Справочники.Сотрудники.НайтиПоНаименованию("Иванов Иван Иванович"));
	
    СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала);
    УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	
	//Колонка "План" говорит о наличии введенного документа Табель, если значение Ложь значит создан документ Табель.
	
	ДанныеТабеляТ13 = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаРабочегоВремениСотрудников").ПолучитьДанные().Выгрузить();
	
	НормаПоГрафику = МенеджерВременныхТаблиц.Таблицы.Найти("ВТНормаВремени").ПолучитьДанные().Выгрузить();
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, Месяц, ДатаАктуальности = Неопределено, ДатаНачала = Неопределено, ДатаОкончания = Неопределено)
	
    ТаблицаСотрудники = Новый ТаблицаЗначений;
    ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
    ТаблицаСотрудники.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаАктуальности", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
    ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));    
    
    Для Каждого Сотрудник Из МассивСотрудников Цикл
        СтрокаСотрудники = ТаблицаСотрудники.Добавить();
        СтрокаСотрудники.Сотрудник = Сотрудник;
    КонецЦикла;
    
    ТаблицаСотрудники.ЗаполнитьЗначения(Месяц, "Месяц");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаАктуальности = Неопределено, ТекущаяДата(), ДатаАктуальности), "ДатаАктуальности");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаНачала = Неопределено, Месяц, ДатаНачала), "ДатаНачала");
    ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаОкончания = Неопределено, КонецМесяца(Месяц), ДатаОкончания), "ДатаОкончания");
    
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    ТаблицаСотрудники.Сотрудник,
    |    ТаблицаСотрудники.Месяц,
    |    ТаблицаСотрудники.ДатаАктуальности,        
    |    ТаблицаСотрудники.ДатаНачала,
    |    ТаблицаСотрудники.ДатаОкончания
    |ПОМЕСТИТЬ ВТСотрудники
    |ИЗ
    |    &ТаблицаСотрудники КАК ТаблицаСотрудники");
    
    Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
    Запрос.Выполнить();
	
КонецПроцедуры
Показать
user1636219; Stref75; Триш; sybastik; +4 Ответить
3. sybastik 20.02.19 09:13 Сейчас в теме
(2) Боже, спасибо! Столько сэкономленного времени! Море благодарности!
user1021352; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот