Динамический список: примитивные типы при программной установке текста запроса.

1. Ксакеп 63 07.04.17 09:45 Сейчас в теме
Имеется УФ с динамическим списком. Текст запроса динамического списка при начале работы системы не известен и устанавливается позже, при создании формы на сервере, через реквизит "Текст запроса".


	Форма.Список.ОсновнаяТаблица = "Справочник.Номенклатура";
	
	Форма.Список.ТекстЗапроса = "ВЫБРАТЬ
	|	СправочникНоменклатура.Ссылка КАК Ссылка,
	|	СправочникНоменклатура.Код КАК Код,
	|	СправочникНоменклатура.Наименование КАК Наименование,
	|	СправочникНоменклатура.Артикул КАК Артикул,
	|	СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	|	СправочникНоменклатура.Производитель КАК Производитель,
	|	СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры
	|ИЗ
	|	Справочник.Номенклатура КАК СправочникНоменклатура";

Показать


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


ВЫБРАТЬ
	"" КАК Ссылка,
	"" КАК Код,
	"" КАК Наименование,
	"" КАК Артикул,
	"" КАК ЕдиницаИзмерения,
	"" КАК Производитель,
	"" КАК ТипНоменклатуры

Показать


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




Если немного изменить текст заглушки, на следующий:



ВЫБРАТЬ
	"" КАК Ссылка,
	"" КАК Код,
	ВЫРАЗИТЬ("" КАК СТРОКА(100)) КАК Наименование,
	"" КАК Артикул,
	"" КАК ЕдиницаИзмерения,
	"" КАК Производитель,
	"" КАК ТипНоменклатуры

Показать


проблема отображения решается.



Могу предположить, что перед созданием формы на сервере происходит какая-то инициализация полей формы, имеющих зависимость от данных динамического списка. Может кто-то сталкивался, и может подсказать, как правильно решить возникшую проблему не задавая длину полей жестко?
По теме из базы знаний
Найденные решения
8. Ксакеп 63 07.04.17 10:54 Сейчас в теме
Элемент = Форма.Элементы.Вставить("Поле", Тип("ПолеФормы"));

После добавления фиктивного элемента все отрисовывается красиво.

Возможно есть специальный метод для этого, но не нашел.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. kolya_tlt 86 07.04.17 10:28 Сейчас в теме
(1) если вы меняете основную таблицу при определенных условиях, то это не лучшее решение. я бы сделал разные списки и показывал их в зависимости от этих же условий
5. Ксакеп 63 07.04.17 10:30 Сейчас в теме
(4) не вариант. задача в универсализации используемых объектов.
6. kolya_tlt 86 07.04.17 10:31 Сейчас в теме
(5) у вас десяток справочников имеют эти поля?
Наименование,
"" КАК Артикул,
"" КАК ЕдиницаИзмерения,
"" КАК Производитель,
"" КАК ТипНоменклатуры
7. Ксакеп 63 07.04.17 10:38 Сейчас в теме
(6) нет, десяток конфигураций =)

на самом деле это не единственная таблица в подобном контексте. существует еще несколько, и там различия более существенны.
2. Ксакеп 63 07.04.17 10:24 Сейчас в теме
А при программном добавлении на форму полей динамического списка - все красиво.
3. Ксакеп 63 07.04.17 10:25 Сейчас в теме
Причем, прописал добавление только одного поля, а отрисовались все проблемные. Чудеса.
8. Ксакеп 63 07.04.17 10:54 Сейчас в теме
Элемент = Форма.Элементы.Вставить("Поле", Тип("ПолеФормы"));

После добавления фиктивного элемента все отрисовывается красиво.

Возможно есть специальный метод для этого, но не нашел.
Оставьте свое сообщение

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