|
v8: Помогите исправить ошибку | ☑ | ||
---|---|---|---|---|
0
alex-van1C8
02.07.12
✎
12:39
|
Есть запрос:
Запрос.Текст="ВЫБРАТЬ | ИтоговаяТаблицаСМатериалом.Материал КАК Материал |ПОМЕСТИТЬ ВТ_Материалов |ИЗ | &ИтоговаяТаблицаСМатериалом КАК ИтоговаяТаблицаСМатериалом |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | КартаРаботПоМатериалу.ОписаниеРабот.( | Ссылка, | НомерСтроки, | Номенклатура, | Формула, | УсловиеВыполнениеРабот, | Деталировка, | Фасады, | ШкафыКупе | ) |ИЗ | ВТ_Материалов КАК ВТ_Материалов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КартаРаботПоМатериалу КАК КартаРаботПоМатериалу | ПО ВТ_Материалов.Материал = КартаРаботПоМатериалу.Номенклатура.Ссылка"; Запрос.УстановитьПараметр("ИтоговаяТаблицаСМатериалом",ИтоговаяТаблицаСМатериалом); При выполнении выдает ошибку: "Тип не может быть выбран в запросе <<?>>ИтоговаяТаблицаСМатериалами КАК Материал". В конструкторе запроса при описании ВременнойТаблицы указываю тип . Что не так делаю? |
|||
1
Cube
02.07.12
✎
12:41
|
(0) "В конструкторе запроса при описании ВременнойТаблицы указываю тип"
Здесь ошибка. Конструктор конструктором, то у ТЗ, которую ты в запрос передаешь все колонки должны быть типизированными. |
|||
2
МойКодУныл
02.07.12
✎
12:41
|
Колонки таблицы значений типизированы? Иначе не выйдет
|
|||
3
Mafoni
02.07.12
✎
12:43
|
(0) а что передаеш в запрос ? ИтоговаяТаблицаСМатериалом - это тз ? как она получена ?
|
|||
4
Maxus43
02.07.12
✎
12:44
|
решают обычно задачи, а не ошибки)
|
|||
5
Mikeware
02.07.12
✎
12:44
|
"Решить ошибку"????
|
|||
6
alex-van1C8
02.07.12
✎
12:48
|
(3)
ИтоговаяТаблицаСМатериалом=Новый ТаблицаЗначений; ИтоговаяТаблицаСМатериалом.Колонки.Добавить("Материал"); ..... НоваяСтрока=ИтоговаяТаблицаСМатериалом.Добавить(); НоваяСтрока.Материал=Стр[НазваниеКолонки]; |
|||
7
alex-van1C8
02.07.12
✎
12:48
|
(2) А как понять типизированы они или нет?
|
|||
8
Cube
02.07.12
✎
12:50
|
(6) (7) Типизированная ТЗ:
МояТЗ = Новый ТаблицаЗначений; МояТЗ.Колокни.Добавить("Колонка1", Новый ОписаниеТипов("Строка")); |
|||
9
Cube
02.07.12
✎
12:50
|
+(8) Сори за очепятки :)
С ними будет интереснее разобраться) |
|||
10
Maxus43
02.07.12
✎
12:51
|
колонки не типизированы, или принудительно тип указывай, или выгружай в ТЗ уже типизированно
|
|||
11
Maxus43
02.07.12
✎
12:52
|
что есть Стр[НазваниеКолонки]? строка ТЧ или ТЗ? Выгрузить() кури например, сразу ТЗ типизированная создастся без оходов в циклах и т.д.
|
|||
12
qwerty09
02.07.12
✎
12:53
|
(0) какой то странный у тебя запрос...почему ты выбираешь данные из ТЧ через таблицу документа, а не его табличную часть, и вообще накуя здесь весь этот огород с временной таблицей? Выбирай из таблицы ТЧ документа с условием ГДЕ КартаРаботПоМатериалу.Номенклатура.Ссылка = &МассивМатериалов
|
|||
13
alex-van1C8
02.07.12
✎
12:53
|
Для Каждого Стр из ПромежуточнаяТаблицаСМатериалом Цикл
Если ПустаяСтрока(Стр[НазваниеКолонки]) Тогда Прервать КонецЕсли; НоваяСтрока=ИтоговаяТаблицаСМатериалом.Добавить(); НоваяСтрока.Материал=Стр[НазваниеКолонки](ДСП,Фанера, и т д (СправочникССылкаНоменклатура)); КонецЦикла; |
|||
14
qwerty09
02.07.12
✎
12:54
|
(12) * всмысле ГДЕ КартаРаботПоМатериалу.Номенклатура.Ссылка В (&МассивМатериалов)
|
|||
15
Mafoni
02.07.12
✎
12:55
|
(0) смотри (8)
|
|||
16
Maxus43
02.07.12
✎
12:56
|
помойму надо не (8) смотреть, а менять вобще подход к решению, типа как в (12)
|
|||
17
alex-van1C8
02.07.12
✎
12:58
|
Суть такова. Есть обработка в ней табличная часть. В этой ТЧ есть три колонки в которых указывается номенклатура. То-есть в одной строке три разных номенклатуры.
Я делаю ТЗ с колонкой "материал" и туда сливаю всю номенклатуру. А затем мне нужно ко всей этой номенклатуре подтянуть данные. |
|||
18
alex-van1C8
02.07.12
✎
13:04
|
(8) сработало.
хотя (12) все проще. Что то я действительно нагородил :). Ребят, спасибо! |
|||
19
Cube
02.07.12
✎
13:04
|
(17) Ну Ппц... Чо, так не проще:
Запрос.Текст="ВЫБРАТЬ | КартаРаботПоМатериалу.ОписаниеРабот.( | Ссылка, | НомерСтроки, | Номенклатура, | Формула, | УсловиеВыполнениеРабот, | Деталировка, | Фасады, | ШкафыКупе | ) |ИЗ | Справочник.КартаРаботПоМатериалу КАК КартаРаботПоМатериалу |ГДЕ | КартаРаботПоМатериалу.Номенклатура В (&СписокНоменклатуры)"; СписокНоменклатуры = Новый СписокЗначений; Для Каждого СтрокаТЧ Из МояТЧ Цикл СписокНоменклатуры.Добавить(СтрокаТЧ.Номенклатура1); СписокНоменклатуры.Добавить(СтрокаТЧ.Номенклатура2); СписокНоменклатуры.Добавить(СтрокаТЧ.Номенклатура3); КонецЦикла; Запрос.УстановитьПараметр("СписокНоменклатуры", СписокНоменклатуры); |
|||
20
alex-van1C8
02.07.12
✎
13:06
|
Согласен через СЗ или массив проще.Не знаю чего меня в ТЗ и ВТ потянуло?
|
|||
21
hhhh
02.07.12
✎
13:14
|
(19) можно так
|ГДЕ | КартаРаботПоМатериалу.Номенклатура В (&СписокНоменклатуры1) ИЛИ КартаРаботПоМатериалу.Номенклатура В (&СписокНоменклатуры2) ИЛИ КартаРаботПоМатериалу.Номенклатура В (&СписокНоменклатуры3) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |