Вход | Регистрация


1С:Предприятие ::

Метки:

Запрос для Отборочного листа

Я
   vadim777
 
13.09.17 - 19:46
Конфигурация УТ 2.3 (русская 10). Для документа ЗаказПокупателя делаю макет "Отборочный лист", застопорился на запросе. В запросе нужно группировать по полю товара НоменклатурнаяГруппа типа СправочникСсылка.НоменклатурныеГруппы. В "Консоли отчетов" сделал отчет:
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка,
    ЗаказПокупателя.Представление,
    ЗаказПокупателя.Товары.(
        Номенклатура.НоменклатурнаяГруппа,
        ПРЕДСТАВЛЕНИЕ(ЗаказПокупателя.Товары.Номенклатура.НоменклатурнаяГруппа),
        Номенклатура,
        ПРЕДСТАВЛЕНИЕ(ЗаказПокупателя.Товары.Номенклатура),
        Количество
    )
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Товары.(Номенклатура.НоменклатурнаяГруппа,
    Номенклатура,
    Количество)
При сохранении отчета выдается ошибка "Ошибка при установке значения атрибута контекста (Текст) {(4,2)}: Группировка по таблицам верхнего уровня и вложенным таблицам <<?>>ЗаказПокупателя.Товары.(
Где ошибка в запросе?
 
  Рекламное место пустует
   AlvlSpb
 
1 - 13.09.17 - 20:36
(0) Посмотрите в консоли, что возвращает вам вот этот фрагмент
ЗаказПокупателя.Товары.(
        Номенклатура.НоменклатурнаяГруппа,
        ПРЕДСТАВЛЕНИЕ(ЗаказПокупателя.Товары.Номенклатура.НоменклатурнаяГруппа),
Это будет Результат запроса, естественно по нему сгруппировать невозможно.
Обращайтесь в запросе к таблице ЗаказПокупателя.Товары, а остальные поля из дока вытаскивайте через Ссылку
   Радим1987
 
2 - 13.09.17 - 21:07
ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка КАК Ссылка,
    ЗаказКлиентаТовары.ДатаОтгрузки КАК ДатаОтгрузки,
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
    ЗаказКлиентаТовары.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    ЗаказКлиентаТовары.Ссылка.Партнер КАК Партнер,
    ЗаказКлиентаТовары.Ссылка.Контрагент КАК Контрагент
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары

СГРУППИРОВАТЬ ПО
    ЗаказКлиентаТовары.НоменклатурнаяГруппа,
    ЗаказКлиентаТовары.Ссылка,
    ЗаказКлиентаТовары.ДатаОтгрузки,
    ЗаказКлиентаТовары.Номенклатура,
    ЗаказКлиентаТовары.Ссылка.Партнер,
    ЗаказКлиентаТовары.Ссылка.Контрагент
   vadim777
 
3 - 13.09.17 - 21:14
(2) В твоем примере все просто и понятно. А что мне Консоль отчетов нагородила?
   Радим1987
 
4 - 13.09.17 - 21:29
Группировка по полям табличных частям нельзя, когда есть верхний уровень
   vadim777
 
5 - 13.09.17 - 21:54
(4) Хотелось бы почитать про этот верхний уровень.
То есть, вот так сделать нельзя ?:
Выбрать
    ЗаказПокупателя.Ссылка Как Ссылка,
    ЗаказПокупателя.Товары.Номенклатура.НоменклатурнаяГруппа Как НоменклатурнаяГруппа,
     ЗаказПокупателя.Товары.Номенклатура Как Номенклатура,
     ЗаказПокупателя.Товары.Количество Как Количество
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
СГРУППИРОВАТЬ ПО
    НоменклатурнаяГруппа,
    Номенклатура
   vadim777
 
6 - 14.09.17 - 07:49
(5) Попробовал следующий запрос выполнить в Консоли, получил ошибку:

ВЫБРАТЬ
    ЗаказПокупателя.Ссылка,
    ЗаказПокупателя.Товары.Номенклатура.НоменклатурнаяГруппа,
    ЗаказПокупателя.Товары.Номенклатура,
    ЗаказПокупателя.Товары.Количество
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Товары.Номенклатура

{Обработка.КонсольОтчетов.Форма.Форма.Форма(712)}: Ошибка при вызове метода контекста (ПолучитьЗапрос)
    Если ПостроительОтчетов.ПолучитьЗапрос().Текст = "" Тогда
по причине:
{(3, 2)}: Группировка по таблицам верхнего уровня и вложенным таблицам
<<?>>ЗаказПокупателя.Товары.Номенклатура.НоменклатурнаяГруппа,

В чем ошибка?
   1dvd
 
7 - 14.09.17 - 08:21
(6) делай как в (2), что упёрся?

никогда не любил такие конструкции:

ЗаказПокупателя.Товары.(

В большинстве случаев результат будет не таким, какой ожидаешь
   catena
 
8 - 14.09.17 - 08:51
(6)А вы смысл группировки в указанном запросе можете объяснить?
   vadim777
 
9 - 14.09.17 - 16:40
(8) В документе ЗаказПокупателя делается новая форма "Отборочный лист" - для формирования заказа на складе. Товары в нем сгруппированы по номенклатурным группам:
№        Артикул        Товар                                                                                Количество
        Левша
1        0133        Секатор диаметр 20мм, ЦИ                                                                                2            шт
1        0233        Секатор диаметр 25мм, ЦИ                                                                                1            шт
3        3906-300-24-10P        Упаковка полотен по металу, 300мм, 24 зуб/дюйм
2            шт        
        Topex
4        27C345        Рулетка 5 м х 25 мм, 6            шт
        PROSPERPLAST
5        N22RPAA        N22RPAA - ЯЩИК ДЛЯ ИНСТРУМЕНТОВ FIREBIRD ЧЕРНЫЙ 22"(550*267*277)                                                                                1            шт
   catena
 
10 - 15.09.17 - 05:29
(9)Вы, видимо, перепутали группировку и итоги.
 
  Рекламное место пустует
   vadim777
 
11 - 15.09.17 - 06:54
(10)Да нет, ничего не перепутал. В клюшках так это работает.
   catena
 
12 - 15.09.17 - 07:25
(11)Я думаю, что все-таки, то, чем вы хотите заниматься, реализуется через итоги в запросе и выборкой с обходом по группировкам. А не группированием в запросе недублируемых строк без единой агрегатной функции.
   vadim777
 
13 - 15.09.17 - 07:52
(12) catena, хочу, очень хочу.
   vadim777
 
14 - 20.09.17 - 06:21
(9) up
   catena
 
15 - 20.09.17 - 06:34
(14)Чего "ап"? Чем (2) не подходит?
   vadim777
 
16 - 20.09.17 - 06:45
(15) В (2) НоменклатурнаяГруппа - реквизит товарной части ЗаказыКлиента. У меня - реквизит самой номенклатуры.
   МимохожийОднако
 
17 - 20.09.17 - 06:47
(16) Ну,так замени на ...Номенклатура.НоменклатурнаяГруппа
   vadim777
 
18 - 20.09.17 - 06:49
(17) см. (6)
   Zmich
 
19 - 20.09.17 - 07:20
(18). При чем здесь (6)? Замени в (2) на ЗаказКлиентаТовары.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
   vadim777
 
20 - 20.09.17 - 07:33
(19) Делал. В (6) текст запроса приведен без КАК. С КАК то же самое.
   Zmich
 
21 - 20.09.17 - 07:40
(20). Ты разницу видишь между "ЗаказКлиентаТовары.Номенклатура.НоменклатурнаяГруппа" и "ЗаказКлиента.Товары.Номенклатура.НоменклатурнаяГруппа"?
   catena
 
22 - 20.09.17 - 07:55
(20)Не делал. В (6) запрос к документу, а в (2) запрос к табличной части документа!
   vadim777
 
23 - 20.09.17 - 20:01
(22) Вот такой запрос в Консоли сконструировал, который заработал:
ВЫБРАТЬ
    ЗаказПокупателяТовары.Ссылка КАК Ссылка,
    ЗаказПокупателяТовары.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    ЗаказПокупателяТовары.Номенклатура.Артикул КАК Артикул,
    ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
    ЗаказПокупателяТовары.Количество КАК Количество
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ГДЕ
    ЗаказПокупателяТовары.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
    ЗаказПокупателяТовары.Ссылка,
    ЗаказПокупателяТовары.Номенклатура.НоменклатурнаяГруппа,
    ЗаказПокупателяТовары.Номенклатура.Артикул,
    ЗаказПокупателяТовары.Номенклатура,
    ЗаказПокупателяТовары.Количество

УПОРЯДОЧИТЬ ПО
    НоменклатурнаяГруппа,
    Артикул,
    Номенклатура,
    Количество
ИТОГИ ПО
    НоменклатурнаяГруппа
Как вывести результат запроса, в виде как в (9) - чтобы Номенклатурная группа была в отдельной строке?



Список тем форума
Рекламное место пустует   Рекламное место пустует
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует