8.х Как правильно сгруппировать

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

  1. TopicStarter Overlay
    StarLight
    Offline

    StarLight Опытный в 1С

    Регистрация:
    28 июл 2009
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    У меня есть такой запрос:

    Код:
          ВЫБРАТЬ
    РН.Номер,
    РНТ.НомерСтроки,
    РНТ.Цена,
    Номенклатура.Наименование,         
    Номенклатура.ЕдИзм,
    Номенклатура.Весовой
    ИЗ
    Документ.РасходнаяНакладная КАК РН,
    Документ.РасходнаяНакладная.Товары КАК РНТ
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    ПО РНТ.Товар = Номенклатура.Ссылка
    
    ГДЕ 
    Дата >= ДАТАВРЕМЯ(2008, 12, 1) и Дата <= ДАТАВРЕМЯ(2008, 12, 31) 
    СГРУППИРОВАТЬ ПО 
    РН.Номер,
    РНТ.НомерСтроки 
    
    Как мне правильно сделать группировку? Потому что так, как написала я не проходит номер :unsure:
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Так, как у Вас написано вообще работать не должно:)
    Во-первых, группировать данные имеет смысл только при наличии агрегатных функций. В любом случае количество группировок должно быть равно количеству выбираемых полей за минусом агрегатных функций. То есть в Вашем случае, если использовать группировки, нужно группировать по всем 6 полям. Хотя здесь лучше использовать упорядочивание.
    Во-вторых, не связаны таблицы Документ.РасходнаяНакладная и Документ.РасходнаяНакладная.Товары.
    В-третьих, условие по дате вообще ни к чему не привязано.
    В-четвертых, все данные, которые Вы пытаетесь получить можно выдернуть из одной таблицы без всяких соединений.
    Например, нужно получить содержимое табличных частей "Товары" всех документов "РасходнаяНакладная" за декабрь 2008 года. Упорядочить по номеру документа и номеру строки.
    Код:
    ВЫБРАТЬ
    РНТ.Ссылка.Номер КАК Номер,
    РНТ.НомерСтроки КАК НомерСтроки,
    РНТ.Цена КАК Цена,
    РНТ.Товар.Наименование КАК Номенклатура,
    РНТ.Товар.ЕдИзм КАК ЕдиницаИзмерения,
    РНТ.Товар.Весовой КАК Весовой
    ИЗ
    Документ.РасходнаяНакладная.Товары КАК РНТ
    ГДЕ
    РНТ.Ссылка.Дата >= ДАТАВРЕМЯ(2008, 12, 1)
    И РНТ.Ссылка.Дата <= ДАТАВРЕМЯ(2008, 12, 31, 23, 59, 59)
    УПОРЯДОЧИТЬ ПО
    Номер,
    НомерСтроки
    
    
    P.S. Даты для условия лучше вынести в параметры запроса.
  3. TopicStarter Overlay
    StarLight
    Offline

    StarLight Опытный в 1С

    Регистрация:
    28 июл 2009
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    РНТ.Товар.Весовой - не входят в таблицу значений, так же как и ЕдиницаИзмерения. Поэтому так то же не работает
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Им и не нужно туда входить. Достаточно, чтобы колонка "Товар" в табличной части "Товары" содержала ссылку на справочник "Номенклатура". Покажите структуру документа, если не работает.
  5. TopicStarter Overlay
    StarLight
    Offline

    StarLight Опытный в 1С

    Регистрация:
    28 июл 2009
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    а как это сделать?
  6. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Можно скриншотом, а лучше Конфигурация - Сохранить конфигурацию в файл... Потом здесь cf выложить
  7. TopicStarter Overlay
    StarLight
    Offline

    StarLight Опытный в 1С

    Регистрация:
    28 июл 2009
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    [​IMG]
    Так?
    В Табличной части Товары есть ссылка СправочникСсылка.Номенклатура.
    Но все равно не получается(
  8. LxS
    Offline

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

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Например, так:
    Код:
    ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения,
    РеализацияТоваровУслугТовары.Номенклатура.Весовой,
    РеализацияТоваровУслугТовары.Цена
    ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения,
    РеализацияТоваровУслугТовары.Номенклатура.Предопределенный,
    РеализацияТоваровУслугТовары.Цена
    
    
  9. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Если реквизит "Товар" в табличной части - это ссылка на справочник "Номенклатура", то все должно работать. Какая ошибка появляется? Покажите еще структуру справочника "Номенклатура", может имена реквизитов в нем просто не совпадают с именами в запросе?
  10. TopicStarter Overlay
    StarLight
    Offline

    StarLight Опытный в 1С

    Регистрация:
    28 июл 2009
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Спасиб))) я уже разобралась и нашла свои ошибки :unsure:

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