8.х В чем ошибка?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем X-Man, 25 май 2007.

  1. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Уважаемые профессионалы. Помогите пожалуйста. я совсем новичок в 8-ке. В чем ошибка в запросе
    ТекстЗапроса="ВЫБРАТЬ
    |Количество(*) как Всего,
    |Справочник.Клиенты.Наименование,
    |Справочник.Клиенты.Имя,
    |Справочник.Клиенты.Отчество
    |ГДЕ
    |(Справочник.Клиенты.Наименование=Наименование) И (Справочник.Клиенты.Имя=Имя) И (Справочник.Клиенты.Отчество=Отчество)";

    Без функции Количество(*) работает, а как только ее добавлю-вываливается ошибка
    шибка при выполнении обработчика - '{Справочник.Клиенты(12)}: Ошибка при вызове метода контекста (Выполнить): {(3, 1)}: Поле не входит в группу "Справочник.Клиенты.Наименование"
    <<?>>Справочник.Клиенты.Наименование,'
    по причине:
    {Справочник.Клиенты(12)}: Ошибка при вызове метода контекста (Выполнить): {(3, 1)}: Поле не входит в группу "Справочник.Клиенты.Наименование"
    <<?>>Справочник.Клиенты.Наименование,

    по причине:
    {(3, 1)}: Поле не входит в группу "Справочник.Клиенты.Наименование"
    <<?>>Справочник.Клиенты.Наименование,
  2. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Ладно, проехали, от этого варианта отказался, сделал вот так(процедура расположена в форме элемента справочника)
    Процедура ПередЗаписью(Отказ)
    Наим=ЭлементыФормы.Наименование.Значение;
    Им=ЭлементыФормы.Имя.Значение;
    Отч=ЭлементыФормы.Отчество.Значение;
    ТекстЗапроса="ВЫБРАТЬ
    |*
    //|Справочник.Клиенты.Наименование,
    //|Справочник.Клиенты.Имя,
    //|Справочник.Клиенты.Отчество
    |ИЗ
    |Справочник.Клиенты
    |ГДЕ
    |(Справочник.Клиенты.Наименование=Наим) И (Справочник.Клиенты.Имя=Им) И (Справочник.Клиенты.Отчество=Отч)";
    Запрос = Новый Запрос(ТекстЗапроса);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Сообщить(Выборка.Количество());
    Отказ = Истина;


    КонецПроцедуры

    Теперь он не понимает что такое Наим, Им, Отч. Что делать?
  3. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Ну почему все молчат:(
  4. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Переделал вот так
    Процедура ПередЗаписью(Отказ)
    Наим=ЭлементыФормы.Наименование.Значение;
    Им=ЭлементыФормы.Имя.Значение;
    Отч=ЭлементыФормы.Отчество.Значение;
    ТекстЗапроса="ВЫБРАТЬ
    |*
    //|Справочник.Клиенты.Наименование,
    //|Справочник.Клиенты.Имя,
    //|Справочник.Клиенты.Отчество
    |ИЗ
    |Справочник.Клиенты
    |ГДЕ
    |(Справочник.Клиенты.Наименование=&Наим) И (Справочник.Клиенты.Имя=&Им) И (Справочник.Клиенты.Отчество=&Отч)";
    Запрос = Новый Запрос(ТекстЗапроса);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Сообщить(Выборка.Количество());
    Отказ = Истина;


    КонецПроцедуры

    Теперь это запрос с параметром. Напишите, что не так. Пишет что параметр неопределен.
  5. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    Как передать значение параметра в запрос?
  6. GunN
    Offline

    GunN

    Регистрация:
    29 дек 2006
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Все просто:
    Запрос.Установитьпараметр("Парам1", Парам1);
  7. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Писал-писал, напрягался-напрягался...А в итоге...
    Хех. Читайте матчасть, господа!
    По запросам есть отличные книги!
    Для начала можно купить Практическое пособие для разработчика.
  8. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Несложные запросы лучше всего делать конструктором, да и сложные тоже :) Там и условия передать можно. А потом все параметры задаются Запрос.УстановитьПараметр("Имя", Значение)

    Рекомендую сначала сделать запрос в консоли отчетов, посмотреть как работает и потом скопировать его в код процедуры, если нужно сначала глянуть какой результат он выдаст.
Похожие темы
  1. Helmut
    Ответов:
    7
    Просмотров:
    1.372
  2. zxcv
    Ответов:
    7
    Просмотров:
    1.052
Загрузка...

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