Получить данные рабочего (отработанного) времени, данные табеля Т-13
//В ДАННОМ ПРИМЕРЕ МОЖНО ПОЛУЧИТЬ ДАННЫЕ ВРЕМЕНИ ТОЛЬКО ЗА ОДИН МЕСЯЦ
&НаСервере
Процедура Команда1НаСервере()
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
ДатаНачала = '20180901';
ДатаОкончания = КонецМесяца(ДатаНачала);
ПараметрыПолученияДанных.ДатаНачала = ДатаНачала;
ПараметрыПолученияДанных.ДатаОкончания = ДатаОкончания;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
//Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
// | Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
// |ИЗ
// | ВТСотрудники КАК Сотрудники";
//МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ФизическоеЛицо");
МассивСотрудников = Новый Массив;
МассивСотрудников.Добавить(Справочники.Сотрудники.НайтиПоНаименованию("Иванов Иван Иванович"));
СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала);
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
//Колонка "План" говорит о наличии введенного документа Табель, если значение Ложь значит создан документ Табель.
ДанныеТабеляТ13 = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаРабочегоВремениСотрудников").ПолучитьДанные().Выгрузить();
НормаПоГрафику = МенеджерВременныхТаблиц.Таблицы.Найти("ВТНормаВремени").ПолучитьДанные().Выгрузить();
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
Команда1НаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, Месяц, ДатаАктуальности = Неопределено, ДатаНачала = Неопределено, ДатаОкончания = Неопределено)
ТаблицаСотрудники = Новый ТаблицаЗначений;
ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
ТаблицаСотрудники.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Дата"));
ТаблицаСотрудники.Колонки.Добавить("ДатаАктуальности", Новый ОписаниеТипов("Дата"));
ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));
Для Каждого Сотрудник Из МассивСотрудников Цикл
СтрокаСотрудники = ТаблицаСотрудники.Добавить();
СтрокаСотрудники.Сотрудник = Сотрудник;
КонецЦикла;
ТаблицаСотрудники.ЗаполнитьЗначения(Месяц, "Месяц");
ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаАктуальности = Неопределено, ТекущаяДата(), ДатаАктуальности), "ДатаАктуальности");
ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаНачала = Неопределено, Месяц, ДатаНачала), "ДатаНачала");
ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаОкончания = Неопределено, КонецМесяца(Месяц), ДатаОкончания), "ДатаОкончания");
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ТаблицаСотрудники.Сотрудник,
| ТаблицаСотрудники.Месяц,
| ТаблицаСотрудники.ДатаАктуальности,
| ТаблицаСотрудники.ДатаНачала,
| ТаблицаСотрудники.ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
| &ТаблицаСотрудники КАК ТаблицаСотрудники");
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
Запрос.Выполнить();
КонецПроцедуры
{28} Переменной ДанныеТабеляТ13 присвоено значение, но оно нигде не используется {30} Переменной НормаПоГрафику присвоено значение, но оно нигде не используется
Массив видов рабочего времени, отражающих отработанное время
Создать временную таблицу, с данными учета времени и состояний сотрудников
Создание временной таблицы "КадровыеДанныеСотрудников"
ВыгрузитьТекущуюОбластьДанныхВоВременноеХранилище (БСП)
КоличествоЗаписейВоВременнойТаблицеБазыДанных (БСП)
СоздатьВременнуюТаблицуЗаблокированныхДляЧтенияИИзмененияДанных (БСП)