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

1. Opiumforme 10 14.01.20 14:09 Сейчас в теме
Добрый день!

Столкнулся с такой проблемой: создал в расширении документ. Теперь во внешней обработке нужно, чтобы в табличную часть подтягивались ссылки на этот документ, но я не могу выбрать тип документа из расширения.
Пробовал программно задавать тип: не помогает. Пробовал получать тип из расширения и потом присваивать - тоже самое. Есть ли у кого информация, как можно это сделать и можно ли вообще?


Заранее спасибо!!!
По теме из базы знаний
Найденные решения
5. 33lab 925 14.01.20 18:50 Сейчас в теме
(0) Тип необходимо указать "произвольный" тогда проблем не будет.
user1998468; user1109821; skalex; Opiumforme; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sergitax 14.01.20 17:27 Сейчас в теме
(1) Попробовал через тип "ДокументСсылка" - действительно, не добавляется, хотя объект из базы читается (запросом). После смены типа для колонки табличной части на "Произвольный" всё получилось. Не очень красиво, но работает.
Opiumforme; +1 Ответить
7. devs 09.07.20 07:14 Сейчас в теме
(4)
для колонки табличной части на "Произвольный"

я не вижу такого типа.
может из-за платформы 8.3.16, режим совместимости 8.3.14 ?
Прикрепленные файлы:
8. Sergitax 09.07.20 14:39 Сейчас в теме
(7) Давно это было. Скорее всего тогда речь шла о реквизите таблицы, размещенной на форме, а не о реквизите самой табличной части обработки. Для реквизита табличной части обработки такой тип выбрать нельзя.
9. Egor_R 30.09.21 16:06 Сейчас в теме
(7)

Коллеги, доброго дня!

Потратил несколько часов, чтобы разобраться.
Выкладываю решение.
Платформа 8.3.18.1616.

Если добавить новый реквизит табличной части как реквизит внешней обработки (как показал на скриншоте devs), то у такого реквизита действительно нет типа "Произвольный", доступен только тип "ЛюбаяСсылка".
Если в процедуре ПриСозданииНаСервере указать ограничение типа, то такой вариант действительно не работает.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.__Партии");
	Элементы.РезультатПартия.ОграничениеТипа = ОписаниеТипа;
КонецПроцедуры


Как сделать, чтобы работало:

1. Удаляем реквизит табличной части, который был создан как реквизит внешней обработки

2. Добавлять реквизит формы для табличной части. В этом случае появляется тип "Произвольный"

3. В процедуре ПриСозданииНаСервере прописываем ограничение типа

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.__Партии");
	Элементы.РезультатПартия.ОграничениеТипа = ОписаниеТипа;
КонецПроцедуры


После этого все работает.

Остается непонятным вопрос, почему для реквизита табличной части, который создан как реквизит внешней обработки, нет типа "Произвольный".
Прикрепленные файлы:
user971134; tanat74; +2 Ответить
2. VmvLer 14.01.20 14:57 Сейчас в теме
расширение - это как черная дыра.
в него может войти болтающийся у входа мусор, но ничего из нее не выходит.

так что, если вы маячите перед горизонтом этой дыры на дырявом корыте, то вам будут
недоступны все те прелести, что рождены только в ней.

вы наверное не любитель фантастики, посему вам трудно понять креатив разрабов.
kabantus; Demetry2000; ResAndDev; nporrep; kaps22; ne_en; +6 Ответить
3. Opiumforme 10 14.01.20 16:27 Сейчас в теме
(2)Аххахахаха, хороший ответ)))
5. 33lab 925 14.01.20 18:50 Сейчас в теме
(0) Тип необходимо указать "произвольный" тогда проблем не будет.
user1998468; user1109821; skalex; Opiumforme; +4 Ответить
6. Opiumforme 10 29.01.20 13:21 Сейчас в теме
(5)Забыл написать спасибо. Спасибо!)

п.с. был в запарке(
10. Egor_R 30.09.21 16:07 Сейчас в теме
Коллеги, доброго дня!

Потратил несколько часов, чтобы найти рабочее решение (Платформа 8.3.18.1616).

Такой вариант не работает:

1. Создаем реквизит табличной части как реквизит внешней обработки
2. Указываем у него тип "ЛюбаяСсылка" (тип произвольный у реквизит внешней обработки указать Платформа не дает)
3. В процедуре ПриСозданииНаСервере прописываем ограничение типа

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.__Партии");
	Элементы.РезультатПартия.ОграничениеТипа = ОписаниеТипа;
КонецПроцедуры


Рабочий вариант:

1. Удаляем реквизит табличной части, который был создан как реквизит внешней обработки
2. Создаем реквизит табличной части как реквизит формы
3. Указываем у него тип "Произвольный"
4. В процедуре ПриСозданииНаСервере прописываем ограничение типа

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.__Партии");
	Элементы.РезультатПартия.ОграничениеТипа = ОписаниеТипа;
КонецПроцедуры


Работает отлично.
Прикрепленные файлы:
kabantus; vladir; +2 Ответить
Оставьте свое сообщение

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