|
Помогите с передачей ТЗ в запрос, пожалуйста. УТ 11 | ☑ | ||
---|---|---|---|---|
0
vse_serjezno
01.07.14
✎
18:53
|
Здравствуйте.
Получаю из ВрХран таблицу значений. Передаю ее в запрос: Запрос.УстановитьПараметр("Таблица", Рез); ТекстЗапроса = "ВЫБРАТЬ | ТЧ.Характеристика, | ТЧ.Номенклатура |ПОМЕСТИТЬ ТаблицаНоменклатура |ИЗ | &Таблица КАК ТЧ |; | При выполнении запроса происходит ошибка: Ошибка при вызове метода контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить(); по причине: {(2, 2)}: Тип не может быть выбран в запросе <<?>>ТЧ.Характеристика, Я почитала, советуют ее решить явной типизацией колонок в ТЗ: http://www.1c-h.ru/?p=973 и http://www.sky1c.ru/node/278 Почитав эти советы, решила переписать в новую таблицу, но в итоге, как ни крути, из данные не переписываются их одной таблицы в другую: ТипизированныйРез = Новый ТаблицаЗначений; ТипизированныйРез.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТипизированныйРез.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры")); ТипизированныйРез.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число")); ЗначениеКолонки = Рез.ВыгрузитьКолонку("Номенклатура"); ТипизированныйРез.ЗагрузитьКолонку(ЗначениеКолонки, "Номенклатура"); ЗначениеКолонки = Рез.ВыгрузитьКолонку("Характеристика"); ТипизированныйРез.ЗагрузитьКолонку(ЗначениеКолонки, "Характеристика"); ЗначениеКолонки = Рез.ВыгрузитьКолонку("Количество"); ТипизированныйРез.ЗагрузитьКолонку(ЗначениеКолонки, "Количество"); Подскажите, пожалуйста, как можно решить эту проблему? |
|||
1
Wobland
01.07.14
✎
18:54
|
получай из ВрХран типизированную таблицу значений
|
|||
2
vse_serjezno
01.07.14
✎
18:59
|
(1) она у меня вообще-то типизированная...
Этот код обрабатывается при открытии формы на сервере. Форма открывается из неск. документов кнопкой. При этом из одних видов документов открывается нормально, из других с ошибкой. При этом сами ТЗ, полученные из ВрХран ничем, кроме данных, не отличаются. |
|||
3
vse_serjezno
01.07.14
✎
19:00
|
Я проверяю, типы всех колонок есть и они верные, но ошибка возникает.
|
|||
4
Wobland
01.07.14
✎
19:04
|
ну показывай, что за зверь у тебя кладётся в ВрХран
|
|||
5
catena
03.07.14
✎
07:24
|
(0)Перед тем, как загрузить колонку, надо в таблице-приемнике создать строки. Желательно столько же, сколько в таблице-источнике.
ТаблицаЗначений.ЗагрузитьКолонку (ValueTable.LoadColumn) ТаблицаЗначений (ValueTable) ЗагрузитьКолонку (LoadColumn) Синтаксис: ЗагрузитьКолонку(<Массив>, <Колонка>) Параметры: <Массив> (обязательный) Тип: Массив. Массив значений, который выступает в качестве источника данных для колонки. <Колонка> (обязательный) Тип: Число, Строка, КолонкаТаблицыЗначений. Колонка, в которую будут загружены значения из массива. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка. Описание: Загружает колонку таблицы значений из массива значений. Примечание: Значения из массива загружаются в колонку в порядке индексов. Пример: ТаблицаРезультат = Новый ТаблицаЗначений; Для каждого ИмяКолонки Из МассивИменКолонок Цикл ТаблицаРезультат.Колонки.Добавить(ИмяКолонки); КонецЦикла; // Создадим пустые строки таблицы Для Н=1 По СтрокиДереваЗначений.Количество() Цикл ТаблицаРезультат.Добавить(); КонецЦикла; // Скопируем значения колонок Для каждого ИмяКолонки Из МассивИменКолонок Цикл ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки); ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |