|
Как передать структуру во временную таблицу запроса? | ☑ | ||
---|---|---|---|---|
0
Ткачев
21.01.12
✎
11:14
|
ТекстВТ =
"ВЫБРАТЬ | ТаблицаТоваров.Номенклатура, | ТаблицаТоваров.Цена |ПОМЕСТИТЬ ТаблицаТоваров |ИЗ | &ТаблицаТоваров КАК ТаблицаТоваров |ГДЕ | ТаблицаТоваров.ТипЦен = &ТипЦен | И ТаблицаТоваров.Цена <> 0"; Запрос.УстановитьПараметр("ТаблицаТоваров", Новый Структура("Номенклатура,Цена,ТипЦен", Источник.Ссылка, Цена, ТипЦенРетейл)); САБЖ, ругается на: {(6, 2)}: Неверные параметры "ТаблицаТоваров" <<?>>&ТаблицаТоваров КАК ТаблицаТоваров |
|||
1
ДенисЧ
21.01.12
✎
11:15
|
в тз значения запихни и её уже передавай.
|
|||
2
Ткачев
21.01.12
✎
11:17
|
(1)Я так сделал, все работает, только букав много, хотелось бы сократить, это возможно?
ТаблицаСНоменклатурой = Новый ТаблицаЗначений; ТаблицаСНоменклатурой.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТаблицаСНоменклатурой.Колонки.Добавить("Цена" , Новый ОписаниеТипов("Число")); ТаблицаСНоменклатурой.Колонки.Добавить("ТипЦен"); НоваяСтрока = ТаблицаСНоменклатурой.Добавить(); НоваяСтрока.Номенклатура = Источник.Ссылка; НоваяСтрока.Цена = Цена; НоваяСтрока.ТипЦен = ТипЦенРетейл; Запрос.УстановитьПараметр("ТаблицаТоваров", ТаблицаСНоменклатурой); |
|||
3
EvgeniuXP
21.01.12
✎
11:18
|
(0) структуру в качестве параметра не передают... только: массив, список значений, таблица значений и примитивные типы данных.
|
|||
4
ДенисЧ
21.01.12
✎
11:18
|
нет
|
|||
5
EvgeniuXP
21.01.12
✎
11:20
|
(2) в отдельную процедуру, на выходе ТЗ, которую потом в параметр :) если только так :)
|
|||
6
Ткачев
21.01.12
✎
11:25
|
(5)В ВТ передаются ТЗ, просто возникла необходимость отправить туда один элемент, что то сделать типа структуры и выгрузить с созданием колонок возможно ?
Типа: Стр = Новый Структура("Номенклатура,Цена,ТипЦен", Источник.Ссылка, Цена, ТипЦенРетейл); ТЗ = Стр.Выгрузить(); На выходе получить ТЗ с колонками и данными. |
|||
7
EvgeniuXP
21.01.12
✎
11:29
|
(6) больше вопросов, чем ответов....
делаешь универсальную вещь или колонки статические? Если статические, создай их и закинь в ТЗ, если универсальную - то Колонки.Добавить("ИмяКолонки", Тип от значения) и снова закидывай в ТЗ значения. или вообще поменять подход к решению проблемы - что и такое возможно. |
|||
8
echo77
21.01.12
✎
11:37
|
(5) Хороший подход - всем рекомендую. Позволяет скрыть ненужное количество букв, заменив их на на понятные слова, определяющие смысл действия
|
|||
9
Ткачев
21.01.12
✎
11:49
|
(7)Там еще была ВТ, ее использовал, ТаблицаТоваров это ссылка на элемент.
ТекстВТ = "ВЫБРАТЬ | Товары.Ссылка КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Цена |ПОМЕСТИТЬ ТаблицаТоваров |ИЗ | Справочник.Номенклатура КАК Товары | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | , //СпрНоменклатура | ТипЦен = &ТипЦен | И Цена <> 0) КАК ЦеныНоменклатурыСрезПоследних | ПО Товары.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | (НЕ Товары.ЭтоГруппа)"; Если Не ТаблицаТоваров.Пустая() Тогда ТекстВТ = СтрЗаменить(ТекстВТ, "//СпрНоменклатура", "Номенклатура = &Ссылка И "); Запрос.УстановитьПараметр("Ссылка", ТаблицаТоваров); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |