Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрос не возвращает данные табличной части документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
rpodgornyy
Конфигурация УТ для Украины 2.3.18.1. Платформа 8.2.18.61.

В документе "Налоговая накладная" делаю следующий запрос:

необходимо зарегистрироваться для просмотра ссылки
ВЫБРАТЬ
     |    НалоговаяНакладная.Товары.(
     |        Ссылка,
     |        НомерСтроки,
     |        ДатаОтгрузкиОплаты,
     |        ЕдиницаИзмерения,
     |        ЕдиницаИзмеренияМест,
     |        Количество,
     |        КоличествоМест,
     |        Коэффициент,
     |        Номенклатура,
     |        ПроцентАвтоматическихСкидок,
     |        ПроцентСкидкиНаценки,
     |        СтавкаНДС,
     |        СтатьяКнигиПродаж,
     |        Сумма,
     |        СуммаНДС,
     |        ХарактеристикаНоменклатуры,
     |        Цена,
     |        ЦенаОбычная,
     |        СуммаПревышения,
     |        СуммаНДСПревышения,
     |        КодУКТВЭД,
     |        НомерГТД
     |    ),
     |    Номенклатура.Наименование,
     |    Номенклатура.Импорт
     |ИЗ
     |    Документ.НалоговаяНакладная КАК НалоговаяНакладная,
     |    Справочник.Номенклатура КАК Номенклатура
     |ГДЕ
     |    НалоговаяНакладная.Ссылка = &ТекущийДокумент
     |    И Номенклатура.Код = НалоговаяНакладная.Товары.Номенклатура.Код


Прогоняю его через консоль запросов - результат: выводятся только наименования товаров и значения поля импорт. Т.е. получается, что запрос к табличной части документа не работает. Где может быть ошибка?
DartRomanius
Цитата(rpodgornyy @ 09.07.13, 16:18) необходимо зарегистрироваться для просмотра ссылки
Конфигурация УТ для Украины 2.3.18.1. Платформа 8.2.18.61.

В документе "Налоговая накладная" делаю следующий запрос:

необходимо зарегистрироваться для просмотра ссылки
ВЫБРАТЬ
     |    НалоговаяНакладная.Товары.(
     |        Ссылка,
     |        НомерСтроки,
     |        ДатаОтгрузкиОплаты,
     |        ЕдиницаИзмерения,
     |        ЕдиницаИзмеренияМест,
     |        Количество,
     |        КоличествоМест,
     |        Коэффициент,
     |        Номенклатура,
     |        ПроцентАвтоматическихСкидок,
     |        ПроцентСкидкиНаценки,
     |        СтавкаНДС,
     |        СтатьяКнигиПродаж,
     |        Сумма,
     |        СуммаНДС,
     |        ХарактеристикаНоменклатуры,
     |        Цена,
     |        ЦенаОбычная,
     |        СуммаПревышения,
     |        СуммаНДСПревышения,
     |        КодУКТВЭД,
     |        НомерГТД
     |    ),
     |    Номенклатура.Наименование,
     |    Номенклатура.Импорт
     |ИЗ
     |    Документ.НалоговаяНакладная КАК НалоговаяНакладная,
     |    Справочник.Номенклатура КАК Номенклатура
     |ГДЕ
     |    НалоговаяНакладная.Ссылка = &ТекущийДокумент
     |    И Номенклатура.Код = НалоговаяНакладная.Товары.Номенклатура.Код


Прогоняю его через консоль запросов - результат: выводятся только наименования товаров и значения поля импорт. Т.е. получается, что запрос к табличной части документа не работает. Где может быть ошибка?


Странный запрос какой-то, поясните.
pablo
Во-первых, в самом написании запроса.
     |       НалоговаяНакладная. НомерСтроки,
     |        НалоговаяНакладная.ДатаОтгрузкиОплаты,
....
    |ИЗ
     |    Документ.НалоговаяНакладная.Товары КАК НалоговаяНакладная левое соединение
     |    Справочник.Номенклатура КАК Номенклатура по НалоговаяНакладная.Номенклатура=Номенклатура.ссылка
|ГДЕ
     |    НалоговаяНакладная.Ссылка = &ТекущийДокумент

Во-вторых, в Вашем документе может быть не заполнена табличная часть Товары
rpodgornyy
Цитата(DartRomanius @ 09.07.13, 16:22) необходимо зарегистрироваться для просмотра ссылки
Странный запрос какой-то, поясните.


Собственно, в справочник номенклатуры было добавлено булевое поле "импорт". При экспорте налоговой накладной в xml хочу сделать проверку, если не заполнено поле УКТВЭД для импортного товара, выгрузка не происходит. Для этого запрос делает выборку.

Цитата(pablo @ 09.07.13, 16:24) необходимо зарегистрироваться для просмотра ссылки
Во-вторых, в Вашем документе может быть не заполнена табличная часть Товары


Это точно нет - заполнено, проверяю на готовом рабочем документе.
Vofka
rpodgornyy, перепишите запрос по человечески. Как-то так, например:

|ВЫБРАТЬ
|    НалоговаяНакладнаяТовары.Номенклатура,
|    НалоговаяНакладнаяТовары.Номенклатура.Импорт
|ИЗ
|    Документ.НалоговаяНакладная.Товары КАК НалоговаяНакладнаяТовары
|ГДЕ
|    НалоговаяНакладнаяТовары.Ссылка = &ТекущийДокумент


А то как-то очень загадочно он написан.
Petre
Результат данного запроса должен содержать три поля. Причем первое - тз.
Суть данного запроса - выбираем номенклатуру, отбираем ту, что есть в налоговой накладной, построчно сравнивая код, и соединаем с табличной частью налоговой накладной.
В пятьсот раз быстрее напрямую взять номенклатуру из табличной части налоговой.
Vofka
Цитата(Petre @ 09.07.13, 17:11) необходимо зарегистрироваться для просмотра ссылки
Результат данного запроса должен содержать три поля. Причем первое - тз.Суть данного запроса - выбираем номенклатуру, отбираем ту, что есть в налоговой накладной, построчно сравнивая код, и соединаем с табличной частью налоговой накладной.

Я не знаю к кому вы сейчас обращались, но если ко мне, то я это понял. Но я лично предпочитаю не использовать запросы такого вида, когда из основной таблицы объекта получаются данные табличной части. Кстати, как при этом, обрабатываются условия на соединения - для меня это тоже загадка и определять как же всетаки это происходит - мне не представляет даже академического интереса smile.gif .
Petre
Это я к автору. К тому, что данный запрос в общем не имеет смысла, а в частности автор скорее всего не совсем понимает, как и что этот запрос возвращает.
rpodgornyy
Vofka, спасибо! Понял, что занимался ерундой. Переписал запрос - получилось!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.