Имя: Пароль:
1C
1С v8
Выбрать значения из справочника
,
0 Ladamar
 
04.05.18
15:17
Все Привет!!!
Народ я только начинаю программировать в 1С. Так что сразу ИЗВИНЯЮСЬ за тупость.

Хочу написать процедуру которая при открытии справочника (в моем случае "Люди") выводит в Сообщить() имена тех людей из справочника у которых не заполнен реквизит (например год рождения)

Пытался писать в Модуле управляемого приложения
Процедура ПриНачалеРаботыСистемы()
     Стр = Справочники.Люди.Элемены
......
КонецПроцедуры
Ничего не вышло

Пробовал писать в модуле Формы Списка Справочника Люди

Код писал тот же самый. Ничего не выходит.

Где я туплю? Понимаю что знаний еще мало, но хотелось бы от чего то оттолкнуться... Вообще возможно ли это реализовать???
1 Lexey_
 
04.05.18
15:20
(0) "Справочники.Люди.Элемены"
Элемены - это из какой документации?
2 xxTANATORxx
 
04.05.18
15:21
(0)такие вещи в при открытии лучше не вешать, на кнопку повесь

Запросом выбираешь данные, обходишь выборку из запроса,  выводишь сообщение
3 FIXXXL
 
04.05.18
15:21
(0) осваивай запросы
и обход выборки в цикле с
Сообщить("Не заполнено для "+Выборка.Наименование);
4 Ladamar
 
04.05.18
15:22
Писать нужно в Модуле Формы списка?
5 ugorchina
 
04.05.18
15:30
(0)

ДатаРождения = "";
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Люди.Ссылка КАК Ссылка,
        |    Люди.ВерсияДанных КАК ВерсияДанных,
        |    Люди.ПометкаУдаления КАК ПометкаУдаления,
        |    Люди.Родитель КАК Родитель,
        |    Люди.ЭтоГруппа КАК ЭтоГруппа,
        |    Люди.Код КАК Код,
        |    Люди.Наименование КАК Наименование,
        |    Люди.ДатаРождения КАК ДатаРождения,
        |    Люди.Комментарий КАК Комментарий,
        |    Люди.ОсновноеИзображение КАК ОсновноеИзображение,
        |    Люди.Предопределенный КАК Предопределенный,
        |    Люди.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
        |ИЗ
        |    Справочник.ЛюдиКАК Люди
        |ГДЕ
        |    Люди.ДатаРождения <> &ДатаРождения";
    
    Запрос.УстановитьПараметр("ДатаРождения", ДатаРождения);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить(ВыборкаДетальныеЗаписи.Наименование);
    КонецЦикла;
6 Ladamar
 
04.05.18
15:35
Спасибо большое. На реальном примере разобраться легче!!!
7 ugorchina
 
04.05.18
15:38
(6) не понял! что Вас не устроило то?

запрос должен работать!
8 hhhh
 
04.05.18
16:47
(7) во-первих  Люди.ДатаРождения <> ""   всегда. У него выберется весь справочник.
9 Ladamar
 
08.05.18
08:08
Все устроило. Я имел ввиду что, с вашим кодом мне будет проще разобраться. Спасибо большое.
10 _alex1974
 
08.05.18
08:33
в запросе проверять на пустую дату лучше вот так:

|    Люди.ДатаРождения = ДАТАВРЕМЯ(1,1,1)";