1с запрос недопустимое поле для группировки
Запрос к таблице значений, пишет «недопустимое поле для группировки»
Помещает вроде нормально во временную таблицу.
Но когда выполняю запросТМП выводит ошибку:
недопустимое поле для группировки «ВидДвижения»
Запрос = Новый Запрос;
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос.Текст = «ВЫБРАТЬ
| Данные.ВидДвижения КАК ВидДвижения,
| Данные.Регистратор КАК Регистратор,
| Данные.НоменклатураЕдиницаХраненияОстатковВес КАК НоменклатураЕдиницаХраненияОстатковВес,
| Данные.Количество КАК Количество,
| Данные.Сумма КАК Сумма,
| Данные.Получатель_Отправитель КАК Получатель_Отправитель
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| &Данные КАК Данные»;
ЗапросТМП=Новый Запрос();
ЗапросТМП.Текст = «ВЫБРАТЬ
| ВременнаяТаблица.ВидДвижения КАК ВидДвижения,
| ВременнаяТаблица.Регистратор,
| ВременнаяТаблица.Количество КАК Количество,
| ВременнаяТаблица.Сумма КАК Сумма,
| ВременнаяТаблица.НоменклатураЕдиницаХраненияОстатковВес КАК НоменклатураЕдиницаХраненияОстатковВес,
| ВременнаяТаблица.Получатель_Отправитель КАК Получатель_Отправитель
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|ИТОГИ
| СУММА(Количество),
| СУММА(Сумма),
| СУММА(НоменклатураЕдиницаХраненияОстатковВес)
|ПО
| ВидДвижения,
| Получатель_Отправитель»;
ЗапросТМП.МенеджерВременныхТаблиц=Запрос.МенеджерВременныхТаблиц;
Результат =ЗапросТМП.Выполнить();
Недопустимое поле для группировки, почему?
В конструкторе схемы компоновки данных делаю запрос все ок,
пытаюсь создать группировку пишет недопустимое поле группировки
причем в консоли запроса пребывал тоже ошибка.
Вот запрос рабочий
ВЫБРАТЬ
ЗаказПоставщику.Контрагент,
ЗаказПоставщику.Контрагент.ИНН,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ КАК ФактическийАдрес,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ КАК ЮридическийАдрес
ИЗ
Документ.ЗаказПоставщику КАК ЗаказПоставщику
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО ЗаказПоставщику.Контрагент = КонтактнаяИнформация.Объект
ГДЕ
ЗаказПоставщику.Проведен = ИСТИНА
И ЗаказПоставщику.Дата МЕЖДУ &НачалоПериода И &КонецПериода
вот запрос с группировкой который ругаеться и не сохраняеться
ВЫБРАТЬ
ЗаказПоставщику.Контрагент,
ЗаказПоставщику.Контрагент.ИНН,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ КАК ФактическийАдрес,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ КАК ЮридическийАдрес
ИЗ
Документ.ЗаказПоставщику КАК ЗаказПоставщику
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО ЗаказПоставщику.Контрагент = КонтактнаяИнформация.Объект
ГДЕ
ЗаказПоставщику.Проведен = ИСТИНА
И ЗаказПоставщику.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
ЗаказПоставщику.Контрагент,
ЗаказПоставщику.Контрагент.ИНН,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ,
ВЫБОР
КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)
ТОГДА КонтактнаяИнформация.Представление
ИНАЧЕ «»
КОНЕЦ
пытался во временную выгрузить а потом там группировать всёравно такаеже хрень
выгрузка таблицы значений в временную таблицу
«Друзья поделитесь опытом, делал ли кто запрос по таблице значений.
Проблема в том что мне нужно сгруппировать во временной таблице поле склад?
Выдает ошибку что не так?
<Форма.Форма(263)>: Ошибка при вызове метода контекста (Выполнить): <(5, 2)>: Недопустимое поле для группировки «Склад»
>ВременнаяТаблица.Склад КАК Склад,
Результат = Запрос.Выполнить();
по причине:
<(5, 2)>: Недопустимое поле для группировки «Склад»
>ВременнаяТаблица.Склад КАК Склад,
ТабКод = Новый ТаблицаЗначений;
ТабКод.Колонки.Добавить(«Наименование», Новый ОписаниеТипов («Строка»));
ТабКод.Колонки.Добавить(«СуммаОбщ», Новый ОписаниеТипов («Число»));
ТабКод.Колонки.Добавить(«КолвоОбщ», Новый ОписаниеТипов («Число»));
ТабКод.Колонки.Добавить(«Склад», Новый ОписаниеТипов («Строка»));
.
НоваяСтрока = ТабКод.Добавить();
НоваяСтрока.Наименование = ТекНоменклатура;
НоваяСтрока.СуммаОбщ = ТекСуммаОбщ;
НоваяСтрока.КолвоОбщ = ТекКолВоОбщ;
НоваяСтрока.Склад = ТекСклад;
.
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = «Выбрать * Поместить ВременнаяТаблица из &Таблица Как ВнешнийИсточник»;
Запрос.УстановитьПараметр(«Таблица»,ТабКод);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Запрос.Текст = «ВЫБРАТЬ
| ВременнаяТаблица.Наименование КАК Наименование,
| ВременнаяТаблица.СуммаОбщ КАК СуммаОбщ,
| ВременнаяТаблица.КолвоОбщ КАК КолвоОбщ,
| ВременнаяТаблица.Склад КАК Склад,
| ВременнаяТаблица.КолвоСклад КАК КолвоСклад
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|ГДЕ
| ВременнаяТаблица.СуммаОбщ <> 0
|ИТОГИ ПО
| Склад»;
Результат = Запрос.Выполнить();
ВыборкаСклад = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);»
Комментарии в запросе 1с 8.1
Помощь в написании контрольных, курсовых и дипломных работ здесь.
на это пишет:
<ОбщаяФорма.ФормаНастройкиОтчета(3222)>: Ошибка при установке значения атрибута контекста (Текст): <(9, 5)>: Поле не входит в группу «КомментарииОбъектов.Комментарий»
>КомментарииОбъектов.Комментарий как Комментарий
пытался добавить в группу пишет
<ОбщаяФорма.ФормаНастройкиОтчета(3222)>: Ошибка при установке значения атрибута контекста (Текст): <(32, 5)>: Недопустимое поле для группировки «Комментарий»
>КомментарииОбъектов.Комментарий
по полю объект группирует
Добавлено через 33 минуты
за левое соединение спасибо.
короче, сделал запрос без группировки и он пошел, загрузил в табличный документ и отобрал как мне нужно, жаль что внешним отчетом теперь он, а не универсальным
Это из-за того, что он у вас неограниченной длины.
Выбрать
.
ВЫРАЗИТЬ(КомментарииОбъектов.Комментарий КАК СТРОКА(1000)) КАК Комментарий
СГРУППИРОВАТЬ ПО
.
ВЫРАЗИТЬ(КомментарииОбъектов.Комментарий КАК СТРОКА(1000))
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Комментарии
Помогите пожалуйста с комментариями Прога на Паскале program Tabul_6; uses crt; const m:array.
Комментарии
Можете написать комментарии к этой проге? Заранее спасибо using System; using.
комментарии
вот в общем программный код, который нужно полностью закомментировать Option Explicit Dim x As.
Комментарии Vk
Подскажите можно ли как то скачать комментарии по дате, без указывания количества в методе.
1с запрос недопустимое поле для группировки
Войдите как ученик, чтобы получить доступ к материалам школы
Язык запросов 1С 8.3 для начинающих программистов: группировка
Автор уроков и преподаватель школы: Владимир Милькин
Группировка в запросах
Давайте запросим из таблицы Справочник.Еда следующие реквизиты: Наименование, Цвет и Калорийность:
Теперь предположим, что нам необходимо вычислить суммарную калорийность продуктов для каждого цвета.
Алгоритм для жёлтого цвета будет такой:
И так для каждого цвета.
При группировке все поля делятся на две группы:
Группируемые поля не могут быть сами по себе. К ним обязательно применяется одна из агрегатных функций: СУММА, СРЕДНЕЕ, МИНИМУМ, МАКСИМУМ, КОЛИЧЕСТВО, КОЛИЧЕСТВО РАЗЛИЧНЫЕ:
Агрегатная функция СУММА
Это как раз случай, который мы разбирали. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Все строки группируются по группировочным полям (Цвет), а группируемые поля (Калорийность) суммируются:
Агрегатная функция СРЕДНЕЕ
В этом случае все строки группируются по группировочным полям (Цвет), а среди группируемых полей (Калорийность) находится среднее значение:
Агрегатная функция МИНИМУМ
В этом случае все строки группируются по группировочным полям (Цвет), а среди группируемых полей (Калорийность) находится минимальное значение:
Агрегатная функция МАКСИМУМ
В этом случае все строки группируются по группировочным полям (Цвет), а среди группируемых полей (Калорийность) находится максимальное значение:
Агрегатная функция КОЛИЧЕСТВО
В этом случае все строки группируются по группировочным полям (Цвет), а среди группируемых полей (Калорийность) находится их количество :
Агрегатная функция КОЛИЧЕСТВО РАЗЛИЧНЫЕ
В этом случае все строки группируются по группировочным полям (Цвет), а среди группируемых полей (Калорийность) находится количество элементов с различными значениями:
Функция КОЛИЧЕСТВО РАЗЛИЧНЫЕ требует пояснения, потому что на выбранном примере её результат совпадает с функцией КОЛИЧЕСТВО. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Вот более показательный пример, который всё объясняет:
Группировка без группируемых полей и агрегатных функций
Использование агрегатных функций в запросе не требуется, если результатом запроса будут только группировочные поля:
К примеру, сделаем выборку всех вкусов, которые встречаются среди еды:
Таким образом, мы сделали группировку только по группировочным полям (Вкус). Группируемые поля, а следовательно и агрегатные функции нам не понадобились.
Группировка без группировочных полей
Соответственно использование группировочных полей также не требуется, если результатом запроса будут только группируемые поля:
К примеру, получим результаты агрегатных функций применительно к полю Калорийность без группировочных полей (то есть по всей таблице):
Группировка по нескольким полям
Группировочных (как впрочем и группируемых) полей может быть сколь угодно много. В запросе они перечисляются через запятую.