ЗУП 3 Кадровые данные сотрудника на каждый день периода

1. sybastik 05.05.21 02:41 Сейчас в теме
Добрый вечер, коллеги.

Есть задача - получить кадровые данные списку сотрудников за период на каждый день.

КадровыйУчет.КадровыеДанныеСотрудников подразумевает получение только на определенную дату. Не гонять же его в цикле.

Примеры, что находил тут, позволяют получать только кадровые изменения.
А мне нужен результат, аналогичный результату функции КадровыйУчет.КадровыеДанныеСотрудников в цикле..
Подскажите, как лучше сделать?
По теме из базы знаний
Найденные решения
2. burgomister 59 05.05.21 04:27 Сейчас в теме
https://forum.infostart.ru/forum9/topic8692/

Или вот:

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

     Запрос.УстановитьПараметр("НачДата", НачДата);
     Запрос.УстановитьПараметр("КонДата", КонДата);
     
     Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "НачИнтервала", "ВСЕ");
     Пока Выборка.Следующий() Цикл
         НоваяСтрока = тзИнтервалов.Добавить();
         НоваяСтрока.НачИнтервала = Выборка.НачИнтервала;
     КонецЦикла;
     
     Возврат  тзИнтервалов;
     
КонецФункции //ПолучитьТаблицуДатЗаПериод()
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. PhoenixAOD 62 05.05.21 07:19 Сейчас в теме
(1)В запросе, во временной таблице разбиваешь период по датам, и уже снюхиваешь с нужными тебе данными, погугли или тут поищи остатки на складах по датам
2. burgomister 59 05.05.21 04:27 Сейчас в теме
https://forum.infostart.ru/forum9/topic8692/

Или вот:

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

     Запрос.УстановитьПараметр("НачДата", НачДата);
     Запрос.УстановитьПараметр("КонДата", КонДата);
     
     Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "НачИнтервала", "ВСЕ");
     Пока Выборка.Следующий() Цикл
         НоваяСтрока = тзИнтервалов.Добавить();
         НоваяСтрока.НачИнтервала = Выборка.НачИнтервала;
     КонецЦикла;
     
     Возврат  тзИнтервалов;
     
КонецФункции //ПолучитьТаблицуДатЗаПериод()
Показать
4. sybastik 10.05.21 14:04 Сейчас в теме
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день