Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 16:49

Ошибка в запросе!

Автор Ermak1985, 24 мар 2016, 17:38

0 Пользователей и 1 гость просматривают эту тему.

Ermak1985

Подскажите почему выдает ошибку
{Форма.ФормаОтчета.Форма(99)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
{(12, 2)}: Синтаксическая ошибка "И"
<<?>>И ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель В(&Родитель)


Родители = Новый Массив;
    Родители.Добавить(Справочники.Пользователи.НайтиПоНаименованию(Филиал));
   
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Родитель",Родители);
    Запрос.УстановитьПараметр("АбонентскийУчасток",АбонентскийУчасток);
    Запрос.УстановитьПараметр("Регион",Регион);
    Запрос.УстановитьПараметр("Услуга",Услуга);
    Запрос.УстановитьПараметр("НасПункт",НасПункт);
    Запрос.Текст = "ВЫБРАТЬ
                   |    ИсточникДанных.Услуги КАК Услуга,
                   |    СУММА(ИсточникДанных.СуммаОстаток) КАК КредитКонОст,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель КАК Филиал,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт КАК НасПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес КАК КороткийАдрес
                   |ИЗ
                   |    РегистрНакопления.НачислениеКвартПлатыЛС.Остатки КАК ИсточникДанных
                   |ГДЕ
                   |  " + ?(АбонентскийУчасток.Пустая(), "", "
                   |    ИсточникДанных.ЛицевойСчет.АбонентскийУчасток = &АбонентскийУчасток ") + "
                   |    И ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель В(&Родитель)
                   |  " + ?(НасПункт.Пустая(), "", "
                   |    И ИсточникДанных.ЛицевойСчет.НаселенныйПункт = &НасПункт ") + "
                   |  " + ?(Регион.Пустая(), "", "
                   |    И ИсточникДанных.ЛицевойСчет.Регион = &Регион ") + "
                   |    И ИсточникДанных.Услуги = &Услуга
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ИсточникДанных.Услуги,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес,
                   |    ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ИсточникДанных.Услуги,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес";

   
    Результат = Запрос.Выполнить().Выбрать();

vitasw

Как будет выгледеть секция "Где", когда АбонентскийУчасток - не заполнено?

Luzer1C

Ты бы изначально посмотрел бы как выглядит запрос. А потом бы спрашивал.
Халамбалам.

Ermak1985

Разобрался! Тема закрыта
УсловиеАбонентскийУчасток = ?(АбонентскийУчасток.Пустая(), "", " И ИсточникДанных.ЛицевойСчет.АбонентскийУчасток = &АбонентскийУчасток ");
УсловиеНасПункт = ?(НасПункт.Пустая(), "", " И ИсточникДанных.ЛицевойСчет.НаселенныйПункт = &НасПункт ");
УсловиеРегион = ?(Регион.Пустая(), "", " И ИсточникДанных.ЛицевойСчет.Регион = &Регион ");

Запрос.Текст = "ВЫБРАТЬ
                   |    ИсточникДанных.Услуги КАК Услуга,
                   |    СУММА(ИсточникДанных.СуммаОстаток) КАК КредитКонОст,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель КАК Филиал,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт КАК НасПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес КАК КороткийАдрес
                   |ИЗ
                   |    РегистрНакопления.НачислениеКвартПлатыЛС.Остатки КАК ИсточникДанных
                   |ГДЕ
                   |  ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель В (&Родитель)
                   |" + УсловиеАбонентскийУчасток  + УсловиеНасПункт + УсловиеРегион + "
                   |    И ИсточникДанных.Услуги = &Услуга
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ИсточникДанных.Услуги,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес,
                   |    ИсточникДанных.ЛицевойСчет.АбонентскийУчасток.Родитель
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ИсточникДанных.Услуги,
                   |    ИсточникДанных.ЛицевойСчет,
                   |    ИсточникДанных.ЛицевойСчет.НаселенныйПункт,
                   |    ИсточникДанных.ЛицевойСчет.КороткийАдрес";

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск