|   |   | 
| 
 | Из 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 | 
        ну понял, попробую через ЗначениеВСтроку()....     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |