Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Группировка по родителю (число прочтений - 1103 )
OnePrg
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 66
Зарегистрирован: 07. Октября 2019
Группировка по родителю
24. Апреля 2020 :: 13:19
Печать  
SELECT
          Реализация.Товар.ParentID  as [Товар $Справочник.Товар],
          Реализация.Период as Период,
          Реализация.МестоХранения.ParentID as [Склад $Справочник.МестаХранения],
          SUM(Реализация.СуммаОборот) as Сумма,
          SUM(Реализация.СуммаУчетнаяОборот) as СуммаУчетная
     FROM .... AS Реализация
     GROUP BY
          Реализация.Товар.ParentID,
          Реализация.Период,
          Реализация.МестоХранения.ParentID

Не удалось вызвать методы для char

В чём ошибка?
  
Наверх
 
IP записан
 
Sserj
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 25. Октября 2010
Re: Группировка по родителю
Ответ #1 - 24. Апреля 2020 :: 23:42
Печать  
Ошибка в том что SQL сервер ничего не знает о типах Товар и МестоХранения. Это 1С о них знает и за программиста расшифровывает что такое Реализация.Товар.ParentID и Реализация.МестоХранения.ParentID.
Так что нужно руками:
SELECT
  сТовары.parentid
  , сСклады.parentid
FROM .... AS Реализация
left join $Справочник.Номенклатаура as сТовары
on Реализация.Товар = сТовары.id
left join $Справочник.Склады as сСклады
on Реализация.МестоХранения = сСклады.id
  
Наверх
 
IP записан
 
OnePrg
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 66
Зарегистрирован: 07. Октября 2019
Re: Группировка по родителю
Ответ #2 - 27. Апреля 2020 :: 05:49
Печать  
Пробовал и так

SELECT
          ТоварРодитель.Code as Товар,
          Реализация.Период as Период,
          МестаХраненияРодитель.Code as Склад,
          SUM(Реализация.СуммаОборот) as Сумма,
          SUM(Реализация.СуммаУчетнаяОборот) as СуммаУчетная
     FROM
         нения),(Сумма,СуммаУчетная)) AS Реализация
     LEFT JOIN
         $Справочник.Товар as ТоварРодитель
          ON ТоварРодитель.ID = Реализация.Товар.ParentID
     LEFT JOIN
         $Справочник.МестаХранения as МестаХраненияРодитель
          ON МестаХраненияРодитель.ID = Реализация.МестоХранения.ParentID
     GROUP BY
          ТоварРодитель.Code,
          Реализация.Период,
          МестаХраненияРодитель.Code

Та же ошибка


P.S.

Понял свою ошибку. Вот так получилось


SELECT
          сТовар.ParentID as Товар,
          Реализация.Период as Период,
          сМестаХранения.ParentID as Склад,
          SUM(Реализация.СуммаОборот) as Сумма,
          SUM(Реализация.СуммаУчетнаяОборот) as СуммаУчетная
     FROM
         нения),(Сумма,СуммаУчетная)) AS Реализация
     LEFT JOIN
         $Справочник.Товар as сТовар
          ON сТовар.ID = Реализация.Товар
     LEFT JOIN
         $Справочник.МестаХранения as сМестаХранения
          ON сМестаХранения.ID = Реализация.МестоХранения
     GROUP BY
          сТовар.ParentID,
          Реализация.Период,
          сМестаХранения.ParentID

Спасибо.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать