выгрузка таблицы значений в временную таблицу

Новая тема
"Друзья поделитесь опытом, делал ли кто запрос по таблице значений.<br>Проблема в том что мне нужно сгруппировать во временной таблице поле склад?<br>Выдает ошибку что не так?<br><br>{Форма.Форма(263)}: Ошибка при вызове метода контекста (Выполнить): {(5, 2)}: Недопустимое поле для группировки "Склад"<br><<?>>ВременнаяТаблица.Склад КАК Склад,<br> Результат = Запрос.Выполнить();<br>по причине:<br>{(5, 2)}: Недопустимое поле для группировки "Склад"<br><<?>>ВременнаяТаблица.Склад КАК Склад,<br><br><br>        <br>        ТабКод = Новый ТаблицаЗначений;<br> ТабКод.Колонки.Добавить("Наименование", Новый ОписаниеТипов ("Строка"));<br> ТабКод.Колонки.Добавить("СуммаОбщ", Новый ОписаниеТипов ("Число")); <br> ТабКод.Колонки.Добавить("КолвоОбщ", Новый ОписаниеТипов ("Число")); <br> ТабКод.Колонки.Добавить("Склад", Новый ОписаниеТипов ("Строка"));<br>        <br>        ....<br>        НоваяСтрока = ТабКод.Добавить();<br> НоваяСтрока.Наименование = ТекНоменклатура;<br> НоваяСтрока.СуммаОбщ = ТекСуммаОбщ;<br> НоваяСтрока.КолвоОбщ = ТекКолВоОбщ;<br> НоваяСтрока.Склад = ТекСклад; <br><br> <br> ....<br>        Запрос = Новый Запрос;<br> Запрос.МенеджерВременныхТаблиц = Новый  МенеджерВременныхТаблиц;<br> Запрос.Текст =  "Выбрать * Поместить ВременнаяТаблица из &Таблица Как ВнешнийИсточник";<br> Запрос.УстановитьПараметр("Таблица",ТабКод);<br> Результат = Запрос.Выполнить();<br> Выборка = Результат.Выбрать();<br> Запрос.Текст = "ВЫБРАТЬ<br>               | ВременнаяТаблица.Наименование КАК Наименование,<br>               | ВременнаяТаблица.СуммаОбщ КАК СуммаОбщ,<br>               | ВременнаяТаблица.КолвоОбщ КАК КолвоОбщ,<br>               | ВременнаяТаблица.Склад КАК Склад,<br>               | ВременнаяТаблица.КолвоСклад КАК КолвоСклад<br>               |ИЗ<br>               | ВременнаяТаблица КАК ВременнаяТаблица<br>               |ГДЕ<br>               | ВременнаяТаблица.СуммаОбщ <> 0<br>               |ИТОГИ ПО<br>               | Склад";<br> <br> Результат = Запрос.Выполнить();<br> ВыборкаСклад = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);"
"1. Не понятно где тут у вас группировка.<br>2. Постарайтесь избегать одинаковых имен: попробуйте заменить так:<br><br> Запрос.Текст =  "Выбрать ВнешнийИсточник.* Поместить ВТВременнаяТаблица из &Таблица Как ВнешнийИсточник";<br>> Запрос.УстановитьПараметр("Таблица",ТабКод);<br>> Результат = Запрос.Выполнить();<br>> Выборка = Результат.Выбрать();<br>> Запрос.Текст = "ВЫБРАТЬ<br>>               | ВременнаяТаблица.Наименование КАК Наименование,<br>>               | ВременнаяТаблица.СуммаОбщ КАК СуммаОбщ,<br>>               | ВременнаяТаблица.КолвоОбщ КАК КолвоОбщ,<br>>               | ВременнаяТаблица.Склад КАК Склад,<br>>               | ВременнаяТаблица.КолвоСклад КАК КолвоСклад<br>>               |ИЗ<br>               | ВТВременнаяТаблица КАК ВременнаяТаблица<br>>               |ГДЕ<br>>               | ВременнаяТаблица.СуммаОбщ <> 0<br>>               |ИТОГИ ПО<br>               | ВременнаяТаблица.Склад";<br>"
А мне кажется, дело в том, что Склад у вас - это строка, да еще и, похоже, неограниченной длины.<br><br>~~~ Красноярск, http://x-frame.ru ~~~
Я наверно просто выразилась не верно на счет группировки, я новичок в 1С. я имела ввиду вот это мне нужно свернуть поле склад в Таблице значений и не потерять остальные колонки, пробовала свернуть().........!?!?!?, поэтому вот и решила использовать временные таблицы, но пока…и с ними...!?!?!?!? <br>А строка только лишь потому что если не делать описание типов, то таблицу значений не возможно использовать в запросе…выдает ошибку! Спс я попробую!<br>
"В примере "Склады" это таблица значений с колонками "Код" (строка 9), "Наименование" (строка 50) и "ВидСклада" (перечисление).<br><br>МВТ = Новый МенеджерВременныхТаблиц;<br> Запрос.МенеджерВременныхТаблиц = МВТ;<br> <br> Запрос.Текст = "Выбрать ВнешнийИсточник.* Поместить ВТВременнаяТаблица из &Таблица Как ВнешнийИсточник";<br><br> Запрос.УстановитьПараметр("Таблица", Склады);<br> <br> Запрос.Выполнить();<br> <br> Запрос.Текст =<br> "ВЫБРАТЬ<br> | ВТВременнаяТаблица.Код,<br> | ВТВременнаяТаблица.Наименование,<br> | ВТВременнаяТаблица.ВидСклада КАК ВидСклада<br> |ИЗ<br> | ВТВременнаяТаблица КАК ВТВременнаяТаблица<br> |ИТОГИ ПО<br> | ВидСклада"<br> ;<br> <br> ДЗ = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);<br> <br> ДЗ.ВыбратьСтроку();"
Нельзя делать группироваку по полю неограниченной длины! В описании типа строка желательно всегда ставить длину.
> Я наверно просто выразилась не верно на счет группировки, я новичок в 1С. я имела ввиду вот это мне нужно свернуть поле склад в Таблице значений и не потерять остальные колонки, пробовала свернуть().........!?!?!?, поэтому вот и решила использовать временные таблицы, но пока…и с ними...!?!?!?!? <br><br>Так и не понятно, что же хотите и как понимать фразу "свернуть поле склад".<br>Вам что надо из таблицы получить Список всех складов?<br>И свернуть и запрос дадут один резальтат, только свернуть сделает это с текущей таблицей, а запрос создаст новую.
Читают тему
(гостей: 1)

Быстрый переход