1С++ Прямой запрос, как соединить по реквизиту типа "Документ" (неопределённого вида) Всем доброго времени. Немножко пробую раскуривать прямые запросы, и прошу помощи знатоков. Понимаю, что вопрос ерундовый, но как-то не получается найти ответ. В конфигурации есть документ "Челобитная". И есть справочник "БиблиотекаИванаГрозного", в нём реквизит "ДокументСсылка". Тип этого реквизита - "Документ", неопределённого вида. Пытаюсь сделать запрос по документам вида "Челобитная", с внутренним соединением по справочнику "БиблиотекаИванаГрозного". SELECT ДокументЧелобитная.IDDoc as [Ссылка $Документ.Челобитная], $СправочникБиблиотека.Полка as Полка, СправочникБиблиотека.ID as [ЭлементБиблиотеки $Справочник.БиблиотекаИванаГрозного] FROM $Документ.Челобитная AS ДокументЧелобитная INNER JOIN $Справочник.БиблиотекаИванаГрозного as СправочникБиблиотека ON ДокументЧелобитная.IDDoc = $СправочникБиблиотека.ДокументСсылка Результат запроса пустой. Умом понимаю, что причина в несовпадении реквизитов. В справочнике реквизит "ДокументСсылка" имеет длину 13 символов. А IDDoc документа имеет длину 9 символов. Подскажите плиз, как правильно написать условие соединения? |
ДокументЧелобитная.IDDoc = RIGHT($СправочникБиблиотека.ДокументСсылка,9) На вид документа (первые 4 символа наверное условие можно не накладывать, так как IdDoc уникальный, в отличие от Id справочников) |
1-USSR > Спасибо! Всё гениальное просто ) Интересно, а для справочников как тогда решать эту проблему? Добавлять какое-то условие по виду? |
Да, смотрите $ВидДокумента36 |
Спасибо! |
Только немного ошибся - $ВидСправочника36 ) |
Текущее время: 19:57. Часовой пояс GMT +3. |