Как получить дату окончания из даты начала следующей записи в запросе
Вопрос такой. У нас есть запрос собранный из двух регистров:
1 Кадровая история
2. Данные состояний сотрудников
Допустим у Ивановой Ирины есть:
Прием 01.01.2020 05.08.2020
Отпуск 06.08.2020 20.08.2020
Болезнь 01.11.2021 07.11.2020
Изначально в кадровой истории дата окончания приема стоит 31.12.3999 так как сотрудник еще не уволен. Необходимо установить дату окончания приема -дату начала следующей записи т. е 05.08.2020, как это можно сделать в запросе?
1 Кадровая история
2. Данные состояний сотрудников
Допустим у Ивановой Ирины есть:
Прием 01.01.2020 05.08.2020
Отпуск 06.08.2020 20.08.2020
Болезнь 01.11.2021 07.11.2020
Изначально в кадровой истории дата окончания приема стоит 31.12.3999 так как сотрудник еще не уволен. Необходимо установить дату окончания приема -дату начала следующей записи т. е 05.08.2020, как это можно сделать в запросе?
По теме из базы знаний
- Как определить дату последнего документа в 8ке.
- Кто сейчас проводит документ: человек или компьютер? Зачем нужна подобная классификация "режимов" проведения документа в 1С 8.3 в клиент-серверном режиме и как получить ответ на этот вопрос при работе с обработчиками событий управляемой формы и документа?
- Как сдать экзамен 1С:Специалист по платформе?
- Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов
- Идеальное место работы для ЗУПера... Какое оно?! Часть 1. Негативные тенденции, ненужные знания.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) я ,конечно, сомневаюсь в правильности данного решения, но если запрос, то можно попробовать так:
Пока РезультатЗапроса.Следующий() Цикл
Если РезультатЗапроса.Сотрудник = Справочники.Сотрудники.НайтиПоИмени("Иванова Ирина") Тогда
Запрос.Текст = "Ваш текст , где ДатаПриемаНаРаботу = ДАТА(НужнаяДата);
КонецЕсли;
КонецЦикла;
Показать
Ну прием это гарантированно первая запись. Поэтому ищите минимальную дату начала из всех записей с видом не прием, через добавитькдате отнимайте день, помещайте в ВТ и потом соединяйте по сотруднику. Вроде ничего сложного.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот