Как добавить созданный в расширении документ в описание типов

1. AndKovalchuk 192 03.12.21 14:19 Сейчас в теме
В общем модуле "ОбщегоНазначения" есть функция

Функция ОписаниеТипаВсеСсылки() Экспорт
	
	Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
		Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
			Справочники.ТипВсеСсылки(),
			Документы.ТипВсеСсылки().Типы()),
			ПланыОбмена.ТипВсеСсылки().Типы()),
			Перечисления.ТипВсеСсылки().Типы()),
			ПланыВидовХарактеристик.ТипВсеСсылки().Типы()),
			ПланыСчетов.ТипВсеСсылки().Типы()),
			ПланыВидовРасчета.ТипВсеСсылки().Типы()),
			БизнесПроцессы.ТипВсеСсылки().Типы()),
			БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()),
			Задачи.ТипВсеСсылки().Типы());
	
КонецФункции
Показать



А я в расширении создал документ Расш_ЦБ.ПокупкаЦенныхБумаг

И мне нужно его включить в описание объектов ссылочного типа.
Даже если я эту функцию переопределяю в расширении все равно
Документы.ТипВсеСсылки().Типы()) не включает описание типа этого документа. Соответственно, скажем при расшифровки проводок в карточке счета расшифровка не понимает, что это ссылочный тип и не открывает этот документ.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 03.12.21 14:27 Сейчас в теме
(1) Использовать 8.3.20
https://wonderland.v8.1c.ru/blog/razvitie-rasshireniy/

Поддержка наборов типов

В версии 8.3.20 будут добавлены новые возможности использования ссылок на объекты расширений.

Так, например, массив, полученный вызовом метода Справочники.ТипВсеСсылки().Типы(), будет содержать типы справочников как из конфигурации, так и из расширений (аналогично будут себя вести методы Документы.ТипВсеСсылки().Типы() и т.д.). Ранее эти методы возвращали только соответствующие типы, определенные в конфигурации.

Также в реквизит типа ЛюбаяСсылка можно будет помещать ссылки на объекты типов, определенных в расширениях. В реквизиты типа СправочникСсылка, ДокументСсылка и т.д. можно будет помещать ссылки на объекты соответствующих типов из расширений. Ранее после присвоения таким реквизитам ссылок на объекты типов, определенных в расширениях, значение реквизита становилось равным НеОпределено.

Это нововведение, помимо прочего, позволит разработчикам расширений легче встраивать свои расширения в стандартные механизмы БСП, использующие наборы и определяемые типы.
5. Arkadag 03.12.21 15:36 Сейчас в теме
(1)
А в самой основной конфигурации создать этот новый документ? Никто не запрещает создавать новые объекты в типовой конфигурации на поддержке, если конечно основную конфигурацию сделать редактируемой на поддержке.

Если слетит расширение в небытие, то и все Ваши ценные бумаги рухнут на бирже...
karamazoff; +1 Ответить
3. ixijixi 1801 03.12.21 14:35 Сейчас в теме
4. AndKovalchuk 192 03.12.21 14:38 Сейчас в теме
(3)Ну не совсем.

Я вот в расширении написал такой текст, может он и не оптимальный, но работает

Функция РасшЦБ_ЭтоСсылка(ПроверяемыйТип) Экспорт
	
	Возврат ПроверяемыйТип <> Тип("Неопределено")  И  РасшЦБ_ОписаниеТипаВсеСсылки().СодержитТип(ПроверяемыйТип)
	
КонецФункции


Функция РасшЦБ_ОписаниеТипаВсеСсылки() Экспорт

	Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
	Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
	Справочники.ТипВсеСсылки(),
	ВсеТипыДокументов()),
	ПланыОбмена.ТипВсеСсылки().Типы()),
	Перечисления.ТипВсеСсылки().Типы()),
	ПланыВидовХарактеристик.ТипВсеСсылки().Типы()),
	ПланыСчетов.ТипВсеСсылки().Типы()),
	ПланыВидовРасчета.ТипВсеСсылки().Типы()),
	БизнесПроцессы.ТипВсеСсылки().Типы()),
	БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()),
	Задачи.ТипВсеСсылки().Типы());

КонецФункции

Функция ВсеТипыДокументов()
	МассивТипов = Документы.ТипВсеСсылки().Типы();
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_ЗаймОвернайт"));
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_ОвернайтЦБ"));
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_ПереоценкаЦенныхБумаг"));
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_ПокупкаЦенныхБумаг"));
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_ПродажаЦенныхБумаг"));
	МассивТипов.Добавить(Тип("ДокументСсылка.РасшЦБ_РасходыБрокераПоУправлению"));

	возврат МассивТипов;
	

КонецФункции // ВсеТипыДокументов()()

Показать
zJonhen; user1451586; CepeLLlka; +3 Ответить
6. Sashares 34 03.12.21 15:58 Сейчас в теме
(4)Переопределить именно эту функцию вы можете. Но если где-то в коде используются другие функции, в которых используется Документы.ТипВсеСсылки(), или какие-нибудь реквизиты/измерения/определеяемые типы, для которых стоит тип Документ.Ссылка, то ваши документы в них будут не видны.
_Vovik; AndKovalchuk; +2 Ответить
7. AndKovalchuk 192 03.12.21 16:53 Сейчас в теме
(6) Для этого есть аннотация "вместо" и другие способы контроля.
9. Sashares 34 03.12.21 17:06 Сейчас в теме
(7)
Какое еще "вместо" для измерения регистра/определяемого типа?
11. spacecraft 03.12.21 17:21 Сейчас в теме
(9) измерение регистра так же добивается нужными типами в расширении. Заимствуется измерение и можно добавить нужные типы. В том числе, если в основной конфигурации был указан определяемый тип.
12. Sashares 34 03.12.21 17:25 Сейчас в теме
(11)
В том числе, если в основной конфигурации был указан определяемый тип.

Изменение определяемых типов - в 8.3.20. Ссылку на зазеркалье привел выше.
13. spacecraft 03.12.21 17:28 Сейчас в теме
(12) тут не изменение самого определяемого типа. Просто можно для измерения, для которого указан определяемый тип в расширении добавить еще нужные типы. Все равно во время работы определяемый тип будет преобразован в список типов. А в расширении этот список просто расширится.
14. Sashares 34 03.12.21 17:31 Сейчас в теме
(13)Понятно, что можно, но это достаточно проблемно.
Проще или в основной конфигурации добавить такие объекты, чтобы механизмы БСП их автоматически подхватывали, или дождаться 8.3.20.
15. spacecraft 03.12.21 17:32 Сейчас в теме
(14) да я не для спора ради это указал. Конечно будет удобно править сразу определяемый тип. Но и сейчас можно использовать расширение типов для измерений регистров.
16. CepeLLlka 58 13.05.23 12:15 Сейчас в теме
(14)Я так понял что помимо того, что нужно было дождаться 8.3.20, нужно ещё дождаться режима совместимости у типовых которые мы расширяем нашими расширениями тоже до 8.3.20, так как в данный момент на платформе 8.3.20.2184 в БП 3.0.134.19 с режимом совместимости 8.3.17 ТипВсеСсылки() работает точно так-же, не включая в себя объекты добавленные в расширении.
17. user1826630 13.05.23 13:17 Сейчас в теме
(16) Конечно. Почему-то про режим совместимости все забывают.
18. Sashares 34 13.05.23 16:37 Сейчас в теме
(16)Осталось не долго, УНФ 3.0.4 уже на БСП 3.1.8 и режиме совместимости 8.3.21. Значит и остальные конфигурации скоро подтянутся.
19. spacecraft 13.05.23 20:17 Сейчас в теме
(18) УНФ это отдельная ветка разработки. Там "рюшечки" клепают под новые версии платформы более активно.
В основной массе пока не так радужно. К примеру, УТ11 пока в режиме совместимости "Версия 8.3.17".
Учитывая, что большинство типовых это части ERP, то ориентироваться нужно на "продвижение" совместимости у ERP, а это не так быстро.
20. Sashares 34 13.05.23 21:41 Сейчас в теме
(19)На странице релизов есть планы для БП 3:
Информация о планируемом релизе
Номер версии 3.0.142
Ориентировочная дата выхода Август 2023
Дата обновления плановых данных 06.04.23
Адаптация конфигурации к работе на платформе 8.3.22 в режиме совместимости только с 8.3.21
8. ixijixi 1801 03.12.21 17:05 Сейчас в теме
Боже, это что?

Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
	Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
	Справочники.ТипВсеСсылки(),
	ВсеТипыДокументов()),
	ПланыОбмена.ТипВсеСсылки().Типы()),
	Перечисления.ТипВсеСсылки().Типы()),
	ПланыВидовХарактеристик.ТипВсеСсылки().Типы()),
	ПланыСчетов.ТипВсеСсылки().Типы()),
	ПланыВидовРасчета.ТипВсеСсылки().Типы()),
	БизнесПроцессы.ТипВсеСсылки().Типы()),
	БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()),
	Задачи.ТипВсеСсылки().Типы());
Показать
10. AndKovalchuk 192 03.12.21 17:13 Сейчас в теме
(8)Вообще это описание составного типа данных из всех возможных ссылочных типов. Надстраиваются по принципу пирамиды начиная с типов справочников и заканчивая типами задач.
21. karamazoff 96 13.05.23 22:05 Сейчас в теме
(10)А не слишком ли сложно для такой фиговины? Как уже написали выше, хранить данные в расщирении не комильфо, на щелчек лишитесь всего, Мы теоретизируем или пишем? Лепите все в конфу
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот