Вход | Регистрация

1С:Предприятие ::

Метки: 

Выборка из справочника

Я
   Ladamar
 
14.08.18 - 08:35
Все привет!
Есть два справочника ПодалиЗаявление и ДокументыПриПоступлении. В спр ПодалиЗаявление в стандартном реквизите Наименование храниться ФИО, есть табличная часть, в которой два поля ДокументыПриПоступлении (спрСслыка.ДокументыПриПоступлении) и ОтметкаОПолучении (Булево).

Хочу реализовать запрос, чтобы проверять кто какие документы не предоставил, т.е. Чтобы проверялось ОтметкаОПолучении на Ложь/Истина и на основании проверки выдавалось ФОИ того кто не сдал определенные документы.

Пишу такой запрос
 Запрос =Новый Запрос;
     Запрос.Текст =
     "ВЫБРАТЬ
     |ПодалиЗаявление.Ссылка КАК Ссылка,
     |ПодалиЗаявление.Наименование КАК ФИО,
     |ПодалиЗаявление.Документы.ОТметкаОПолучении КАК Предоставлено
     |    ИЗ
     |Справочник.ПодалиЗаявление КАК ПодалиЗаявление
     |    ГДЕ
     |ПодалиЗаявление.Документы.ОТметкаОПолучении = Ложь";
     
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗаписи = РезультатЗапроса.Выбрать();
    ПОКА ВыборкаЗаписи.Следующий() Цикл
        Перем1 = ВыборкаЗаписи.Следующий();
        Если Перем1 = Ложь Тогда
            Сообщить("Абитуриент " + ВыборкаЗаписи.Ссылка.Наименование + " не предоставил");
        КонецЕсли;
    КонецЦикла;

Но не работает. Ни ошибок не результатов.
Где лажаю? Пожалуйста подскажите.
 
 
   Cool_Profi
 
1 - 14.08.18 - 08:36
Это что, Бэрримор?
   ПОКА ВыборкаЗаписи.Следующий() Цикл
        Перем1 = ВыборкаЗаписи.Следующий();
        Если Перем1 = Ложь Тогда
   Ladamar
 
2 - 14.08.18 - 08:44
Ха... Эти строи остались от моих экспрементов. СПС
   Ladamar
 
3 - 14.08.18 - 08:49
СПС. Убрал лишнее
Теперь код
     Запрос =Новый Запрос;
     Запрос.Текст =
     "ВЫБРАТЬ
     |ПодалиЗаявление.Ссылка КАК Ссылка,
     |ПодалиЗаявление.Наименование КАК ФИО,
     |ПодалиЗаявление.Документы.ОТметкаОПолучении КАК Предоставлено
     |    ИЗ
     |Справочник.ПодалиЗаявление КАК ПодалиЗаявление
     |    ГДЕ
     |ПодалиЗаявление.Документы.ОТметкаОПолучении = Ложь";
     
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗаписи = РезультатЗапроса.Выбрать();
    ПОКА ВыборкаЗаписи.Следующий() Цикл
        Сообщить("Абитуриент " + ВыборкаЗаписи.Ссылка.Наименование);
    КонецЦикла;
    
Выводит ФИО. Но как в сообщить добавить чтобы выводил наименование документа, который не сдан.
   Ladamar
 
4 - 14.08.18 - 08:52
Пишу так Сообщить
("Абитуриент " + ВыборкаЗаписи.Ссылка.Наименование + "Не сдал " + ВыборкаЗаписи.НаименованиеДокумента)

Ошибка Поле обьекта не обнаружено (НаименованиеДокумента)
   catena
 
5 - 14.08.18 - 08:55
(4)Выборку делай не из справочника, а из табличной части

     |    ИЗ
     |Справочник.ПодалиЗаявление.Документы КАК ПодалиЗаявление
   Sayan_mi
 
6 - 14.08.18 - 08:58
(4)Так в запросе ты не выбираешь Наименование документа, только подан он или нет. И да лучше выборка по табличной части, а данные самого документа через ссылку.
   Ladamar
 
7 - 14.08.18 - 09:14
Добавил в раздел ИЗ
|Справочник.ПодалиЗаявление.Документы КАК ПодалиЗаявление

Теперь запрос работает но в сообщении не выводится НаименованиеДокумента, только Абитуриет ФИО не сдал.
   AnisaL
 
8 - 14.08.18 - 09:20
(7) надо в запросе написать:
|ПодалиЗаявление.Ссылка.Наименование КАК ФИО
   hhhh
 
9 - 14.08.18 - 09:39
(7)  "ВЫБРАТЬ
     |ПодалиЗаявление.Ссылка КАК Ссылка,
     |ПодалиЗаявление.Наименование КАК ФИО,
     |ПодалиЗаявление.Документы.ОТметкаОПолучении КАК Предоставлено

у тебя здесь нет НаименованиеДокумента

с какой целью тогда пишешь ВыборкаЗаписи.НаименованиеДокумента ??
   Ladamar
 
10 - 14.08.18 - 10:43
Вот так уже пробую
"ВЫБРАТЬ
     |ПодалиЗаявление.Ссылка КАК Ссылка,
     |ПодалиЗаявление.Ссылка.Наименование КАК ФИО1,
     |ПодалиЗаявление.Документы.Ссылка КАК Ссылка1,
     |ПодалиЗаявление.Наименование КАК ФИО,
     |ПодалиЗаявление.Документы.ОТметкаОПолучении КАК Предоставлено,
     |ДокументыПриПоступлении.Наименование КАК Докуметы, 
     |ПодалиЗаявление.Документы.НаименованиеДокумента КАК НаименованиеДокумента
     |    ИЗ
     |Справочник.ПодалиЗаявление КАК ПодалиЗаявление,
     |Справочник.ДокументыПриПоступлении КАК ДокументыПриПоступлении
     |    ГДЕ
     |ПодалиЗаявление.Документы.ОТметкаОПолучении = Ложь";
 Но все равно не берет НаименованиеДокумента
 
 Рекламное место пустует
   catena
 
11 - 14.08.18 - 10:52
(10)Если предположить, что "поле ДокументыПриПоступлении (спрСслыка.ДокументыПриПоступлении) " называется ДокументыПриПоступлении, то так. И разберись уже, что чему принадлежит, сыпать беспорядочно точками и реквизитами в запрос - очень долгий метод поиска решения.

"ВЫБРАТЬ
     |ПодалиЗаявление.Ссылка КАК Ссылка,
     |ПодалиЗаявление.Ссылка.Наименование КАК ФИО1,
     |ПодалиЗаявление.Документы.Ссылка КАК Ссылка1,
     |ПодалиЗаявление.Наименование КАК ФИО,
     |ПодалиЗаявление.Документы.ОТметкаОПолучении КАК Предоставлено,
     |ПодалиЗаявление.ДокументыПриПоступлении.НаименованиеДокумента КАК НаименованиеДокумента
     |    ИЗ
     |Справочник.ПодалиЗаявление.Документы КАК ПодалиЗаявление
     |    ГДЕ
     |НЕ ПодалиЗаявление.Документы.ОТметкаОПолучении ";
   Ladamar
 
12 - 14.08.18 - 13:34
Разобрался

Вот так нужно
"ВЫБРАТЬ
         |    ПодалиЗаявление.Наименование КАК Наименование,
        |    ПодалиЗаявлениеДокументы.НаименованиеДокумента КАК НаименованиеДокумента,
        |    ПодалиЗаявлениеДокументы.ОтметкаОПолучении КАК ОтметкаОПолучении
        |    Из
        |    Справочник.ПодалиЗаявление.Документы КАК ПодалиЗаявлениеДокументы
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПодалиЗаявление КАК ПодалиЗаявление
        |        ПО (ПодалиЗаявлениеДокументы.Ссылка = ПодалиЗаявление.Ссылка)
        |ГДЕ
        |    ПодалиЗаявлениеДокументы.ОтметкаОПолучении = ЛОЖЬ";

Все спасибо за помощь!!!


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует