Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:18

Запрет на проведение документа в разрезе интервала времени

Автор Den, 15 июл 2020, 19:33

0 Пользователей и 1 гость просматривают эту тему.

Den

    Всем доброго времени суток!
Есть документ "Заявка на транспорт" № 1, время бронирования машины с 11:00 до 12:00.
Помогите понять, как написать условие "Перед записью". Запретить запись документа № 2, если есть пересечение времени с документом № 1.
   

    Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ДатаС", НачалоДня(ТекущаяДата()));
   Запрос.УстановитьПараметр("ДатаПО", КонецДня(ТекущаяДата()));
   Запрос.Текст = "ВЫБРАТЬ
                  |   ЗаявкаНаТранспорт.Ссылка КАК Ссылка
                  |ИЗ
                  |   Документ.ЗаявкаНаТранспорт КАК ЗаявкаНаТранспорт
                  |ГДЕ
                  |   ЗаявкаНаТранспорт.Дата МЕЖДУ &ДатаС И &ДатаПО";
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   Пока Выборка.Следующий() Цикл
      
         
      Если ЭтотОбъект.ВремяС < Выборка.Ссылка.ВремяПо Тогда
         Отказ = Истина;
         Сообщить("Сегодня, на время: " + Прав(ЭтотОбъект.ВремяС, 8) + ", водитель занят!!", СтатусСообщения.ОченьВажное);
         Сообщить("Измените время!!", СтатусСообщения.Информация);
      КонецЕсли;
   
   КонецЦикла;
   

LexaK

Den, Хм, Документ №1, Документ №2 - как все прооосто!
а когда этих документов 1000 будет?
а когда вы захотите оперативно получать свободные интервалы времен, на который можно заказать машину
что тогда делать будете?

в корне неправильный подход, анализировать данные документов!!!
Переходите на регистры

Провели документ - записали данные в регистр
Получили данные из регистра - поместили в документ
там же и проверки

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск