8.х вопрос по запросу во внешней обработке

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем alex251, 22 окт 2010.

  1. TopicStarter Overlay
    alex251
    Offline

    alex251

    Регистрация:
    22 окт 2010
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Есть внешняя обработка с ТЧ и полями Код, Направление и Цена. Данные загружаю с текстового файла. Нужно сделать запрос с выборкой данных для получения результата в виде таблички данных с сортировкой по Направлению и Цена или табличку с групировкой по полю Направление (чтобы строчки не повторялись). Пробую через менеджервременныхтаблиц. Выгрузка идет но вот только ругается если пробую сделать групировку или упорядочить (отсортировать)
  2. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    В студию:
    1. Код, которым вы всё это делаете (оформленный тегом "
    Код:
    ")
    2. Цитату, как ругается 1С (с цензурой, если ругается слишком грязно)
  3. TopicStarter Overlay
    alex251
    Offline

    alex251

    Регистрация:
    22 окт 2010
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Вот запрос:
    Код:
     Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст = "Выбрать * Поместить ВременнаяТаблица из &ТЧ Как ВнешнийИсточник";    Запрос.УстановитьПараметр("ТЧ",ТЧ);
    Запрос.Выполнить();
    Запрос.Текст = "Выбрать  
    |ВременнаяТаблица.Код, 
    |ВременнаяТаблица.Направление, 
    |ВременнаяТаблица.Цена 
    | Из ВременнаяТаблица  
    | Сгруппировать По  ВременнаяТаблица.Направление";
    Результат = Запрос.Выполнить().Выгрузить();
    
    Вот само ругательство
    "Ошибка времени выполнения.
    {Форма.Форма(63)}:Ошибка при вызове метода контекста (Выполнить): Недопустимое поле для группировки "Направление".
    Сгрупировать По <<?>>ВременнаяТаблица.Направление в модуле Форма.Форма, строка 63"
  4. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Видимо, направление - это текстовое поле неограниченной длины. Нужно тогда явно привести тип к ограниченной длине.
  5. TopicStarter Overlay
    alex251
    Offline

    alex251

    Регистрация:
    22 окт 2010
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Сделал поля: все текстовые, фиксированные 100 символов
    теперь ругает:
    "Ошибка времени выполнения.
    {Форма.Форма(63)}:Ошибка при вызове метода контекста (Выполнить): Поле не входит в группу "ВременнаяТаблица.Код"
    <<?>>ВременнаяТаблица.Код в модуле Форма.Форма, строка 63"

    Удалось все сделать после того, как в группировке указал все поля.
    | Сгруппировать По ВременнаяТаблица.Направление, ВременнаяТаблица.Цена,ВременнаяТаблица.Код"
  6. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так, елки-палки, все верно!
    Вы указали группировку по одному полю - а какие агрегатные функции для других полей должны выполниться?
    Поэтому, когда указали все поля - у вас и результат-то даже не изменился...
  7. TopicStarter Overlay
    alex251
    Offline

    alex251

    Регистрация:
    22 окт 2010
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    хочется получить сортировку записей по следующему критерию:
    1.Направление
    2.Цена.
    Код не важен, поэтому стоит в последним значением.

    Еще вопросик, как сделать ещё выборку записей по направлению, чтобы они не повторялись???
  8. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    
    
  9. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Дык при чем тут группировка? Вам нужна сортировка и различные...

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