|   |   | 
| 
 | Запрос | ☑ | ||
|---|---|---|---|---|
| 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 | 
        где родитель к примеру &этот     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |