![]() |
|
Запрос к табичной части | ☑ | ||
---|---|---|---|---|
0
GreenDay1986
16.02.14
✎
22:57
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ |Док.Номенклатура.Ссылка.Сертификаты.Имя КАК Имя |ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ Док.Ссылка = &ЭтотОбъект"; Хочу выбратьиз табличной части документа реализации товаров и услуг Имена сертификатов. Сертификаты это табличная часть справочника Номенклатура. Собственно как лучше сделать, так не получается. |
|||
1
ДенисЧ
16.02.14
✎
23:00
|
что именно не получается?
|
|||
2
GROOVY
16.02.14
✎
23:01
|
Номенклатура.Ссылка. - ты хоть понимаешь что это еще одно соединение? Нафига оно?
(1) ЭтотОбъект у него не получается, так как в таблице не объект, а ссылка. |
|||
3
GreenDay1986
16.02.14
✎
23:04
|
(2) Номенклатуру он выбирает из табличной части документа. Если скажем написать |Док.Номенклатура.Ссылка КАК Имя - то наименование номенклатуры он сообщает. Собственно мне не наименование нужно а наименование сертификатов соответствующих номенклатуре. Они лежат в таблице справочника Номенклатура
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Док.Номенклатура.Сертификаты.Имя КАК Имя |ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ Док.Ссылка = &ЭтотОбъект"; Так тоже не работает |
|||
4
GreenDay1986
16.02.14
✎
23:06
|
Или напрямую нельзя обращаться к табличной части справочника из документа? Хотелось бы узнать
|
|||
5
ДенисЧ
16.02.14
✎
23:06
|
в ЭтотОбъект что передаёшь?
|
|||
6
GreenDay1986
16.02.14
✎
23:07
|
Запрос.УстановитьПараметр("ЭтотОбъект", ЭтотОбъект.Ссылка);
|
|||
7
GreenDay1986
16.02.14
✎
23:07
|
(6) к (5)
|
|||
8
GreenDay1986
16.02.14
✎
23:08
|
То есть выбираю номенклатуру из табличной части документа в котором нахожусь. Саму номенклатуру запросом выбирает, а к ее табличной части обратиться не могу, умом слабоват:(
|
|||
9
GROOVY
16.02.14
✎
23:08
|
(6) И зачем "ЭтотОбъект.Ссылка"? Когда в контексте "Ссылка" достаточно. Кто так кодить учит?
|
|||
10
ДенисЧ
16.02.14
✎
23:09
|
Может, Док.Номенклатура.Сертификаты.Наименование?
|
|||
11
GROOVY
16.02.14
✎
23:09
|
Объект записан?
|
|||
12
ДенисЧ
16.02.14
✎
23:09
|
(9) Может, у него объект есть, а не ссылка....
|
|||
13
GROOVY
16.02.14
✎
23:10
|
(12) В 8.3 - ЭтотОбъект вообще будет контекстом модуля, о чем ты говоришь?!
|
|||
14
ДенисЧ
16.02.14
✎
23:11
|
(13) Может, у него какая-то функция, которая получает объект, а не ссылку? Всего текста мы же не видим?
|
|||
15
GreenDay1986
16.02.14
✎
23:11
|
(9) Я не кодер, я админ - самоучка )
(11) Да, все записано и проведено |
|||
16
GreenDay1986
16.02.14
✎
23:12
|
(10) Нет. В справочнике Номенклатурав ТЧ сертификаты реквизит "Имя".
|
|||
17
GROOVY
16.02.14
✎
23:13
|
(16) Что тогда не получается? Что запрос возвращает?
|
|||
18
GreenDay1986
16.02.14
✎
23:13
|
Да нет, хочу имена сертификатов получить запросом, собственно функции больше нет
|
|||
19
GreenDay1986
16.02.14
✎
23:16
|
К примеру если Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ |Док.Номенклатура.Код КАК Имя |ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ Док.Ссылка = &ЭтотОбъект"; то коды всех позиции номенклатуры в табличной части Если Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Док.Номенклатура.Сертификаты.Имя КАК Имя |ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Док |ГДЕ Док.Ссылка = &ЭтотОбъект"; то ничего Я и подумал, к реквизитам справочника можно обратиться а к реквизитам ТЧ его же не получается. Мож написал что не так? |
|||
20
GROOVY
16.02.14
✎
23:19
|
мне кажется, что запрос выдает вам вложенную в результат таблицу.
|
|||
21
GROOVY
16.02.14
✎
23:20
|
В оригинале запрос выглядит как-то так:
"ВЫБРАТЬ | Документ1.Номенклатура.Сертификаты.( | Имя | ) |ИЗ | Документ.Документ1 КАК Документ1 |ГДЕ | Документ1.Ссылка = &Ссылка"; |
|||
22
ДенисЧ
16.02.14
✎
23:20
|
(20) С какого перепою?
|
|||
23
GROOVY
16.02.14
✎
23:22
|
(22) Обращение к вложенной таблице.
|
|||
24
ДенисЧ
16.02.14
✎
23:22
|
(23) в (0) никакой вложенной таблицы нет. И запрос написан корректно. Некорректно поставлен вопрос.
|
|||
25
GreenDay1986
16.02.14
✎
23:22
|
Получается элементу справочника Номенклатура соответствует скажем 3 сертификата, мож он таблицу в результат выводить не хочет
|
|||
26
GROOVY
16.02.14
✎
23:24
|
(24) Я тебе секрет открою:
Док.Номенклатура.Сертификаты.Имя = Док.Номенклатура.Сертификаты.(Имя) Что дает нам вложенную таблицу при условии что "Сертификаты" - это ТЧ справочника. |
|||
27
GROOVY
16.02.14
✎
23:25
|
(25) Повторю вопрос: Так что в результате запроса у нас? Он пустой? Запрос с ошибкой вываливается? Сколько строк в результате запроса?
|
|||
28
GreenDay1986
16.02.14
✎
23:28
|
(27) Пишу сообщить(Рез.Имя) собственно ничего не сообщает
|
|||
29
GROOVY
16.02.14
✎
23:30
|
Рез.Количество() + отладчик ответит на наши вопросы.
|
|||
30
GreenDay1986
16.02.14
✎
23:36
|
Интересно к примеру
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Ном.Сертификаты.ГоденДо КАК Имя |ИЗ Справочник.Номенклатура КАК Ном |ГДЕ Ном.Ссылка = &ЭтотОбъект"; Запрос.УстановитьПараметр("ЭтотОбъект", Справочники.Номенклатура.НайтиПоКоду("09147")); также ничего не выдает а Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Ном.ГоденДо КАК Имя |ИЗ Справочник.Номенклатура.Сертификаты КАК Ном |ГДЕ Ном.Ссылка = &ЭтотОбъект"; Запрос.УстановитьПараметр("ЭтотОбъект", Справочники.Номенклатура.НайтиПоКоду("09147")); выдает сроки годности тех же сертификатов. То есть напрямую все же видимо обращаться нельзя. |
|||
31
GreenDay1986
16.02.14
✎
23:37
|
(29) Отадчик еще не изучал, надо добраться
В (30) по-моему запросы идентичны, а результат разный. Или неидентичны? |
|||
32
GROOVY
16.02.14
✎
23:38
|
(31) Не идентичны. В (30) запрос к одной таблице, а выше к 3м.
|
|||
33
GreenDay1986
16.02.14
✎
23:41
|
(32) Результат теоретически должен быть одинаков. Видимо ошибаюсь.
|
|||
34
GROOVY
16.02.14
✎
23:53
|
(33) Нет. Не одинаков. Даже количество таблиц к которым обращаются эти запросы разное.
|
|||
35
GreenDay1986
17.02.14
✎
00:20
|
Так и не сообразил как сделать. Может подскажете как в кострукцию для каждого - ВЫБРАТЬ РАЗЛИЧНЫЕ запихать
Для Каждого ст ИЗ Сертификаты Цикл Для Каждого стр Из ст.Номенклатура.Сертификаты Цикл ФайлКартинка = Новый COMОбъект("WIA.ImageFile"); ФайлКартинка.LoadFile(стр.ПолноеИмя); ДОбавляем для каждой строки ТЧ товары картинки с сертификатами по имени. Однако некоторые сертификаты сответствуют нескольким номенклатурам. Собственно есть какая -то констукция позволяющая исключить дублирование данных картинок для разных строк номенклатуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |