Имя: Пароль:
1C
 
Синтаксическая ошибка в запросе
0 Eeelena
 
28.10.14
07:14
Ребята, помогите при выполнении вылазит ошибка {Форма.ФормаОтчета.Форма(69)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(31, 28)}: Синтаксическая ошибка "|ИТОГИ"
НЕ Контрагенты.ЭтоГруппа<<?>>|ИТОГИ ПО

Текст запроса:
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтактнаяИнформация.Объект КАК Объект,
    |    КонтактнаяИнформация.Представление,
    |    КонтактнаяИнформация.Тип
    |ПОМЕСТИТЬ втКИ
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
    |            ИЛИ КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Объект
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Контрагенты.Ссылка КАК Контрагент,
    |    ЕСТЬNULL(Адрес.Представление, "" "") КАК Адрес,
    |    ЕСТЬNULL(Телефон.Представление, "" "") КАК Телефон,
    |    Контрагенты.НаименованиеПолное КАК Наименование
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |        ЛЕВОЕ СОЕДИНЕНИЕ втКИ КАК Телефон
    |        ПО Контрагенты.Ссылка = Телефон.Объект
    |            И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
    |        ЛЕВОЕ СОЕДИНЕНИЕ втКИ КАК Адрес
    |        ПО Контрагенты.Ссылка = Адрес.Объект
    |            И (Адрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
    |ГДЕ
    |   НЕ Контрагенты.ЭтоГруппа";

    
    Если ЗначениеЗаполнено(Группа) Тогда
    Запрос.УстановитьПараметр("Группа",Группа);
       Запрос.Текст=Запрос.Текст+"|И Контрагенты.Ссылка В ИЕРАРХИИ (&Группа)";
    КонецЕсли;
  
    Если ЗначениеЗаполнено(ПолеВвода1) Тогда
    Запрос.УстановитьПараметр("Список",ПолеВвода1);    
       Запрос.Текст=Запрос.Текст+"|И Контрагенты.Ссылка В ИЕРАРХИИ (&Список)";
    КонецЕсли;

    Запрос.Текст=Запрос.Текст+"|ИТОГИ ПО
                               |    Контрагент ";
                               |АВТОУПОРЯДОЧИВАНИЕ";
    
    Результат = Запрос.Выполнить();
1 mehfk
 
28.10.14
07:15
Запрос.Текст=Запрос.Текст+"|ИТОГИ ПО
                               |    Контрагент ";
                               |АВТОУПОРЯДОЧИВАНИЕ";
-->
Запрос.Текст=Запрос.Текст+"ИТОГИ ПО
                               |    Контрагент ";
                               |АВТОУПОРЯДОЧИВАНИЕ";
2 mehfk
 
28.10.14
07:16
И во всех других местах тоже. Не нужна "палочка" сразу после кавычек, открывающих строковую константу.
3 Eeelena
 
28.10.14
07:20
(2) палочки убрала
Если ЗначениеЗаполнено(Группа) Тогда
    Запрос.УстановитьПараметр("Группа",Группа);
       Запрос.Текст=Запрос.Текст+"И Контрагенты.Ссылка В ИЕРАРХИИ (&Группа)";
    КонецЕсли;
  
    Если ЗначениеЗаполнено(ПолеВвода1) Тогда
    Запрос.УстановитьПараметр("Список",ПолеВвода1);    
       Запрос.Текст=Запрос.Текст+"И Контрагенты.Ссылка В ИЕРАРХИИ (&Список)";
    КонецЕсли;

    Запрос.Текст=Запрос.Текст+"ИТОГИ ПО
                               |    Контрагент
                               |АВТОУПОРЯДОЧИВАНИЕ";
    
    Результат = Запрос.Выполнить();

все равно ошибка теперь немного другая {Форма.ФормаОтчета.Форма(69)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(31, 34)}: Синтаксическая ошибка "ПО"
НЕ Контрагенты.ЭтоГруппаИТОГИ <<?>>ПО
4 vicof
 
28.10.14
07:22
Пробел забыла
5 Sasha_Rapira
 
28.10.14
07:24
НЕ Контрагенты.ЭтоГруппа(!!)ИТОГИ
6 Eeelena
 
28.10.14
07:25
(4) сори, это я не внимательная)) спасибо вам за помощь, все заработало)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.