v7: Прямой запрос и функция ПолныйКод()
☑
0
ildary
25.12.18
✎
12:21
Уважаемые специалисты, скажите пожалуйста, существует ли возможность делая прямой запрос к таблице 1С (через ADODB.Recordset), получить полный код элемента (аналог функции Спр.ПолныйКод())? Или единственный спобоб - это объединять таблицу справочника с собой же по полю PARENTID?
1
trad
25.12.18
✎
12:44
1. только не объединить, а соединить. причем столько раз сколько уровней-1
2. написать ХП в которой цикл по уровням пока до верха не доберемся
2
trad
25.12.18
✎
12:53
п.1 для спр в 4 уровня
select
isnull(par3.code + '/', '') + isnull(par2.code + '/', '') + isnull(par1.code + '/', '') + spr.code
from scXX spr (nolock)
left join scXX par1 (nolock) on par1.id = spr.parentid
left join scXX par2 (nolock) on par2.id = par1.parentid
left join scXX par3 (nolock) on par3.id = par2.parentid
3
mikecool
25.12.18
✎
13:03
(1) можно динамически собрать запрос по количеству уровней из метаданных )
4
trad
25.12.18
✎
13:11
(3) можно
5
SleepyHead
гуру
25.12.18
✎
13:11
(3) Почему-то я вспомнил про своего кота, у которого было много свободного времени.
6
ildary
25.12.18
✎
13:27
(2) спасибо, примерно так я и сделаю.
7
ADirks
25.12.18
✎
14:02
(5) Это достаточно сделать один раз, и запихать в библиотечку генерации текстов запросов.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.