Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 01:36

Запрос с итогами по строковой и табличной части документа

Автор t955938, 12 фев 2012, 11:36

0 Пользователей и 1 гость просматривают эту тему.

t955938

Здравствуйте, уважаемые Знатоки!
Имеется документ со строковыми реквизитами; 1) Контрагент; 2) Аванс и табличной частью с реквизитами 1) Номенклатура; 2) Количество.
Хочу составить запрос с итоговыми полями группировки по Номенклатуре и Контрагенту и суммированием по полям Аванс и Количество. Причем сперва должны формироваться итоги по Номенклатуре, т.е. табличному реквизиту, а затем по Контрагенту, т.е. строковому реквизиту.
Проблема заключается в том, что если составляю общий запрос к табличной части документа, то итоги по полю Аванса суммируются с коэффициентом равным количеству строк в табличной части документа. Это и понятно, так как запрос возвращает число строк равное общему количеству строк во всех табличных частях документа и на каждой строке присутствует итоговые данные по Авансу, они и суммируются.
Отчет строю без СКД.
Подскажите, пожалуйста, как правильно решить данную задачу. 

Dethmontt

Сначала суммировать данные Табличных частей превращая их в одну итоговую строку потом соединять с чем тебе там нужно.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

t955938

Спасибо, за ответ!
Но, пожалуйста напишите более подробно, что я делаю не правильно.
ВЫБРАТЬ
   Документ1ТабличнаяЧасть1.Номенклатура КАК Номенклатура,
   Документ1ТабличнаяЧасть1.Ссылка.Контрагенты КАК Контрагенты,
   Документ1ТабличнаяЧасть1.Количество КАК Количество,
   Документ1.Контрагенты КАК Контрагенты1,
   Документ1.Аванс КАК Аванс
ИЗ
   Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1
      ЛЕВОЕ СОЕДИНЕНИЕ Документ.Документ1 КАК Документ1
      ПО Документ1ТабличнаяЧасть1.Ссылка = Документ1.Ссылка
ИТОГИ
   СУММА(Количество),
   СУММА(Аванс)
ПО
   
Номенклатура , Контрагенты

Dethmontt

Не нужно левого соединения.
ВЫБРАТЬ
  Документ1ТабличнаяЧасть1.Номенклатура КАК Номенклатура,
  Документ1ТабличнаяЧасть1.Ссылка.Контрагенты КАК Контрагенты,
  Документ1ТабличнаяЧасть1.Количество КАК Количество,
  Документ1ТабличнаяЧасть1.Ссылка.Аванс КАК Аванс
ИЗ
  Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1
ИТОГИ
  СУММА(Количество),
  СУММА(Аванс)
ПО
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

t955938

Большое спасибо за ответы.
Но проблема в том, что если делать запрос к табличной части документа содержащих несколько строк, то в ответе будут присутствовать строки со всех табличных частей документа и на каждой из них будет присутствовать поля самого документа -  Аванс и Контрагент. В результате при суммировании по полю Аванс значение ошибочное.
Подведем итог. У меня получилось сформировать итоги отдельно для документа и табличной части.  путем объединения  двух запросов, один к табличной части с присвоением 0 графе Аванс, а второй к основной части с присвоением 0 графе Количества.
Завтра, я еще раз все проверю и выложу код на форум.
Я считаю, что в конце обсуждения вопросов на форуме, обязательно необходимо подвести итоги и решения.
Всем спасибо за помощь. До завтра!

t955938

Добрый день!
Подведем итог. У меня получился только  1 вариант. Где, я сделал запрос к табличной форме документа, а затем программно анализировал и считал итоговые поля.
Спасибо организаторам форума и всем тем, кто принимал участие в обсуждении.

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск