|   |   | 
| 
 | Отбор в ПостроительЗапроса | ☑ | ||
|---|---|---|---|---|
| 0
    
        Pro100 22.10.13✎ 11:36 | 
        Пытаюсь добавить отбор в ПостроительЗапроса и 1С выдает ошибку:
 ВнешняяОбработка.абс.МодульОбъекта(463)}: Ошибка при вызове метода контекста (Добавить) ЭлемОтбораЗапроса = Запрос.Отбор.Добавить(ЭлементОтбора.ПутьКДанным); по причине: Недопустимое значение параметра (параметр номер '1') Вот кусок кода: Запрос = Новый ПостроительЗапроса; Запрос.Текст = "ВЫБРАТЬ " + ТекСтрока.ИмяТаблицы +".*"; Запрос.ЗаполнитьНастройки(); Запрос.Отбор.УстановитьДоступныеПоля(СтрокаТЗ.Отбор.ПолучитьДоступныеПоля()); Для Каждого ЭлементОтбора ИЗ СтрокаТЗ.Отбор Цикл ЭлемОтбораЗапроса = Запрос.Отбор.Добавить(ЭлементОтбора.ПутьКДанным); ЗаполнитьЗначенияСвойств(ЭлемОтбораЗапроса,ЭлементОтбора); КонецЦикла; РезультатЗапросаТЗ = Запрос.Результат.Выгрузить(); Подскажите пожалуйста, что не нравится 1С, не пойму. Отбор выставляю на форме по ИНН контрагента | |||
| 1
    
        Pro100 22.10.13✎ 11:50 | 
        Есть кто пользовался ПостроителемЗапроса?     | |||
| 2
    
        User_Agronom 22.10.13✎ 11:52 | 
        А текст запроса без ошибок?     | |||
| 3
    
        Defender aka LINN 22.10.13✎ 11:52 | 
        (0) Построитель, конечно, поумнее многих одинэснегов, но даже он не способен понять, что от него хотят с текстом запроса "Выбрать Контрагенты.*"     | |||
| 4
    
        User_Agronom 22.10.13✎ 11:53 | 
        Поставь прерывание на строку Запрос.ЗаполнитьНастройки();
 И скинь сюда значение Запрос.Текст | |||
| 5
    
        Defender aka LINN 22.10.13✎ 11:53 | 
        (4) А без этого не понятно, что ли?     | |||
| 6
    
        Pro100 22.10.13✎ 11:54 | 
        2) Текст запроса без ошибок это 100 %
 3) Вот текст запроса в отладчике: Выбрать Справочник.Контрагенты.* Попрбуйте его, уверяю вас, что он выдает все записи справочника )) | |||
| 7
    
        User_Agronom 22.10.13✎ 11:54 | 
        (5) У меня неи такого навыка телепатии. Кто ж знает что хранит ТекСтрока.ИмяТаблицы     | |||
| 8
    
        Fragster модератор 22.10.13✎ 11:54 | 
        (3) выбрать справочник.контрагенты.* работает     | |||
| 9
    
        Defender aka LINN 22.10.13✎ 11:55 | 
        (6) Да что ты говоришь...     | |||
| 10
    
        User_Agronom 22.10.13✎ 11:56 | 
        (9) В консоли отчетов действительно сработал.     | |||
| 11
    
        Fragster модератор 22.10.13✎ 11:56 | 
        (9) инфа 146%     | |||
| 12
    
        Pro100 22.10.13✎ 11:56 | 
        (7) Текст запроса дан в (6)
 (9)Не понял шутку, если вы знаете, что такой текст запроса выдает, то откуда тогда вопрос (3) ?? Или переделать на обычный запрос: выбрать * ИЗ Справочник.Контрагенты как Контрагенты и тогда в отборе нормально сработает метод Добавить? | |||
| 13
    
        Defender aka LINN 22.10.13✎ 11:57 | 
        В любом случае, путь к отбору неправильный, о чем какбе символизирует текст ошибки     | |||
| 14
    
        User_Agronom 22.10.13✎ 11:58 | 
        (12) Переделать. И указать не "*", а конкретные поля     | |||
| 15
    
        User_Agronom 22.10.13✎ 11:59 | 
        Попробуй открыть этот запрос конструктором. Он живо его перекрутит. А построитель отчета этого перекрутить не умеет.     | |||
| 16
    
        Fragster модератор 22.10.13✎ 11:59 | 
        Выбрать * Из &_Таблица КАК Таблица {ГДЕ Таблица.Ссылка.* КАК Ссылка}     | |||
| 17
    
        Fragster модератор 22.10.13✎ 12:00 | 
        Построитель.Текст = СтрЗаменить(ТЗ, "&_Таблица", Метаданные.ПолноеИмя)     | |||
| 18
    
        Feunoir 22.10.13✎ 12:02 | 
        Построитель запроса сам в этом случае разворачивает запрос в нормальный. Можно посмотреть в консоли запросов. И если в отбор там-же добавить поле, то получается нормально. А вот что ТС пытается добавить в ЭлементОтбора.ПутьКДанным не очень понятно.     | |||
| 19
    
        vhl 22.10.13✎ 12:07 | 
        (0) ЭлемОтбораЗапроса = Запрос.Отбор.Добавить(""+ЭлементОтбора.ПутьКДанным);     | |||
| 20
    
        vhl 22.10.13✎ 12:10 | 
        Ну и текст запроса конечно должен быть чем то вроде:    
 "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |{ГДЕ | Контрагенты..*}"; | |||
| 21
    
        Pro100 22.10.13✎ 12:12 | 
        Сейчас буду пробовать что написали, всем пока спасибо )     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |