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