Имя: Пароль:
1C
 
Как определить тип ссылки в колонки таблицы SQL
0 NcSteel
 
24.05.11
11:53
Если реквизит составной , то в SQL добавляется колонки TYPE, RTREF (тип ссылки), RRREF (собственно ссылки) + колонки с префиксами характеризующие простые типы.

Как определить что у нас лежит в реквизите и какого типа ?
1 NcSteel
 
24.05.11
11:59
ВОт простой пример:

TYPE = 0x08
RTRef = 0x00000097
RRRef = 0xB1040014C2628BAB11E085C5E8DEB3B1

Где взять информацию о типе ссылки.
2 DrZombi
 
гуру
24.05.11
12:00
(0)А чем вам не нравится типовые запросы?
3 NcSteel
 
24.05.11
12:01
(2) Объемы не выдерживают.
4 NcSteel
 
24.05.11
12:04
По идее это соответствие можно получить создав тестовые записи средствами 1С и прочитав их. Но не хочется применять такой алгоритм.
5 МихаилМ
 
24.05.11
12:06
один изних номер таблицы
по номеру (он уникальный в пределах бд ) поймёте TYPE
6 H A D G E H O G s
 
24.05.11
12:08
(3) То есть
7 NcSteel
 
24.05.11
12:08
0x00000097
и есть номер таблицы но что за номер ? Порядковый? или номер referenceXXX , где XXX и есть номер ?
8 NcSteel
 
24.05.11
12:08
(6) Все очень долго.
9 H A D G E H O G s
 
24.05.11
12:08
(8) Как ты можешь сам помочь?
10 NcSteel
 
24.05.11
12:10
(9) как бы чтение меня не волнует )
11 H A D G E H O G s
 
24.05.11
12:10
(8) Вон, в v8: Странные тормоза УПП тоже все очень долго.
Однако, что у меня в замере производительности было около 3 секунды, что в профайлере около 3000 миллисекунд. Все так же.
12 H A D G E H O G s
 
24.05.11
12:11
(10) Писать будешь? Угу?
13 Sammo
 
24.05.11
12:11
(7) 97 преобразуй в 10тичное и добавь Document
14 NcSteel
 
24.05.11
12:11
(12) Я этого не говорил )))) как бы.
15 H A D G E H O G s
 
24.05.11
12:11
(10) Будь осторожен. Не зря 1С это запрещает напрямую.
16 NcSteel
 
24.05.11
12:11
(13) А если справочник?
17 NcSteel
 
24.05.11
12:12
(15) Если бы не был осторожен , то мне на TYPE и RTRef было бы наплевать и заполнял бы нулами.
18 NcSteel
 
24.05.11
12:15
Так стало известно что необходимо колонку RTRef конвертировать в десятичное число и мы получим номер таблицы . Но RRRef может содержать ссылки на любой объект конфигурации (справочник, документ, ПВХ и т.д.) Как узнать этот тип?
19 NcSteel
 
24.05.11
12:18
Если взять пример с (1) то после конвертации получим:

TYPE = 8
RTRef = 152
RRRef = 0xB1040014C2628BAB11E085C5E8DEB3B1

8 - это справочник ?
20 Sammo
 
24.05.11
12:20
(18) Емнип, это как раз _type
Пытаюсь вспомнить - где видел таблицу. "0x08 - документ"
21 NcSteel
 
24.05.11
12:21
Если же тип не составной то нету определителя (TYPE, RTRef) Следовательно и нет возможности определить тип . Слава богу есть СТруктураХаренинияБД.
22 NcSteel
 
24.05.11
12:21
(20) Видимо придется создать базу и со всеми возможными типами в реквизите и протестировать.
AdBlock убивает бесплатный контент. 1Сергей