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

Внутренний идентификатор объекта

Внутренний идентификатор объекта
Я
   Pandoch
 
30.06.20 - 15:00
Доброго времени суток. Подскажите, при замене отчета в дереве конфигурации командой "Заменить на внешнюю обработку, отчет..." меняется ли внутренний идентификатор объекта (отчета)?
   dka80
 
1 - 30.06.20 - 15:28
Нет
   yurikmellon2
 
2 - 30.06.20 - 15:37
(0) скорее всего нет и это элементарно проверить
    ГУИД = ЭтотОбъект.Отчет;
    Сообщить("GUID = " + ГУИД.УникальныйИдентификатор());
   Pandoch
 
3 - 30.06.20 - 15:45
(2) что за этотОбъект.Отчет...  если обращаться напрямую к Отчеты.[имяОтчета], то метода УникальныйИдентификатор() нет у объекта метаданных.
   hhhh
 
4 - 30.06.20 - 15:59
(3) ну это понятно. Отчеты.[имяОтчета] - это же менеджер отчета. откуда у менеджера уникальный идентификатор?
   vi0
 
5 - 30.06.20 - 16:12
проверь в базе данных, в профайлере, в выгрузке объектов в файлы (там выгружается уид?) итд
   kuzyara
 
6 - 02.07.20 - 09:10
(3) Внутренний идентификатор объекта метаданных хранится в выгрузке конфигурации в файлы:

<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses"; ... version="2.6">
    <Report uuid="1ce0ffe7-2218-4d9d-88d5-d3eec204bfff"> - это внутренний гуид отчета
        <InternalInfo>
            <xr:GeneratedType name="ReportObject.ДебиторскаяЗадолжность1" category="Object">
                <xr:TypeId>3311a413-fb08-45c9-be4b-b320c47c6eae</xr:TypeId> - это гуид типа менеджера
                <xr:ValueId>4f5a9265-1f7c-4f92-a8df-85144ebaffc5</xr:ValueId>
            </xr:GeneratedType>
            <xr:GeneratedType name="ReportManager.ДебиторскаяЗадолжность1" category="Manager">
                <xr:TypeId>ecc49699-1c84-4abb-80a2-4a57d2bd7986</xr:TypeId> - это гуид типа объекта
                <xr:ValueId>86b8975f-1fe6-4354-864b-8a398a8596c6</xr:ValueId>
            </xr:GeneratedType>

При каждой выгрузке во внешний отчет/обработку он генерируется заного. Это позволяет хоть 10 раз выгрузить отчет/обработу во внешний файл, и каждый из этих файлов можно будет открыть параллельно в клиенте.

Помимо внутреннего идентификатора у каждого объекта метаданных есть идентификаторы типов. Например ОтчетМенеджер.<Имя отчета> и ОтчетОбъект.<ИмяОтчета>. https://yadi.sk/i/vkB0iW5ID5Hbhg

Все типы имеют свои идентификаторы, но при загрузке через "Заменить на внешнюю обработку, отчет..." они, так же как и идентификатор метаданных, заменяются на текущие.

Например - загрузка в отчет ABCАнализПокупателей внешнего отчета ДебиторскаяЗадолжность.epf вызовет лишь добавление суффикса (такой отчет уже есть в конфигурации), а все идентификаторы останутся прежними. https://yadi.sk/i/FEQt8t4rVtJ8pQ
   kuzyara
 
7 - 02.07.20 - 09:43
(4) > откуда у менеджера уникальный идентификатор?
Это идентификатор типа:

ВнутренняяСтрокаМенеджер = ЗначениеВСтрокуВнутр(Отчеты.ДебиторскаяЗадолжность);
//{"#",b0291e09-dae8-47bb-b380-9c25be22fab3,

//{0}
//}

ИдентификторТипаМенеджер = ЗначениеВСтрокуВнутр(ТипЗнч(Отчеты.ДебиторскаяЗадолжность));
//{"T",b0291e09-dae8-47bb-b380-9c25be22fab3}

ОтчетОбъект = Отчеты.ДебиторскаяЗадолжность.Создать();
ВнутренняяСтрокаОбъект = ЗначениеВСтрокуВнутр(ОтчетОбъект); 
// {"#",6737b9b2-732d-4051-8166-59d1d4209295}

ИдентификторТипаОбъект = ЗначениеВСтрокуВнутр(ТипЗнч(ОтчетОбъект)); 
// {"T",6737b9b2-732d-4051-8166-59d1d4209295}


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