Имя: Пароль:
1C
1C 7.7
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-ке могли поменяться и ИД справочника и ИД элементов?