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