| 
    
            
         
         | 
    
  | 
v7: Как сформирован идентификатор? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        zelenprog    
     19.06.23 
            ✎
    09:26 
 | 
         
        Добрый день!
 
        Неизвестными 1С-никами был сделан перенос справочника из 1С77 в 1С8. При этом в типовой справочник в 8-ке был добавлен специальный реквизит "Ид77", по названию понятно - это идентификатор объекта в 1С7-базе. Только вот непонятно как он был сформирован. Так выглядит Ид77 в 1С8-базе: МК{"B","0","0","0","0","0"," 493 11464100"} А так выглядит ЗначениеВСтрокуВнутр(Спр.ТекущийЭлемент()) в 1С7 для того же самого объекта: {"B","0","0","172","0","0"," 20653100"} Можно ли как-то понять как был сформирован "Ид77"? Можно ли по нему установить соответствие с объектом в 1С7-базе?  | 
|||
| 
    1
    
        Aleksey    
     19.06.23 
            ✎
    10:33 
 | 
         
        А что обработки переноса не осталось?     
         | 
|||
| 
    2
    
        Харлампий Дымба    
     19.06.23 
            ✎
    11:11 
 | 
         
        А как выглядит ЗначениеВСтрокуВнутр(Спр)?     
         | 
|||
| 
    3
    
        big    
     19.06.23 
            ✎
    11:20 
 | 
         
        Только что проэкспериментировал.
 
        Реквизит на форме "Неопределенный Справочник" Объект: Бренди Армянский ВСОП 40% 0,35л Армения В строку : {"Справочник","Номенклатура","gl122744"} В строку внутр: {"B","0","0","0","0","0"," 84 110660001"} Объект. Тип: B. Объект. ИД таблицы: 0. Объект. ИД: 84110660001. Мета. Значение в строку БД: 2DDW001 Мета. Значение в длинную строку БД: 2C 2DDW001 Мета. Значение в самую длинную строку БД: B1 2C 2DDW001 Реквизит на форме "Справочник Номенклатура" Объект: Бренди Армянский ВСОП 40% 0,35л Армения В строку : {"Справочник","Номенклатура","gl122744"} В строку внутр: {"B","0","0","84","0","0"," 110660001"} Объект. Тип: B. Объект. ИД таблицы: 84. Объект. ИД: 110660001. Мета. Значение в строку БД: 2DDW001 Мета. Значение в длинную строку БД: 2C 2DDW001 Мета. Значение в самую длинную строку БД: B1 2C 2DDW001  | 
|||
| 
    4
    
        zelenprog    
     19.06.23 
            ✎
    11:20 
 | 
         
        (1) Не-а     
         | 
|||
| 
    5
    
        big    
     19.06.23 
            ✎
    11:20 
 | 
         
        (3) "Мета" - это ИД объекта через 1СРР     
         | 
|||
| 
    6
    
        big    
     19.06.23 
            ✎
    11:22 
 | 
         
        (0) Все таки это совершенно разные объекты     
         | 
|||
| 
    7
    
        АгентБезопасной Нацио    
     19.06.23 
            ✎
    12:07 
 | 
         
        (6) присоединяюсь     
         | 
|||
| 
    8
    
        zelenprog    
     19.06.23 
            ✎
    12:11 
 | 
         
        (6) Конечно, эти два объекта в двух разных базах разные.
 
        Но у них все реквизиты (Наименование, ИНН, КПП и пр.) одинаковые. То есть 1С8-объект был сформирован по данным 1С7-объекта при переносе. И для переноса использовался реквизит "Ид77". Очевидно что этот реквизит использовался для установки соответствия между этими объектами. А как был сформирован этот реквизит, чтобы повторить эту операцию - не понятно.  | 
|||
| 
    9
    
        zelenprog    
     19.06.23 
            ✎
    12:12 
 | 
         
        (2) >> А как выглядит ЗначениеВСтрокуВнутр(Спр)?
 
        В какой базе? В 8-ке?  | 
|||
| 
    10
    
        Харлампий Дымба    
     19.06.23 
            ✎
    12:30 
 | 
         
        (9) В семерке. Но вообще-то это был ответ на вопрос "Можно ли как-то понять как был сформирован "Ид77"?". Так как судя по длине седьмого параметра в 23 символа и нулевому третьему параметру было использовано ЗначениеВСтрокуВнутр(Спр) вместо ЗначениеВСтрокуВнутр(Спр.ТекущийЭлемент())     
         | 
|||
| 
    11
    
        Харлампий Дымба    
     19.06.23 
            ✎
    12:36 
 | 
         
        И тогда ответ на вопроса "Можно ли по нему установить соответствие с объектом в 1С7-базе?" такой:
 
        Берёшь первые десять символов седьмого параметра, убираешь ведущие пробелы и кидаешь в третий параметр. То есть для ИД77=МК{"B","0","0","0","0","0"," 493 11464100"} твой объект в 7.7 - это ЗначениеИзСтрокиВнутр("{"B","0","0","493","0","0"," 11464100"}")  | 
|||
| 
    12
    
        zelenprog    
     19.06.23 
            ✎
    12:40 
 | 
         
        А что может обозначать префикс "МК" в этом идентификаторе?
 
        В 8-ке все значения реквизита имеют префиксы либо "МК", либо "ВЛ", либо "ОП". Это о чем-то говорит?  | 
|||
| 
    13
    
        Харлампий Дымба    
     19.06.23 
            ✎
    12:42 
 | 
         
        Возможно выгрузка шла из нескольких разных инфомационных баз. Адреса/имена фирм? Мясокомбинат, основное производство, владыкино?     
         | 
|||
| 
    14
    
        zelenprog    
     19.06.23 
            ✎
    12:44 
 | 
         
        (13) Да, вполне возможно! Спасибо за идею!     
         | 
|||
| 
    15
    
        АгентБезопасной Нацио    
     19.06.23 
            ✎
    13:31 
 | 
         
        (13) судя по тому, что ид с дбидом - еще и распределенка была     
         | 
|||
| 
    16
    
        zelenprog    
     19.06.23 
            ✎
    14:04 
 | 
         
        У меня сейчас в 7-ке ЗначениеИзСтрокиВнутр() формирует идентификаторы вот в таком виде:
 
        {"B","0","0","172","0","0"," 20653100"} А как сделать чтобы этот идентификатор формировался в виде {"B","0","0","0","0","0"," 172 20653100"}?  | 
|||
| 
    17
    
        Злопчинский    
     19.06.23 
            ✎
    14:05 
 | 
         
        (16) реквизит или объект сделай неопределённого типа     
         | 
|||
| 
    18
    
        Злопчинский    
     19.06.23 
            ✎
    14:06 
 | 
         
        ... Или неопределённого вида     
         | 
|||
| 
    19
    
        Злопчинский    
     19.06.23 
            ✎
    14:08 
 | 
         
        Значениевчтрокувнутр будет разным для
 
        Создатьобьект-справочник и создатьобьект -справочник.чтото  | 
|||
| 
    20
    
        zelenprog    
     19.06.23 
            ✎
    14:24 
 | 
         
        Ага получилось.
 
        Только ИД-таблицы в строке все равно получается другое. В 7-ке это "172". А в 8-ке у всех элементов это значение другое. Почему в 7-ке могли поменяться и ИД справочника и ИД элементов?  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |