Прямой запрос сумма документа основания

1. Jill 17 18.11.14 10:39 Сейчас в теме
Доброго времени суток!
Возникла проблема с получением суммы документа основания.
Усиленное гуглЕние, пока ни к чему не привело.
ЗЫ:
Запрос на 1sqlite, но синтаксис можно предлагать любой - адаптирую.
Конфа ТиС 7.7

Буду благодарен за помощь.

Вот кусок:
	|	SEL ECT
	|		Жур.IdDoc as Докум,
	|		Жур.IdDocDef as ВидДокум
	|	FR OM
	|		[Документ.СчетФактураПолученный] as СФПолуч
	|	INNER JOIN [Журнал] as Жур on (Жур.IdDoc=СФПолуч.IdDoc) and (Жур.date between :ДатаС and :ДатаПо) and (Жур.Closed & 1 = 1)

Пока вижу выход с джойном всех возможных вариантов таблиц документов, которые могут быть основанием, но как то оно сильно не кошерно...
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ёпрст 1063 18.11.14 10:45 Сейчас в теме
на сайте Александра Орефкова (автора вк) , скачайте пример по подчиненным документам.
Там и так всё ясно.
Если че, _1scrdoc табличка нужна.
+
3. Jill 17 18.11.14 10:55 Сейчас в теме
(2) Ёпрст, так то ж не подчиненный.
Это ж основание...
+
4. ivsher 18.11.14 11:15 Сейчас в теме
(3) Jill, Если в документе который вы вводите на основании вашего СчетФактураПолученный есть реквизит с типом Документ.СчетФактураПолученный, то такой документ можно получить через таблицу _1SRCDOC как подчиненный документу СчетФактураПолученный. Если же такого реквизита нет, то в базе никакой связи между этими документами нет. То что вы ввели один документ на основании другого не делает его подчиненным. Подчиненность документов устанавливается с помощью реквизита. Т.е. в документе который вводится на основании другого документа должен быть реквизит с типом Документ, в который и записывается документ основание. Иначе никакой подчиненности не будет.
+
5. Jill 17 18.11.14 11:34 Сейчас в теме
(4) ivsher, это понятно. Только где в моем вопросе сказано, что мне нужно найти сумму подчиненного документа?
Мне нужно получить сумму документа основания. Т.е. в данном конкретном случае это может быть либо ПоступлениеТМЦ, либо возврат от покупателя, либо поступление прочее и т.п. ...
Т.е. каким образом можно получить сумму этих самых Поступлений и т.п. без джойна с таблицей каждого из документов...
+
6. Ёпрст 1063 18.11.14 11:36 Сейчас в теме
Да ё.. по табличке _1scrdoc находите родителя от счет-фактуры, у него смотрите таб часть и суммируете (либо, если это типовая - то просто взять реквизит шапки СуммаВзаиморасчетов)
+
9. Jill 17 18.11.14 11:40 Сейчас в теме
(6) Ёпрст, родителя я могу и по реквизиту найти. Проблема как раз на этапе "у него смотрите таб часть и суммируете (либо, если это типовая - то просто взять реквизит шапки СуммаВзаиморасчетов)"...
+
7. Ёпрст 1063 18.11.14 11:37 Сейчас в теме
А так, один хрен придётся делать либо джоины по количеству документов-оснований, либо один джоин к юниону из таб частей документов-родителей)
+
8. Jill 17 18.11.14 11:38 Сейчас в теме
Подобный вопрос для ясности: у меня есть 1sjournal и мне нужно получить сумму каждого из документов, в котором стоит флаг итога по колонке (ну т.е. можно подхватить из шапки). Чтобы сие проделать мне нужно делать джоин со ВСЕМИ таблицами документов, в которых стоит этот флаг?
Иного пути нет?
+
10. Ёпрст 1063 18.11.14 11:41 Сейчас в теме
какое отношение к этому имеет счет-фактура ?
+
11. Ёпрст 1063 18.11.14 11:42 Сейчас в теме
у счет фактуры - реквизит - ссылка на документ основание - вот у него и надо тупо взять сумму, усё..
+
12. Jill 17 18.11.14 11:46 Сейчас в теме
(11) Ёпрст, именно.
Чет у меня складывается ощущение, что я где-то дико протормаживаю.
Вот как "тупо взять сумму"? Джойнить со всеми возможными документами?
+
13. Ёпрст 1063 18.11.14 11:46 Сейчас в теме
15. Jill 17 18.11.14 12:18 Сейчас в теме
(12) Ёпрст, спасибо!

Понятно.
Я просто надеялся, что можно каким либо образом обойтись без этого... :(
+
14. Ёпрст 1063 18.11.14 11:47 Сейчас в теме
далее тупо coalesce в селекте для получения суммы
+
16. EddL 29.09.17 18:33 Сейчас в теме
Долго он выполняется почему-то
+
17. Jill 17 04.10.17 12:28 Сейчас в теме
(16) давно это было.
Если речь идет о запросе в первом сообщение, то потому что запрос с лишними джойнами и без попадания в индекс.

Вот так он бы выглядел у меня сейчас:
	|SELECT
	|	Жур.IdDoc as [Докум $Документ.СчетФактураПолученный]
	|FROM
	|    [Журнал] as Жур
	|WHERE
	|	(Жур.IdDocDef = :ВидДокумента.СчетФактураПолученный)
	|	and (Жур.date between :ДатаС and :ДатаПо)
	|	and (Жур.Closed & 1 = 1)
Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот