Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Внешний источник данных с GUID-ами преобразовать в объекты?

Внешний источник данных с GUID-ами преобразовать в объекты?
Я
   pvase
 
14.08.19 - 17:19
Здравствуйте. Есть внешний источник данных - некая база в MS SQL. В ней есть таблица, а в таблице есть поле ID, в который пишутся идентификаторы объектов (например: 327:a1011c6f658d0bf011e9be9cead83452) надо эти GUID преобразовать в объекты. Может есть какой-то встроенный механизм, чтобы преобразовать при выводе формы списка таблицы внешнего источника вывести уже готовые объекты, а не строки с GUID (Кроме как для каждой строки делать ЗначениеИзСтрокиВнутр())?
 
 
   Garykom
 
1 - 14.08.19 - 17:24
ПолучитьСсылку но как совместить хз
   hhhh
 
2 - 14.08.19 - 17:34
(0) есть там типовые функции в общем модуле: сериализовать, десериализовать.

то есть:

1. делаете для примера таблицу значений ТЗ и в ней кучу ссылок.
2. делаете сериализовать(ТЗ)
3. смотрите в каком виде и формате оно у вас сериализовалось.
4. делаете из вашего MS SQL выгрузку, чтобы выгружало точно в таком же виде, чтобы потом можно было весь файл грузануть одной командой десериализовать.

5. профит.
   Garykom
 
3 - 14.08.19 - 17:39
"таблицы внешнего источника" данных же

Было бы логично http://v8.1c.ru/overview/Term_000000795.htm задать ID = Ссылка и тупо соединив по ссылке в запросе с неким объектом метаданных в конфе/базе получить требуемое.
   Garykom
 
4 - 14.08.19 - 17:51
Это изврат конечно.
Но что если сделать по всем объектам нужного вида в базе ВТ Ссылка|СтрокаGUID и засунуть ее в запрос по внешнему источнику ?
   Garykom
 
5 - 14.08.19 - 17:54
(4)+ Ибо так понял просто привести в запросе Ссылка.УникальныйИдентификатор() к Строке никак.
Да XMLСтрока(Ссылка) шустрее пашет пишут
   Вафель
 
6 - 14.08.19 - 17:55
(00) пишутся идентификаторы или таки вместе с типом?
   Eiffil123
 
7 - 14.08.19 - 18:01
как гуид преобразовать в объект? как минимум нужно еще тип объекта и значения всех остальных реквизитов.
ссылку по гуиду можно получить (тоже зная тип ссылки, он в гуиде не хранится)
   pvase
 
8 - 14.08.19 - 18:34
(6) Там типа такого: 150:811e005056b8ab6011e9a7953bc1c13f и 489:811e005056b8ab6011e9a86e276b6e11 я подозреваю, что с типом. Это записи из журнала регистрации SQLLite.
Сейчас делаю так:
            ДокТип = Справочники[СтрЗаменить(ИмяМетаданных,"Справочник.","")];
            Попытка
                Объект=  ЗначениеИзСтрокиВнутр(Лев(ЗначениеВСтрокуВнутр(ДокТип.ПолучитьСсылку()),46)+Прав(ТекСтр.Значение.Данные.Data,32)+"}");
                ТекСтр.Значение.Данные.Data = Объект;
            Исключение
                ТекСтр.Значение.Данные.Data = ТекСтр.Значение.Данные.DataPresentation;
            КонецПопытки;
   pvase
 
9 - 14.08.19 - 18:35
Т.е. значения с видами, но без типов, тип находится в другом поле, что видно из кода в (8).
   aleks_default
 
10 - 14.08.19 - 18:36
До ":" это тип

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.