Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   1С++ Прямой запрос, как соединить по реквизиту типа "Документ" (неопределённого вида) (http://forums.kuban.ru/f1040/1s_pryamoj_zapros_kak_soedinit-_po_rekvizitu_tipa_dokument_neopredel%D1%91nnogo_vida-9063396.html)

MarySue 17.05.2020 05:18

1С++ Прямой запрос, как соединить по реквизиту типа "Документ" (неопределённого вида)
 
Всем доброго времени.
Немножко пробую раскуривать прямые запросы, и прошу помощи знатоков. Понимаю, что вопрос ерундовый, но как-то не получается найти ответ.
В конфигурации есть документ "Челобитная".
И есть справочник "БиблиотекаИванаГрозного", в нём реквизит "ДокументСсылка".
Тип этого реквизита - "Документ", неопределённого вида.
Пытаюсь сделать запрос по документам вида "Челобитная", с внутренним соединением по справочнику "БиблиотекаИванаГрозного".

SELECT
ДокументЧелобитная.IDDoc as [Ссылка $Документ.Челобитная],
$СправочникБиблиотека.Полка as Полка,
СправочникБиблиотека.ID as [ЭлементБиблиотеки $Справочник.БиблиотекаИванаГрозного]
FROM
$Документ.Челобитная AS ДокументЧелобитная
INNER JOIN
$Справочник.БиблиотекаИванаГрозного as СправочникБиблиотека
ON
ДокументЧелобитная.IDDoc = $СправочникБиблиотека.ДокументСсылка

Результат запроса пустой.
Умом понимаю, что причина в несовпадении реквизитов. В справочнике реквизит "ДокументСсылка" имеет длину 13 символов. А IDDoc документа имеет длину 9 символов.
Подскажите плиз, как правильно написать условие соединения?

USSR 17.05.2020 06:48

ДокументЧелобитная.IDDoc = RIGHT($СправочникБиблиотека.ДокументСсылка,9)
На вид документа (первые 4 символа наверное условие можно не накладывать, так как IdDoc уникальный, в отличие от Id справочников)

MarySue 17.05.2020 09:10

1-USSR > Спасибо! Всё гениальное просто )
Интересно, а для справочников как тогда решать эту проблему? Добавлять какое-то условие по виду?

USSR 17.05.2020 10:52

Да, смотрите $ВидДокумента36

MarySue 17.05.2020 12:20

Спасибо!

USSR 17.05.2020 12:31

Только немного ошибся - $ВидСправочника36 )


Текущее время: 19:57. Часовой пояс GMT +3.