Получение данных из табличной части 1с

1. user1627694 25.12.24 14:51 Сейчас в теме
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПеремещениеТоваров.Дата КАК Дата,
		|	ПеремещениеТоваров.Товары.Номенклатура КАК Номенклатура
		|ИЗ
		|	Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
		|ГДЕ
		|	ПеремещениеТоваров.Ссылка В(&МассивОбъектов)";
	
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ДатаДокумента = ВыборкаДетальныеЗаписи.Дата;
		Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; 
	КонецЦикла;
Показать


Имеется запрос который успешно отрабатывается в конструкторе запросов и даёт результат по номенклатуре которая находится в табличной части Товары, документа ПеремещениеТоваров. Но сам код Номенклатуру как бы игнорирует, возвращает пустоту, где Дата успешно так же получается. Подскажите что я мог упустить?
По теме из базы знаний
Найденные решения
9. VZyryanov 25.12.24 15:32 Сейчас в теме
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДатаДокумента = ВыборкаДетальныеЗаписи.Дата;

        ВыборкаТовары =  ВыборкаДетальныеЗаписи.Товары.Выбрать();
        Пока ВыборкаТовары.Следующий() Цикл
            Номенклатура = ВыборкаТовары.Номенклатура; 
        КонецЦикла;

    КонецЦикла;
Показать
user1627694; +1 Ответить
10. Anton_new01 25.12.24 16:19 Сейчас в теме
(3)
вот такой запрос.
"ВЫБРАТЬ
|    ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
|    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура
|ИЗ
|    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|ГДЕ
|    ПеремещениеТоваровТовары.Ссылка В(&МассивОбъектов)";

суть проблемы у какого-то документа пустая табличная часть. соответсвенно дата есть, а номенклатуры нет.
если же обращаться к табличной части товары, то в этом случае мы не сможем обратиться к дате документа у которого пустая табличная часть Товары.

смотри как тебе надо...
user1627694; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2107191 25.12.24 14:53 Сейчас в теме
Потому что это хреновый запрос. Что тебе мешает делать запрос не к таблице документа, а к таблице табличной части?
А в консоли он работает, потому что там применяется другой принцип разбора и вывода результата запроса.
3. user1627694 25.12.24 15:01 Сейчас в теме
(2) Что означает запрос к таблице табличной части? Можно небольшой пример?
6. user2107191 25.12.24 15:08 Сейчас в теме
(3) Конструктор запросов тебе в помощь.
7. user1627694 25.12.24 15:14 Сейчас в теме
(6) А что мне в конструкторе пробовать? я же указал что там отрабатывает всё корректно
8. user2107191 25.12.24 15:21 Сейчас в теме
(7) Интересно, а что там в конструкторе ВООБЩЕ может отрабатывать? Хоть корректно, хоть некорректно...
А что мне в конструкторе пробовать?
Ну не хочешь, не надо. Как будто твое незнание и нежелание - это моя проблема. Не-а, твоя.
14. user1627694 25.12.24 19:06 Сейчас в теме
(8) Спасибо за ценный вклад в обсуждение! Теперь я точно знаю, что иногда лучшая помощь — это подождать, пока появится кто-то с настоящими решениями. Ознакомься с решением проблемы ниже для себя, можешь в конструкторе прогнать
16. пользователь 25.12.24 19:18
Сообщение было скрыто модератором.
...
10. Anton_new01 25.12.24 16:19 Сейчас в теме
(3)
вот такой запрос.
"ВЫБРАТЬ
|    ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
|    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура
|ИЗ
|    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|ГДЕ
|    ПеремещениеТоваровТовары.Ссылка В(&МассивОбъектов)";

суть проблемы у какого-то документа пустая табличная часть. соответсвенно дата есть, а номенклатуры нет.
если же обращаться к табличной части товары, то в этом случае мы не сможем обратиться к дате документа у которого пустая табличная часть Товары.

смотри как тебе надо...
user1627694; +1 Ответить
17. Bukaska 140 26.12.24 11:06 Сейчас в теме
(3) Если бы вы проходили курсы. то вы бы точно знали, что именно табличная часть хранит в себе все, даже ссылку на документ.
Итого при наличии табличной части в документе можно остальные поля вытаскивать через поле ссылка, те же дату, время, контрагента.
Я в свое время тоже по незнанию было дело, мучалась по этой части, пока не услышала рекомендацию преподавателя в лекции)
18. user2107191 26.12.24 11:32 Сейчас в теме
(17)
Если бы вы проходили курсы.
Да кому это надо?
Прикрепленные файлы:
4. пользователь 25.12.24 15:01
Сообщение было скрыто модератором.
...
5. пользователь 25.12.24 15:07
Сообщение было скрыто модератором.
...
11. пользователь 25.12.24 17:43
Сообщение было скрыто модератором.
...
12. пользователь 25.12.24 17:48
Сообщение было скрыто модератором.
...
15. пользователь 25.12.24 19:08
Сообщение было скрыто модератором.
...
9. VZyryanov 25.12.24 15:32 Сейчас в теме
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДатаДокумента = ВыборкаДетальныеЗаписи.Дата;

        ВыборкаТовары =  ВыборкаДетальныеЗаписи.Товары.Выбрать();
        Пока ВыборкаТовары.Следующий() Цикл
            Номенклатура = ВыборкаТовары.Номенклатура; 
        КонецЦикла;

    КонецЦикла;
Показать
user1627694; +1 Ответить
13. user1627694 25.12.24 19:02 Сейчас в теме
(9)
ВыборкаТовары = ВыборкаДетальныеЗаписи.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
Номенклатура = ВыборкаТовары.Номенклатура;
КонецЦикла;


Спасибо огромное, свою ошибку понял
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот