1с динамический список не открывается элемент
в нем прописал
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, ");
НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет";
НоваяКолонка.Заголовок = "Приоритет(Ч)";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок";
НоваяКолонка.Заголовок = "Крайний срок";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
Колонки появились. Но в них не отображаются значения! Отбор меж тем работает. Добавил реквизиты в расширение - не помогло. Что я делаю не так?!
(0) запрос измени в расширении - в данных динамического списка нет твоих реквизитовА что смотреть? Строки в СписокПриПолученииДанныхНаСервереПосле посмотрел, там нет этих данных :(
(4) Не, ошибся - есть там.
Строки[45].Значение.Данные.ЧисловойПриоритет 77 Число
3 варианта. А в статьях что в инете нашел все было просто, так как я и написал изначально :( Буду пробовать сейчас
(14) какие три варианта?
(10)+(12)+(14) это один код по кусочкам - просто получилось так
(0) это из БСП если не хочешь так то попробуй вызвать код из БСП
Ну и "ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СтруктураПараметров);" конечно жеМожет с компоновщиком что то сделать надо?
Коллеги! неужели никто такого не делал? Не поверю никак!
(23) похоже это не поле ввода, а что-то другое. Почему влруг поле ввода?
(28) ну а почему отбор работает если не поменял текст запроса?
может с компоновщиком динамического запроса что нибудь надо сделать?
(31) Пробовал - не помогло. И потом я подозреваю что это ограничит возможность сортировки списка.
(32) Не парь мозг СтрЗаменить. Ты все равно затащил форму в расширение, сделай все по-человечески.
Во-первых добавление (заимствование) формы в расширение может привести к некоторым нежелательным эффектам, которые могут возникнуть после обновления конфигурации. Приведем немного теории.
Платформа использует сразу три формы:
Данные формы взаимодействуют между собой и в результате такого взаимодействия получается Результирующая форма, которую видит пользователь. В ходе взаимодействия указанных форм может возникнуть нежелательная ситуация, например, мы доработали форму в расширении, потом в новом релизе добавились реквизиты и они на форме не отображаются! Более подробно тут.
Во-вторых добавление формы в расширение привело бы к автоматическому добавлению всех реквизитов этого объекта и объектов метаданных (соответствующих ссылочным типам реквизитов объекта) в данное расширение, что загромождало бы само расширение и также не желательно.
Поэтому возникла задача программного создания элемента формы для добавленного реквизита в самом расширении, этому и посвящена данная публикация."
вот поэтому я должен (ТЗ такое) добавить в расширении в форму программно.
Есть динамический список документов который строиться запросом и выводиться в журнал документов.
Как открыть одну из записей данного динамического списка?
ТекСтрока = Элементы.СписокДинам.ТекущаяСтрока;Форма = ПолучитьФорму("Справочник.МойСпр.ФормаОбъекта");
Форма.Открыть();
ФЛ = Новый Структура("Ключ", ТекСтрока);
+3Форма = ПолучитьФорму("Справочник.МойСпр.ФормаОбъекта", ФЛ); У динамического списка должна быть установлена основная таблица
и все события будут работать без лишнего кода
Динамический список может оказаться и без основной таблицы. Например, я собираю запросом несколько документов разного вида, никаким макаром в принципе между собой не связанных даже регистрами, используя конструкцию ОБЪЕДИНИТЬ ВСЕ. Основной таблицы здесь как таковой и быть не может, а открыть соответствующий документ из списка требуется. Что сделала:
1)в динамическом списке СписокОтзывов для Ссылка поставила галочку "Использовать всегда". Если не установить, то если элемент не отображается на форме, то он просто выкидывается из выборки, что вполне логично и правильно. Данный признак позволяет получать данные в любом случае;
2)прописала свою кнопку открытия с кодом ОткрытьЗначение(Элементы.СписокОтзывов.ТекущиеДанные.Ссылка);
3)чтоб в таблице по двойному щелчку мыши открывалась форма также прописываем
&НаКлиенте
Процедура СписокОтзывовПередНачаломИзменения(Элемент, Отказ)
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
КонецПроцедуры
и вот в принципе все )))))
yuri76; alexnov; temdj; tolyan_ekb; user1244697; bubonya; assa; Goggy; surr; fokses; mcgoblin; OlgaKonyakhina; Socrat; webresurs; vaniiok; NDM; join2us; + 17 – Ответить"Есть динамический список документов который строиться запросом и выводиться в журнал документов.
Как открыть одну из записей данного динамического списка? "
Проделайте следующее:
1. В конфигураторе, в редакторе форм, перейдите в нижнюю часть, в зону преварительного просмотра формы, наведите указатель мыши на область таблицы динамического списка, активизируйте область нажатием левой кнопки мыши (появится рамка синего цвета), затем правой кнопкой мыши активизируйте контекстное меню, выберите пункт Свойства.
2. Откроется панель свойств таблицы. Переходите в нижнюю часть. Находите группу События. Рядом с надписью ПриНачалеИзменения пустое поле с двумя кнопочками. Нажмите крайнюю справа и конфигуратор создаст в модуле формы соответствующую процедуру для обработки данного события.
3. Проместите в тело процедуры такую команду такого образца
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
В данном случае, не подходят события ПриАктивизацииСтроки . Поля . Ячейки. - в момент открытия формы активизируется первая строка таблицы и будет открываться первое в таблице значение
Читайте также: