|
Запрос | ☑ | ||
---|---|---|---|---|
0
SH_tan
25.04.14
✎
12:09
|
Добрый день всем, есть табличная часть документа и проверка на вхождение номенклатуры в группу, табличная часть Товары не записана это новый документ Процедура перед записью. Хочу это сделать в виде Запроса если это возможно чтобы он отбирал по всей таблице документа только те поз-ции которые входят в группу помогите плиз. Заранее спасибо!
Приблизительно так, но это не правильно - долго будет если строк будет много.... Для Каждого СтрТ Из Товары Цикл Если СОКРЛП(СтрТ.Номенклатура.Родитель.Код) = "1111" Тогда //проверим кратность коробок ИначеЕсли СОКРЛП(СтрТ.Номенклатура.Родитель.Код) = "2222" Тогда //проверим кратность коробок ИначеЕсли СОКРЛП(СтрТ.Номенклатура.Родитель.Код) = "3333" Тогда //проверим кратность коробок ИначеЕсли СОКРЛП(СтрТ.Номенклатура.Родитель.Код) = "4444" Тогда //проверим кратность коробок КонецЕсли; КонецЦикла; |
|||
1
VikingKosmo
25.04.14
✎
12:10
|
Если нужен запрос именно к ТЧ документа, то выгрузи ТЧ в ТЗ, а ТЗ уже передай в запрос параметром.
|
|||
2
SH_tan
25.04.14
✎
12:11
|
(1) а как в запросе параметром подскажи...
|
|||
3
SH_tan
25.04.14
✎
12:11
|
(1) с запросами тяжко
|
|||
4
Wobland
25.04.14
✎
12:13
|
расстрелять. потом воскресить и заставить сформулировать цель, из которой произошла эта вакханалия с родителями
|
|||
5
Ёпрст
25.04.14
✎
12:13
|
Выбрать
Вася,Федя Поместить табличка ИЗ $ТЗ как ТЗ ; Выбрать * ИЗ табличка |
|||
6
SH_tan
25.04.14
✎
13:59
|
(1)(5) сделал так и он дает ошибку
ТЗ = Новый ТаблицаЗначений; ТЗ = Товары.Выгрузить(); ЗапросПоТоварам = Новый Запрос(); ЗапросПоТоварам.Текст = "ВЫБРАТЬ * |ИЗ | ТЗ"; Результат = ЗапросПоТоварам.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл А = 1; КонецЦикла; Таблица не найдена "ТЗ" |
|||
7
SH_tan
25.04.14
✎
14:00
|
Таблица не найдена "ТЗ"
<<?>>ТЗ |
|||
8
SH_tan
25.04.14
✎
14:03
|
по мойму разобрался
|
|||
9
Wobland
25.04.14
✎
14:04
|
(8) перепроверь
|
|||
10
SH_tan
25.04.14
✎
14:55
|
что делаю не правильно
ТЗ = Новый ТаблицаЗначений; ТЗ = Товары.Выгрузить(); МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ЗапросТЗ = Новый Запрос; ЗапросТЗ.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; ЗапросТЗ.УстановитьПараметр("ТЗ" , ТЗ); ЗапросТЗ.Текст = "ВЫБРАТЬ * |ПОМЕСТИТЬ ИтоговаяТаблица |ИЗ |&ТЗ КАК ТЗ"; ЗапросИтог = Новый Запрос; ЗапросИтог.Текст = "Выбрать * |ИЗ |ИтоговаяТаблица"; Результат = ЗапросИтог.Выполнить(); РезультатЗапроса=Результат.Выбрать(); Пока РезультатЗапроса.Следующий() Цикл а = 1; КонецЦикла; |
|||
11
VikingKosmo
25.04.14
✎
14:57
|
(10) Не надо тут ни каких МВТ, делай временную таблицу:
"ВЫБРАТЬ * |ПОМЕСТИТЬ ИтоговаяТаблица |ИЗ |&ТЗ КАК ТЗ |; |Выбрать * |ИЗ |ИтоговаяТаблица"; |
|||
12
Ёпрст
25.04.14
✎
14:59
|
(10) создаешь новый объект типа Запрос, который ничего не знает, что есть ИтоговаяТаблица.
|
|||
13
Wobland
25.04.14
✎
15:00
|
а выбрать звезда из тз взлетает?
|
|||
14
Ёпрст
25.04.14
✎
15:03
|
(13) да, только конструктор не переваривает
|
|||
15
Ёпрст
25.04.14
✎
15:04
|
ему колоночки подавай.. :)
|
|||
16
Wobland
25.04.14
✎
15:05
|
(15) у меня один падаван был в восторге от того, что ему больше не нужно было описывать типы всех полей ТЗ в конструкторе
|
|||
17
SH_tan
25.04.14
✎
15:06
|
вот так сделал СПАСИБО всем!!!
ТЗ = Новый ТаблицаЗначений; ТЗ = Товары.Выгрузить(); ЗапросИтог = Новый Запрос; ЗапросИтог.УстановитьПараметр("ТЗ",ТЗ); ЗапросИтог.Текст = "ВЫБРАТЬ * |ПОМЕСТИТЬ ИтоговаяТаблица |ИЗ |&ТЗ КАК ТЗ |; |Выбрать * |ИЗ |ИтоговаяТаблица"; Результат = ЗапросИтог.Выполнить(); РезультатЗапроса=Результат.Выбрать(); Пока РезультатЗапроса.Следующий() Цикл а = 1; КонецЦикла; |
|||
18
Wobland
25.04.14
✎
15:08
|
обидно будет, если кто-то незаметно элемент мышкой переткнёт в другую группу, правда?
|
|||
19
SH_tan
25.04.14
✎
15:26
|
(18) согласен
|
|||
20
SH_tan
25.04.14
✎
15:27
|
а вот еще один вопрос как выбрать только те у которых родитель к примеру "1111"
РезультатЗапроса.Номенклатура.Родитель.Код |
|||
21
VikingKosmo
25.04.14
✎
15:28
|
условие написать в запросе
|
|||
22
Wobland
25.04.14
✎
15:28
|
где родитель к примеру &этот
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |