Имя: Пароль:
1C
 
ПолучитьСсылку не зная объекта метаданных
0 alekosansey
 
02.07.18
11:58
Добрый день. Сравниваю две базы по оборотке после конвертации данных по ком соединению. Получаю уид субконто и хочу его найти в тек базе. Я знаю тип субконто в тек базе. Теперь мне нужно как-то из типа получить например тип "Справочник.Контрагенты" значение "Справочники.Контрагенты". Понятно что легче было бы просто дописать "и" к справочник, но у меня получается такая проблема так как там могут быть и перечисления и еще другие виды. Подскажите как легче обратиться получитьСсылку?
1 alekosansey
 
02.07.18
11:59
или получить модуль менеджера зная его тип
2 Малыш Джон
 
02.07.18
12:02
Довольно сумбурно написано.
3 Малыш Джон
 
02.07.18
12:03
Что нужно-то? Получить менеджер справочника по названию?
4 alekosansey
 
02.07.18
12:03
Вообщем нужно получить ссылку в базе по уид, зная только типу данных
5 alekosansey
 
02.07.18
12:04
тип данных
6 Eiffil123
 
02.07.18
12:04
В своей обработке сравнения заведи макет, где будет название справочника в одной системе и другой. И дергай оттуда название метаданных (соответствие).

А так система не дает гарантии, что в разных таблицах БД будут разные УИДы. Они запросто могут повторяться.
7 1Сергей
 
02.07.18
12:04
(4) никак. Разве что перебором всех метаданных, но это слишком затратно
8 alekosansey
 
02.07.18
12:05
(3) Да
9 alekosansey
 
02.07.18
12:06
(7) Перебором не вариант. БУдет очень долго
10 alekosansey
 
02.07.18
12:06
(7) я согласен
11 alekosansey
 
02.07.18
12:07
(6) Тоже затратно
12 Малыш Джон
 
02.07.18
12:07
НужныеМетаданные = Метаданные.НайтиПоТипу(НужныйТип);
Если НужныеМетаданные<>Неопределено Тогда
Если Если Метаданные.Справочники.Содержит(НужныеМетаданные ) Тогда
   МенеджерСправочника = Метаданные.Справочники[НужныеМетаданные.Имя];
НужнаяСсылка = МенеджерСправочника.ПолучитьСсылку(Уид);
КонецЕсли;
КонецЕсли;
13 Eiffil123
 
02.07.18
12:09
но вообще задача какая-то странная. Обычно при сравнении данных после переноса всегда известно, что с чем сравнивать (справочник Товары в системе 1 и справочник Номенклатура в системе 2). А тут что-то универсальное. Зачем такое нужно для разобой задачи?
14 alekosansey
 
02.07.18
12:09
(12) Спасибо попробую
15 alekosansey
 
02.07.18
12:10
(13) Просто постоянно менять код под каждый счет не вариант
16 1Сергей
 
02.07.18
12:12
(15) Причем тут счет? ты в момент выгрузки знаешь тип каждого субконто без всяких счетов
17 alekosansey
 
02.07.18
12:16
(16) Дело в том что я незнаю какой тип субконто так как я просто получаю данные Запросом с внеш базы.
18 alekosansey
 
02.07.18
12:17
Я беру данные по регистру бухгалтерии по счету и сравниваю обороты в одной базе и в другой
19 _stay true_
 
02.07.18
12:51
(18) как это коррелирует с видами субконто и типами данных?
20 bolobol
 
02.07.18
12:52
(18) Сравниваешь обороты? Зачем получать ссылки? Сравнивай сами УИД-ы