Имя: Пароль:
1C
 
Как в измерении регистра в расширении все же получить СправочникСсылка?
0 Гений 1С
 
гуру
18.02.22
13:01
В реквизитах справочника можно делать в расширениях СправочникСсылка, в реквизитах и измерениях РС - нет.
Хоть ты меняй РС на справочники.

В 8.3.20 можно (по данным зазеркалья) делать определяемый тип, возможно туда можно запихнуть этот тип.
Пока завел справочник ХранимыеСсылки, и на него определил измерение регистра, но это тот еще костыль, хотя и эффективнее храненя GUID в измерении.
1 TormozIT
 
гуру
18.02.22
13:18
ирОбщий:

Функция ОписаниеТиповВсеСсылкиЛкс(ВключаяТипыРасширений = Истина) Экспорт
    
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(
    "<TypeDescription xmlns=""http://v8.1c.ru/8.1/data/core"">
    |      <TypeSet xmlns:cc=""http://v8.1c.ru/8.1/data/enterprise/current-config"">cc:AnyRef</TypeSet>
    |</TypeDescription>");
    Результат = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
    Если ВключаяТипыРасширений И ирКэш.НомерРежимаСовместимостиЛкс() >= 803011 И ПравоДоступа("АдминистрированиеРасширенийКонфигурации", Метаданные) Тогда
        ТипыРасширений = ирКэш.ТипыРасширенийКонфигурацииЛкс();
        Результат = Новый ОписаниеТипов(Результат, ТипыРасширений);
    КонецЕсли;
    Если ирКэш.НомерРежимаСовместимостиЛкс() >= 803001 Тогда
        Для Каждого ВнешнийИсточникДанных Из Вычислить("ВнешниеИсточникиДанных") Цикл // Для компиляции на платформе 8.2.13-
            Результат = Новый ОписаниеТипов(Результат, ВнешнийИсточникДанных.Таблицы.ТипВсеСсылки().Типы());
        КонецЦикла;
    КонецЕсли;
    Возврат Результат;
    
КонецФункции
2 TormozIT
 
гуру
18.02.22
13:19
(1) Мимо. Думал автор хочется тип ВсеСправочники, включая типы из самого расширения.
3 Mort
 
18.02.22
13:22
СправочникСсылка это такой уникальный технический тип - что его не стоит использовать никому.
4 Mort
 
18.02.22
13:27
Впрочем, есть целая олимпиада где такие общие типы важная составляющая решений, это когда в предприятии городится филиал конфигуратора.
5 Гений 1С
 
гуру
18.02.22
17:35
(2) ага. мне проще.
6 pechkin
 
18.02.22
17:36
(3) почему?
7 Гений 1С
 
гуру
18.02.22
17:43
(3) от тебя ли я это слышу?
8 pechkin
 
18.02.22
17:44
С технической точки зрения 2 ссылки или все ссылки разницы никакой
9 ДедМорроз
 
18.02.22
22:52
Если расширение выгрузить в файлы,а потом задать тип СправочникСсылка в файле,то при загрузке обратно ругнется,но работать будет,правда в конфигураторе тип будет пустой,т.к.система не умеет его отображать.
Причем,работало это еще тогда,когда в расширении вообще нельзя было тип просто ссылка использовать.
10 Ненавижу 1С
 
гуру
19.02.22
01:23
(8) в определённых ситуациях все ссылки может оказаться и одной и внезапно не одной (ноль) ссылок.
Например, в ут на планы счетов
11 СвинТуз
 
19.02.22
01:35
А делаешь что?
Добавить нужно регистр сведений в конфигурацию и помещаешь его в расширение
типа что бы обновляться не мешал?

Мода злая штука.
12 СвинТуз
 
19.02.22
01:36
Так он никогда и не мешал. Нет?
13 СвинТуз
 
19.02.22
01:37
Или это что бы было?
было на что наступить потом если чужой придет.
14 СвинТуз
 
19.02.22
01:38
Рой мины что бы клиент не соскочил?
15 Гений 1С
 
гуру
19.02.22
09:59
(11) потому что у клиента может и не быть этого справочника, он вместо него назначит другой, тогда это можно разрулить на ран-тайм, а так приходится менять привязки на уровне программиста в конфигураторе.
16 ДедМорроз
 
19.02.22
13:01
Есть такой справочник ИдегтификаторыОбъектовМетаданных любую ссылку можно представить как ссылку на этот справочник и просто УникальныйИдентификатор и разруливпть уже все в RunTime.
17 pechkin
 
19.02.22
13:16
(16) и в запросах?
18 ДедМорроз
 
19.02.22
14:45
Если справочник привязывается для того,чтобы был,то преобразование таблицы перед выполнением запроса не сильно скпжется на производмтельности,а если из справочника нужно выбирать поля и они зашиты в коде,то такой справочник все равно в расширение добавлять.