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