|
Ошибка в маленьком запросе. | ☑ | ||
---|---|---|---|---|
0
kachesov
16.11.16
✎
12:55
|
Пишу:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Товары.( | Номенклатура.Наименование КАК Наименование, | Номенклатура.АналитикаБетона | ) |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка В(&МассивОбъектов)"; Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьСтрокаТЧ.Параметры.Добавка = ВыборкаДетальныеЗаписи.Наименование; ТабличныйДокумент.Вывести(ОбластьСтрокаТЧ); ТабличныйДокумент.Присоединить(ОбластьСтрокаТЧ); КонецЦикла; Получаю ошибку: Поле объекта не обнаружено (Наименование) ОбластьСтрокаТЧ.Параметры.Добавка = ВыборкаДетальныеЗаписи.Наименование; Если меняю ВыборкаДетальныеЗаписи.Наименование на любой текст, всё работает. Подскажите пожалуйста, как вывести Наименование из запроса. |
|||
1
Ёпрст
16.11.16
✎
12:56
|
(0) открыть еще одну выборку для вложенной таб части
|
|||
2
Ёпрст
16.11.16
✎
12:56
|
но лучше, переписать запрос на вот так:
|
|||
3
Ёпрст
16.11.16
✎
12:57
|
Запрос.Текст =
"ВЫБРАТЬ | РеализацияТоваровУслуг. | Номенклатура.Наименование КАК Наименование, | РеализацияТоваровУслуг. Номенклатура.АналитикаБетона | |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка В(&МассивОбъектов)"; |
|||
4
Ёпрст
16.11.16
✎
12:57
|
и тогда твой код заработает и так.
|
|||
5
kachesov
16.11.16
✎
13:03
|
(3) Спасибо огромное, это работает)
|
|||
6
kachesov
16.11.16
✎
13:13
|
Сюда же вопрос, чтобы тему новую не создавать:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи.Аналитика); Если ВыборкаДетальныеЗаписи.Аналитика = "Добавка" Тогда ОбластьСтрокаТЧ.Параметры.Добавка = ВыборкаДетальныеЗаписи.Наименование; ТабличныйДокумент.Вывести(ОбластьСтрокаТЧ); ТабличныйДокумент.Присоединить(ОбластьСтрокаТЧ); КонецЕсли; КонецЦикла; Получаю сообщения "Услуга", "Услугу", "Добавка", но условие истинным не становится. Может идёт сравнение текстового поля и не текстового? Нужно как-то преобразовать ВыборкаДетальныеЗаписи.Аналитика в текст? |
|||
7
Ёпрст
16.11.16
✎
13:20
|
(6) тип у реквизита "АналитикаБетона" какой ? Врят ли это строка.
Отсюда и не верное сравнение |
|||
8
kachesov
16.11.16
✎
13:32
|
(7) да, сделал Строка(ВыборкаДетальныеЗаписи.Аналитика) и заработало
|
|||
9
1dvd
16.11.16
✎
13:34
|
Конструктором пользоваться не комильфо?
|
|||
10
Ёпрст
16.11.16
✎
13:35
|
(8) потом поменяют наименование в справочнике и весь твой код - коту под хвост.
Ну и сравнивать объекты ссылочного типа со строками - моветон. |
|||
11
kachesov
16.11.16
✎
13:46
|
(9) Им и пользовался.
(10) Не должны. А есть альтернатива этому сравнению? Может как-то в запросе можно было это сделать? |
|||
12
Ёпрст
16.11.16
✎
13:47
|
(11) Тип у реквизита какой ?
|
|||
13
kachesov
16.11.16
✎
14:13
|
(12) ПеречислениеСсылка
Не поменяют название) |
|||
14
Ёпрст
16.11.16
✎
14:14
|
(13)
Дык и сравнивай со значением перечисления! |
|||
15
Ёпрст
16.11.16
✎
14:14
|
ВыборкаДетальныеЗаписи.Аналитика =Перечисление.нужныйВид.НужноеЗначение ...
|
|||
16
kachesov
16.11.16
✎
14:43
|
(15) спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |