|
Новичковый вопрос по запросу к ТЗ | ☑ | ||
---|---|---|---|---|
0
ildary
22.03.15
✎
06:00
|
Уважаемые специалисты, подскажите пожалуйста, почему выполнение кода возвращает ошибку "Неверные параметры "ТабЗнач"
<<?>>&ТабЗнач Как ТабЗнач"? УФ, Клиент-сервер. Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр( "ТабЗнач", ТЗТоваров ); Запрос.Текст = " |ВЫБРАТЬ | ТабЗнач.Номенклатура КАК Номенклатура, | ТабЗнач.ВРеализацию КАК Количество, | ТабЗнач.Цена КАК Цена |ПОМЕСТИТЬ | ВременнаяТаблица |ИЗ | &ТабЗнач Как ТабЗнач |ГДЕ | Количество > 0; |ВЫБРАТЬ * ИЗ ВременнаяТаблица"; ТЗВрем = Запрос.Выполнить().Выбрать(); |
|||
1
ShoGUN
22.03.15
✎
06:05
|
(0) Потому что колонки в таблице значений не типизированы. У каждой колонки передаваемой таблицы должны быть прописаны типы значений.
|
|||
2
ildary
22.03.15
✎
06:07
|
(1) Большое спасибо за помощь! Про типизацию я читал, но думал, что из-за её отсутствия будет более внятная ошибка.
|
|||
3
ShoGUN
22.03.15
✎
06:08
|
(2) Экспериментатор? Какая разница, какая ошибка, когда явно написано - колонки должны быть типизированы? :)
|
|||
4
ildary
22.03.15
✎
06:09
|
(3) Нет, новичок в восьмерке :)
|
|||
5
ildary
22.03.15
✎
06:10
|
(3) и вдогонку, пока все тролли спят - а как типизировать уже существуюшую ТЗ (элемент формы), если в языке нет оператора УстановитьПараметрыКолонки?
|
|||
6
ShoGUN
22.03.15
✎
06:12
|
(5) А откуда эта существующая ТЗ взялась? Если создавалась руками - при создании. А при выгрузке откуда-то - она и так будет типизированная, нужно только типы прописывать у добавляемых колонок, если руками их добавляешь.
|
|||
7
ildary
22.03.15
✎
06:14
|
(6) это реквизит формы, и у него кстати уже все колонки типизированы (справочник, числа, булево).
|
|||
8
ShoGUN
22.03.15
✎
06:19
|
(7) Странно. Проверь ТипЗначения у всех колонок в отладчике. А так - только создавать новую колонку, типизировать её при создании, заполнять(ВыгрузитьКолонку/ЗагрузитьКолонку), удалать старую и переименовывать новую. Морока, да. Поэтому и говорю, что проще при создании прописывать типы.
Скорей всего у тебя нетипизированная колонка добавляется где-то. Даже если она одна - запрос к такой ТЗ всё равно нельзя сделать. |
|||
9
ildary
22.03.15
✎
06:27
|
(8) Большое спасибо, разобрался, я считал, что это ТЗ, а это оказалось ДанныеФормыКоллеция. Теперь лезет другая ошибка: "Временная таблица уже существует "ВременнаяТаблица"
<<?>>ВременнаяТаблица" ТЗ1 = Новый ТаблицаЗначений; ТЗ1 = СписокТоваров.Выгрузить(); Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр( "ТабЗнач", ТЗ1 ); Запрос.Текст = " |ВЫБРАТЬ | ТабЗнач.Номенклатура КАК Номенклатура, | ТабЗнач.ВРеализацию КАК Количество, | ТабЗнач.Цена КАК Цена |ПОМЕСТИТЬ | ВременнаяТаблица |ИЗ | &ТабЗнач Как ТабЗнач |ГДЕ | ВРеализацию > 0; |ВЫБРАТЬ * ИЗ ВременнаяТаблица"; ТЗВрем = Запрос.Выполнить().Выбрать(); |
|||
10
ShoGUN
22.03.15
✎
06:38
|
(9) В таком коде не нужен МВТ, тут просто пакетный запрос. Ну и таблицу переименовать попробуй.
|
|||
11
hhhh
22.03.15
✎
06:41
|
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
выкиньте |
|||
12
ildary
22.03.15
✎
07:17
|
Всем большое спасибо, выкинул, все работает!
p.s. Что мне водка в летний зной, что мне вермут разливной, когда такие люди на мисте со мной. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |