Имя: Пароль:
1C
1С v8
Запрос по РегистрСведений.ЗначенияСвойствОбъектов
0 Me-chtatel
 
16.03.14
21:31
Добрый день коллеги.

Создал в конструкторе запросов запрос:
<code>
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Значение,
    ЗначенияСвойствОбъектов.Объект,
    ЗначенияСвойствОбъектов.Свойство
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Объект = &Объект
    И ЗначенияСвойствОбъектов.Свойство.Наименование = &Наименование
</code>
Через параметры задал необходимые значения.
Запрос работает и выдает все как нужно.

Вставил в код:
<code>
ЗапросПоиска = Новый Запрос("ВЫБРАТЬ
        |    ЗначенияСвойствОбъектов.Значение,
        |    ЗначенияСвойствОбъектов.Объект,
        |    ЗначенияСвойствОбъектов.Свойство
        |    ИЗ
        |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        |    ГДЕ
        |    ЗначенияСвойствОбъектов.Объект = &Объект
        |    И ЗначенияСвойствОбъектов.Свойство.Наименование = &Наименование
        |    "
        );                   
        ЗапросПоиска.УстановитьПараметр("Объект", ВыборкаРаботники.Сотрудник);
        ЗапросПоиска.УстановитьПараметр("Наименование",    "Приложение №");
        ВыборкаПоиска = ЗапросПоиска.Выполнить().Выбрать();
</code>

В результате - все значения пишет "значение не определено".
Полдня мучаюсь, уже не знаю куда копать....
1 ДенисЧ
 
16.03.14
21:32
ВыборкаПоиска.Следующий()
2 Me-chtatel
 
16.03.14
21:34
Поподробнее, в какое место прописать

ВыборкаПоиска.Следующий()

и что это даст
3 Me-chtatel
 
16.03.14
21:35
Работает. Только что это значит ВыборкаПоиска.Следующий() ??
4 ДенисЧ
 
16.03.14
21:36
Начало перебора выборки...
Ты же пиво сначала Открывешь(), а потом ещё и Глотаешь()...
Не хочешь же ты, чтобы сразу после ОткрытьПиво() ты СталПьяным() ?
5 floody
 
16.03.14
21:38
ВыборкаПоиска.Следующий() - получает следующий элемент в выборке, возвращает истину/ложь. Синтакс-помощник есть в 1С.

ЗначенияСвойствОбъектов.Свойство.Наименование = &Наименование

к тебе не очень относится, но так лучше не писать, лучше писать что-то типа:
ЗначенияСвойствОбъектов.Свойство = &Свойство

или
ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.ПриложениеНомер)
6 Me-chtatel
 
16.03.14
21:39
Ясно. Тогда почему не во всех запросах используют метод .Следующий()?
Как узнать когда надо, а когда не надо его использовать?
7 Me-chtatel
 
16.03.14
21:42
(5)
я хотел так. но я отбираю по конкретному св-ву, которое необходимо жестко задать в теле модуля (это текст модуля формирования печатной формы приказа о приеме на работу)

ЗначенияСвойствОбъектов.Свойство = &Свойство

я просто не понял как в таком случае мне задать конкретное, заранее известное св-во (которое кстати может быть и не задано у сотрудника)
8 Me-chtatel
 
16.03.14
21:43
(6)
а, нет, везде есть. это значит я просто невнимательно читал.
9 13_Mult
 
17.03.14
08:59
(8) А вот и не везде. ))
AdBlock убивает бесплатный контент. 1Сергей