|
Из 8 получить ГУИД 7 | ☑ | ||
---|---|---|---|---|
0
lEvGl
гуру
13.03.13
✎
08:50
|
ну поделитесь пжлст кодом получения ГУИДа 7-шной базы из 8-ки через СОМ. 8 - 8 проблем нет, а с 7 никогда не работал, даже не знаю как там ссылку получить, тем более через внешнее соединение, чем оно отличается от подключения к 8-шной базе?
|
|||
1
Галахад
гуру
13.03.13
✎
08:51
|
А зачем?
|
|||
2
zak555
13.03.13
✎
08:52
|
так его нет
|
|||
3
zak555
13.03.13
✎
08:52
|
=)
|
|||
4
mikecool
13.03.13
✎
08:52
|
Лев(Прав(ЗначениеВСтрокуВнутр(Тута объект),11),9)
|
|||
5
ДенисЧ
13.03.13
✎
08:54
|
в 77 нет ГУИДа
|
|||
6
lEvGl
гуру
13.03.13
✎
09:43
|
(1) надо связать справочники двух баз
(2) как, в 7-ке у ссылки нет ГУИДа? (5) это грустно, видимо связку только по коду? |
|||
7
Kyon8
13.03.13
✎
09:52
|
МетаДата = СоздатьОбъект("MetaDataWork"); // 1C++
Значение = МетаДата.ЗначениеВДлиннуюСтрокуБД(Источник); (4) Будет разное значение в зависимости от типа (Справочник или Справочник.Блаблабла) |
|||
8
ProxyInspector
13.03.13
✎
09:56
|
Можно и по другому.
Самый простой вариант - CRC32(ЗначениеВСтрокуВнутр(Тута объект)), а не достающие символы до GUID просто добавить. Можно из ЗначениеВСтрокуВнутр() убрать не правильные символы, тогда можно будет получать ЗначениеВСтрокуВнутр <-> GUID |
|||
9
Kyon8
13.03.13
✎
10:02
|
(7) Хотя не, вариант (4) тоже работает. Но через MetaDataWork можно потом обратно конвертнуть + оно выдаёт ID_таблицы+GUID.
|
|||
10
cw014
13.03.13
✎
10:04
|
(6) В семерке роль ГУИДА выполняет 36-разрядное значение идентификатора
|
|||
11
Kyon8
13.03.13
✎
10:05
|
Вот тестовый пример запустил:
Процедура Сформировать() МетаДата = СоздатьОбъект("MetaDataWork"); Сообщить("=================="); Сообщить("Ном = """ + МетаДата.ЗначениеВДлиннуюСтрокуБД(ВыбНом) + """"); Сообщить("Спр = """ + МетаДата.ЗначениеВДлиннуюСтрокуБД(ВыбСпр) + """"); Сообщить("Ном = """ + ЗначениеВСтрокуВнутр(ВыбНом) + """"); Сообщить("Спр = """ + ЗначениеВСтрокуВнутр(ВыбСпр) + """"); Сообщить("Лев(Прав... Ном...) = """ + Лев(Прав(ЗначениеВСтрокуВнутр(ВыбНом),11),9) + """"); Сообщить("Лев(Прав... Спр...) = """ + Лев(Прав(ЗначениеВСтрокуВнутр(ВыбСпр),11),9) + """"); КонецПроцедуры ================== Ном = " 2C 1JCNT" Спр = " 2C 1JCNT" Ном = "{"B","0","0","84","0","0"," 55CNT"}" Спр = "{"B","0","0","0","0","0"," 84 55CNT"}" Лев(Прав... Ном...) = " 55CNT" Лев(Прав... Спр...) = " 55CNT" |
|||
12
lEvGl
гуру
13.03.13
✎
10:37
|
ну понял, попробую через ЗначениеВСтроку()....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |