Появилась такая задача:
есть таблица значений, в ней есть три колонки: сотрудник, дата приема и дата увольнения. Также есть сотрудник и дата (ДатаХ), которые меняются с каждой итерацией цикла. При каждом изменении сотрудника и ДатаХ, код должен делать следующее:
1.Из таблицы значений отбираются все строки с нашим сотрудником и проверяется, чтобы хоть в одной строке дата увольнения была пустой;
2.ДатаХ сравнивается с минимальной (самой ранней) датой приема, и если даты оказываются равны, то происходит одна последовательность действий, если нет, то другая.
Пока получилось наваять следующее:
Остается вопрос как вычислить самую раннюю дату из колонки "ДатаПриема" и как ее сравнить с ДатаХ?
Помогите, мудрые программеры ))))
есть таблица значений, в ней есть три колонки: сотрудник, дата приема и дата увольнения. Также есть сотрудник и дата (ДатаХ), которые меняются с каждой итерацией цикла. При каждом изменении сотрудника и ДатаХ, код должен делать следующее:
1.Из таблицы значений отбираются все строки с нашим сотрудником и проверяется, чтобы хоть в одной строке дата увольнения была пустой;
2.ДатаХ сравнивается с минимальной (самой ранней) датой приема, и если даты оказываются равны, то происходит одна последовательность действий, если нет, то другая.
Пока получилось наваять следующее:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТЗ",ТаблицаЗначений);
Запрос.УстановитьПараметр("Сотрудник",[Сотрудник из цикла]);
Запрос.Текст =
"ВЫБРАТЬ
| ТЗ.Сотрудник,
| ТЗ.ДатаПриема,
| ТЗ.ДатаУвольнения
|ПОМЕСТИТЬ ВремТаблица
|ИЗ
| &ТЗ КАК ТЗ
|ГДЕ
| ТЗ.Сотрудник = &Сотрудник
|;
|
| X
|ВЫБРАТЬ
| ВремТаблица.Сотрудник,
| ВремТаблица.ДатаПриема,
| ВремТаблица.ДатаУвольнения
|ИЗ
| ВремТаблица КАК ВремТаблица";
ВыборкаИзТаблицыЗначений = Запрос.Выполнить().Выбрать();
Пока ВыборкаИзТаблицыЗначений.Следующий() Цикл
Если ВыборкаИзТаблицыЗначений.ДатаУвольнения = '00010101' Тогда
....
КонецЕсли;
ПоказатьОстается вопрос как вычислить самую раннюю дату из колонки "ДатаПриема" и как ее сравнить с ДатаХ?
Помогите, мудрые программеры ))))
По теме из базы знаний
- Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?
- Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Ни в ЗУП ногой!? А мне нравится! Часть 3. Как меня туда занесло?
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
да, сейчас тоже до этого дошел, остается последняя проблема: как при обходе результата запроса сразу проверить:
1)сравнить ДатаХ с датой приема в первой строке;
2)узнать, есть ли в выборке хоть одна пустая дата увольнения.
Получается, цикл обхода результата запроса надо будет запускать 2 раза? За один раз никак не получится?
1)сравнить ДатаХ с датой приема в первой строке;
2)узнать, есть ли в выборке хоть одна пустая дата увольнения.
Получается, цикл обхода результата запроса надо будет запускать 2 раза? За один раз никак не получится?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот