|
Пересечение (время выезда, время возврата) | ☑ | ||
---|---|---|---|---|
0
VSpicy
naïve
18.05.20
✎
16:32
|
Добрый день!
Есть таблица с полями: "Водитель", Автомобиль, ВремяНачало, ВремяКонец. Подскажите пожалуйста как мне поставить проверку, чтоб время не пересекалось??? У нас бывают часто случаи, пример на 17.05.2020: Иванов И.И. С135ММ197 08:30-17:30 и этот же водитель, но уже на другой машине 10:30-16:30 Нужно сделать так, чтобы исключить возможность сохранения документа, если у одного и того же водителя время начало и конца пересекалось. |
|||
1
Aleksey
18.05.20
✎
16:36
|
||||
2
Широкий
18.05.20
✎
16:37
|
Пересчение: Начало<=Окончание1 И Окончание>=Начало1
|
|||
3
VSpicy
naïve
18.05.20
✎
16:37
|
08:30-17:30 10:30-16:30 - ИСКЛЮЧИТЬ
08:30-17:30 17:30-19:30 - НОРМАЛЬНО |
|||
4
VSpicy
naïve
18.05.20
✎
16:39
|
(2) В моем случае только через запрос?
|
|||
5
Йохохо
18.05.20
✎
16:41
|
(4) что вводит юзер? ходку или дневной отчет по парку?
|
|||
6
Aleksey
18.05.20
✎
16:41
|
(4) аналогично
|
|||
7
VSpicy
naïve
18.05.20
✎
16:44
|
(5) Это документ "разнарядка" - значит ходку
|
|||
8
Йохохо
18.05.20
✎
16:46
|
(7) я дам провести) два раза в месяц сверка с УРВ и ошибочные красненьким в отчет. реализаций мильярд
|
|||
9
VSpicy
naïve
18.05.20
✎
16:49
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаНач", Разнарядка.ВремяНачала); Запрос.УстановитьПараметр("ДатаКон", Разнарядка.ВремяОкончания); Запрос.Текст = "ВЫБРАТЬ | Разнарядка.Водитель, | Разнарядка.ДатаНачала, | Разнарядка.ДатаОкончания |ИЗ | Документ.Разнарядка КАК СуточныйПлан |ГДЕ | &ДатаНач <= Разнарядка.ВремяОкончания | И &ДатаКон > = Разнарядка.ВремяНачала; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить("В интервал попадает отпуск сотрудника " + Выборка.Водитель); КонецЦикла; Примерно так? |
|||
10
VSpicy
naïve
20.05.20
✎
14:48
|
(9) Не работает такая схема(
|
|||
11
МихаилМ
20.05.20
✎
15:13
|
почитайте темы на форуме про пересечение интервалов в запросе
|
|||
12
Злопчинский
20.05.20
✎
16:53
|
(7) потому что мудачно сделано.
вместо визуальной карты, куда пользователь кладет/цепляет/тащит нужные интервалиы - ввод каких томутных цифр. |
|||
13
VSpicy
naïve
25.05.20
✎
13:28
|
Вот этот запрос работает на 100%
ВЫБРАТЬ уатРазнарядкаРазнарядка.Ссылка КАК Ссылка, уатРазнарядкаРазнарядка.Водитель КАК Водитель, уатРазнарядкаРазнарядка.НомерСтроки КАК НомерСтроки, уатРазнарядкаРазнарядка1.НомерСтроки КАК НомерСтроки1 ИЗ Документ.уатРазнарядка.Разнарядка КАК уатРазнарядкаРазнарядка ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.уатРазнарядка.Разнарядка КАК уатРазнарядкаРазнарядка1 ПО уатРазнарядкаРазнарядка.Ссылка = уатРазнарядкаРазнарядка1.Ссылка И уатРазнарядкаРазнарядка.Водитель = уатРазнарядкаРазнарядка1.Водитель И уатРазнарядкаРазнарядка.НомерСтроки <> уатРазнарядкаРазнарядка1.НомерСтроки И (уатРазнарядкаРазнарядка.ДатаВыезда <= уатРазнарядкаРазнарядка1.ДатаВыезда И уатРазнарядкаРазнарядка.ДатаВозвращения >= уатРазнарядкаРазнарядка1.ДатаВыезда ИЛИ уатРазнарядкаРазнарядка.ДатаВыезда <= уатРазнарядкаРазнарядка1.ДатаВозвращения И уатРазнарядкаРазнарядка.ДатаВозвращения >= уатРазнарядкаРазнарядка1.ДатаВозвращения ИЛИ уатРазнарядкаРазнарядка.ДатаВыезда <= уатРазнарядкаРазнарядка1.ДатаВыезда И уатРазнарядкаРазнарядка.ДатаВозвращения >= уатРазнарядкаРазнарядка1.ДатаВозвращения ИЛИ уатРазнарядкаРазнарядка.ДатаВыезда >= уатРазнарядкаРазнарядка1.ДатаВыезда И уатРазнарядкаРазнарядка.ДатаВозвращения <= уатРазнарядкаРазнарядка1.ДатаВозвращения) ГДЕ уатРазнарядкаРазнарядка.Ссылка = &ТекущийСП И уатРазнарядкаРазнарядка.Водитель <> ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |