Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:44

Подскажите по поводу запроса.

Автор Бабайка, 27 мая 2018, 15:29

0 Пользователей и 1 гость просматривают эту тему.

Бабайка

Создал запрос через конструктор запроса для того, что бы он выгружал данные из табличной части справочника в табличную часть, но в документе та же самая табличная это отдельная табличная часть с реквизитами и поэтому при выгрузки запроса в таблицу выдаётся ошибка, что поле "ПОЛЕ ОБЪЕКТА НЕДОСТУПНО ДЛЯ ЗАПИСИ" если же добавить просто пустую табличную часть без реквизитов, то он выводит невидимые результаты в таблицу, может я не правильно пишу запрос или выгружаю неправильно!!! Но теперь запрос выводит что_то в табличную часть, но почему он их копирует аж до 500_числа, когда в табличной части справочника их всего 12, количество также не выводит, но с количеством понятно, так как там подсчет должен быть по табличной части продукции, но вопрос в том, может запрос неправильный.

pavl_vs

Бабайка, ну сам запрос Вы соорудили с помощью конструктора, но далее???

Далее Вы пишете
РезультатЗапроса = Запрос.Выполнить();
Материалы.Загрузить(РезультатЗапроса.Выгрузить());

а это подразумевает создание реквизитов по запросу (секция ВЫБРАТЬ) - т.е. Ваша ТЧ должна быть пустой.

Кстати можно одной строкой:
Материалы.Загрузить(Запрос.Выполнить().Выгрузить());

Теперь 500 вместо 12 - наверно нужно в запросе использовать
Сгруппировать по Материал
Тогда уйдут повторения по наименованию.
Перед запросом следовало бы написать "Материал.Очистить();".

И наконец старайтесь не допускать описок типа "Олтопара", "Кондексатор".

Добавлено: 27 мая 2018, 17:37


Простенько и понятно о группировках в запросах см. здесь.
Добавлено: 27 мая 2018, 17:39


Простенько и понятно о группировках в запросах см. здесь: http://helpme1c.ru/yazyk-zaprosov-1s-8-3-dlya-nachinayushhix-programmistov-gruppirovka

Бабайка

Действительно группировка помогла вывести всё, что было в справочнике, я так понимаю, для того чтобы, он вычислял ещё и количество основываясь на количестве из табличной части документа нужно условие другое писать.

pavl_vs

Цитата: Бабайка от 27 мая 2018, 19:54
... я так понимаю, для того чтобы, он вычислял ещё и количество основываясь на количестве из табличной части документа нужно условие другое писать.

Нет, не другое условие, а нужно видоизменить строку запроса о Количестве; и наверно это будет так:
|    СУММА(Продукция.МатериалыКоличество) КАК Количество,
О работе с агрегатной функцией СУММА см. по приведенной выше ссылке.

Но меня смущает приведенная выше таблица с пустыми значениями в колонке Количество - такое впечатление, что и в самом справочнике там пусто.

Добавлено: 27 мая 2018, 22:28


Ошибочка вышла, точку поставил не там, д/б
|    СУММА(ПродукцияМатериалы.Количество) КАК Количество,

Бабайка

А можно, как_то сделать, чтобы запрос смотрел по наименованию продукции из табличной части документа и выводил только те материалы, которые соответствуют именно, этой продукции, запрос с вашей помощью работает, но он выводит абсолютно все результаты из справочника, то есть се материалы, которые забиты на всю продукцию в целом.
Добавлено: 28 мая 2018, 15:21


Ой, забыл группировку по количеству убрать

pavl_vs

Можно, если описана спецификация и где-то она сохранена, а в запросе пишется соответствующее условие - раздел ГДЕ, который у Вас пока отсутствует. Но здесь уже будет сложнее, скорее всего без Соединений не обойтись - по этой теме в интернете есть хорошие статьи, например, http://helpme1c.ru/soedineniya-v-zaprosax-v-1s-8-v-primerax.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск