8.х Ошибка при вызове метода контекста (Выполнить):Синтаксическая ошибка "И"

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем She, 3 сен 2009.

  1. TopicStarter Overlay
    She
    Offline

    She Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    186
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Помогите пожалуйста.
    Делаю обычный отчет при помощи конструктора запроса. хочу , чтобы у меня сортировалось по алфавиту. Получается следующее
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ХозрасчетныйОстатки.Счет,
    | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Счет),
    | ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто1) КАК Номенклатура,
    | ХозрасчетныйОстатки.Субконто1.Код КАК НоменклатураКод,
    | ХозрасчетныйОстатки.Субконто3,
    | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто3) КАК ФизЛицо,
    | ХозрасчетныйОстатки.СуммаОстаток КАК Сумма,
    | ХозрасчетныйОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , , ) КАК ХозрасчетныйОстатки
    |ГДЕ
    | ХозрасчетныйОстатки.Счет = &Счет
    |
    |УПОРЯДОЧИТЬ ПО
    | Субконто1";
    //| И ХозрасчетныйОстатки.Субконто3 = &МОЛ";
    Если Не МОЛ.Пустая() Тогда
    Запрос.Текст = Запрос.Текст + " И ХозрасчетныйОстатки.Субконто3 = &МОЛ";
    КонецЕсли;

    Запрос.УстановитьПараметр("МОЛ", МОЛ);
    Запрос.УстановитьПараметр("Счет", Счет);
    Запрос.УстановитьПараметр("Дата", Дата);

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

    При проверке в режиме 1С Предприятие пишет следующую ошибку.

    {Форма.Отчет1(138)}: Ошибка при вызове метода контекста (Выполнить): {(17, 12)}: Синтаксическая ошибка "И"
    Субконто1 <<?>>И ХозрасчетныйОстатки.Субконто3 = &МОЛ
    Результат = Запрос.Выполнить();


    Помогите как исправить. Или есть другой способ сортировки
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А вы посмотрите, куда вы коннектите строку...
  3. TopicStarter Overlay
    She
    Offline

    She Опытный в 1С

    Регистрация:
    7 ноя 2007
    Сообщения:
    186
    Симпатии:
    0
    Баллы:
    26
    я не совсем понимаю вопроса
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте! Нельзя упорядочить результат запроса по полю отбора.
    Выглядеть запрос будет так:

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

    Извиниете конечно, но я Вам ни верю, конструктор запроса такую ошибку бы не совершил. Как минимум строку
    Код:
    /| И ХозрасчетныйОстатки.Субконто3 = &МОЛ";
    
    Вы добавляли самостоятельно :unsure:

Поделиться этой страницей