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

Условие отбора в запросе

Автор ppkmlite, 09 фев 2015, 21:36

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

ppkmlite

Здравствуйте. Скажите,как сделать условие в запросе.
Есть отчет по водителям,на форме поле выбора водителя, ссылка на справочник-сотрудники. Нужно, чтобы при наборе водителя, в выпадающем списке пользователю выводились только элементы справочника сотрудники из группы водители(ЕЩЕ ЕСТЬ ГРУППА КОНДУКТОРЫ). Делаю так, НО НЕ РАБОТАЕТ, ВЫВОДИТ ВСЕХ ПОДРЯД
ВЫБРАТЬ
.......
РабочееВремяОбороты.Водитель....
...
ИЗ
| РегистрНакопления.РабочееВремя.Обороты
ГДЕ
ВыручкаОбороты.Водитель.Родитель = &Родитель

Запрос.УстановитьПараметр("Родитель",справочники.Сотрудники.НайтиПоНаименованию("водители"));



РабочееВремяОбороты-ЭТО РЕГИСТР НАКОПЛЕНИЯ.
ПОДСКАЖИТЕ,ПОЖАЛУЙСТА, КАК ПРАВИЛЬНО СДЕЛАТЬ?!

дфтын

1. стройте и проверяйте в консоле запросов
2. попробуйте не =, а в ИЕРАРХИИ()
3. Нужно изучать отладчиком
4. ГДЕ
ВыручкаОбороты. - а это у вас где объявляется?

cska-fanat-kz

вы реальный код запостите, а не схему какую то... :dfbbdrfb:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

ppkmlite

Добрый День!
ПОдскажите как в событии "началовыбора" отобрать всех сотрудников, которые не уволены, т.е. у которых дата увольнения пустаядата?
Процедура Водитель1НачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| уатСотрудники.Ссылка,
| уатСотрудники.ДатаУвольнения
|ИЗ
| Справочник.уатСотрудники КАК уатСотрудники
|ГДЕ
| уатСотрудники.Родитель = &Родитель";

Запрос.УстановитьПараметр("Родитель", Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
ТипПерсонала=Новый СписокЗНачений;
ТипПерсонала.Добавить(Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
Запрос.УстановитьПараметр("Водители", Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Значение = Новый СписокЗначений();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Значение.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
Форма = Справочники.уатСотрудники.ПолучитьФормуВыбора("ФормаСписка",Элемент);//("ФормаВыбора",);
Форма.РежимВыбора = Истина;
Форма.Отбор.ссылка.ВидСравнения = ВидСравнения.ВСписке;
Форма.Отбор.ссылка.Значение = Значение;
Форма.Отбор.ссылка.Использование = Истина;
форма.элементыформы.СправочникСписок.ИерархическийПросмотр=Ложь;
Форма.Открыть();


Сейчас отбор устанавливается по группе справочника сотрудники-по водителям., а нужно еще по не уволенным.

дфтын


vitasw

Я бы еще проверял дату увольнения по принципу: пустая или >=Даты документа

Теги:

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

Рейтинг@Mail.ru

Поиск