1С 7.7 прямой запрос к реквизиту "Документ" (любой вид)
Привет!
Помогите, плз, обойти грабли с реквизитом справочника типа документ любого вида
Есть справочник ПоставкиОплаты, в котором реквизит "Оплата" вида "Документ".
Есть прямой запрос:
Не работает связка JOIN $Справочник.ПоставкиОплаты as Спр ON $Спр.Оплата = Жур.IDDoc
Если в справочнике Оплаты сделать реквизит Оплата не произвольного вида, а конкретного, например, "Документ.СтрокаВыпискиРасход", то запрос работает.
Как выкручиваться? Спасибо!
Помогите, плз, обойти грабли с реквизитом справочника типа документ любого вида
Есть справочник ПоставкиОплаты, в котором реквизит "Оплата" вида "Документ".
Есть прямой запрос:
|SELECT
| Жур.IDDoc as ДокументОплаты,
| Жур.IDDocDef as Док_вид,
| $ДокументОплаты.Сумма as Сумма,
| $Спр.Оплата as Оплата,
| SUM($Спр.СуммаОплаты) AS Распределено
|FROM
| _1SJourn Жур
|INNER JOIN
| $Документ.СтрокаВыпискиРасход as ДокументОплаты ON ДокументОплаты.IDDoc = Жур.IDDoc
|JOIN
| $Справочник.ПоставкиОплаты as Спр ON $Спр.Оплата = Жур.IDDoc
|WHERE
| (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
| AND (Жур.IDDocDef = $ВидДокумента.СтрокаВыпискиРасход)
|GROUP BY
| Жур.IDDoc, Жур.IDDocDef, $ДокументОплаты.Сумма, $Спр.Оплата
|ORDER BY
| Жур.IDDoc";
ПоказатьНе работает связка JOIN $Справочник.ПоставкиОплаты as Спр ON $Спр.Оплата = Жур.IDDoc
Если в справочнике Оплаты сделать реквизит Оплата не произвольного вида, а конкретного, например, "Документ.СтрокаВыпискиРасход", то запрос работает.
Как выкручиваться? Спасибо!
По теме из базы знаний
- Подсистема ViewValues (просмотр "табличных" объектов). Версии для 1С:Предприятие-8.x и для 1С:Предприятие-7.7
- Компонента "Быстрый регистр" для 1С 7.7 (на прямых запросах SQL 1c++)
- Консоль запросов
- Компоновщик прямых запросов 7.7 (Выборка документов)
- Универсальный журнал для 1С:7.7 с последующей обработкой документов
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Поле $Спр.Оплата - у тебя с типом char(13) и содержит в себе 4 символа Типа документа (IDDocDef) + 9 символов IdDoc. А поле Жур.IDDoc - с типом char(9) так как есть отдельное поле Жур.IDDocDef с типом char(4) в котором указан Тип документа. Поэтому у тебя соединение и не срабатывает.
Надо SUBSTRING($Спр.Оплата,4,9) = Жур.IDDOC
Надо SUBSTRING($Спр.Оплата,4,9) = Жур.IDDOC
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот