0
falselight
11.11.19
✎
14:03
|
Делается выборка из регистра сведений, где кроме прочих отборов есть поля НачДата и КонДата
Среди этих дат даты со временем с разницей на час. Переданные то есть в качестве параметров в запрос.
Как будет правильно условие в запросе?
РС.НачДата >= &НачДата и РС.КонДата <= &КонДата ?
|
|
1
falselight
11.11.19
✎
14:40
|
кто силен в условиях?
Правильное ли условие на отбор записей в разрезе одного часа?
Процедура ПроверкаСуществующегоНаряда(Отказ)
Если ЗначениеЗаполнено(МестоРабот) Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 1
| УчетВыдачиНарядовДопусков.Регистратор.Дата КАК РегистраторДата,
| УчетВыдачиНарядовДопусков.Регистратор.Номер КАК РегистраторНомер
|ИЗ
| РегистрСведений.УчетВыдачиНарядовДопусков КАК УчетВыдачиНарядовДопусков
|ГДЕ
| УчетВыдачиНарядовДопусков.Организация = &Организация
| И УчетВыдачиНарядовДопусков.Подразделение = &Подразделение
| И УчетВыдачиНарядовДопусков.МестоПроведенияРабот ПОДОБНО &МестоПроведенияРабот
| И УчетВыдачиНарядовДопусков.ДатаНачала >= &ДатаНачала
| И УчетВыдачиНарядовДопусков.ДатаОкончания <= &ДатаОкончания
| И УчетВыдачиНарядовДопусков.Регистратор <> &Регистратор");
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Подразделение", СтруктурноеПодразделение);
Запрос.УстановитьПараметр("МестоПроведенияРабот", МестоРабот);
Запрос.УстановитьПараметр("ДатаНачала", НачалоРабот - 60 * 60);
Запрос.УстановитьПараметр("ДатаОкончания", ОкончаниеРабот);
Запрос.УстановитьПараметр("Регистратор", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Наряд-допуск на период %1 - %2 в данном месте проведения работ уже существует – документ
|%3 от %4'", ОбщегоНазначения.КодОсновногоЯзыка()),
НачалоРабот,
ОкончаниеРабот,
Выборка.РегистраторНомер,
Выборка.РегистраторДата);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщенияОбОшибке,,,, Отказ);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
|
|