Программная работа с пользовательскими реквизитами
Приветствую коллеги,
На управляемых формах есть возможность добавить пользовательский элемент к форме списка (Еще - Изменить форму - встаем на "Ссылка" (или другой реквизит ссылочного типа) - Добавить - выбираем реквизит). Возможность очень удобная, но хотелсь бы её сделать еще более удобной для конечного пользователя и дать ему возможность нажатием одной кнопки вывести сразу несколько пользовательских элементов себе на форму.
Проблема в том, что я не знаю где эти элементы хранятся. В коллекции значений Элементы их не существует. Я смог найти эти элементы через ЭтаФорма.Список.ТекущийЭлемент (если предварительно выбрать этот элемент в Предприятии), но при попытке понять что это (с помощью табло) платформа 8.3.13.1644 вылетает (даже не пытаясь записать дамп).
Есть ли у кого опыт программной работы с этими пользовательскими элементами?
На управляемых формах есть возможность добавить пользовательский элемент к форме списка (Еще - Изменить форму - встаем на "Ссылка" (или другой реквизит ссылочного типа) - Добавить - выбираем реквизит). Возможность очень удобная, но хотелсь бы её сделать еще более удобной для конечного пользователя и дать ему возможность нажатием одной кнопки вывести сразу несколько пользовательских элементов себе на форму.
Проблема в том, что я не знаю где эти элементы хранятся. В коллекции значений Элементы их не существует. Я смог найти эти элементы через ЭтаФорма.Список.ТекущийЭлемент (если предварительно выбрать этот элемент в Предприятии), но при попытке понять что это (с помощью табло) платформа 8.3.13.1644 вылетает (даже не пытаясь записать дамп).
Есть ли у кого опыт программной работы с этими пользовательскими элементами?
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(7) Как вариант запрос тоже можно модифицировать программно, но элементы все равно создавать, хоть они и появятся в выборе для пользователей.
СтрокаДляПоиска = "
|ИЗ
| Справочник.Партнеры КАК СправочникПартнеры";
СтрокаДляЗамены = ",
| СправочникПартнеры.НужныйРеквизит1 КАК НужныйРеквизит1,
| СправочникПартнеры.НужныйРеквизит2 КАК НужныйРеквизит2
|ИЗ
| Справочник.Партнеры КАК СправочникПартнеры";
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, СтрокаДляПоиска, СтрокаДляЗамены);
Показать
(10)Странно, а примеры поломки описанные в интернете можно посмотреть.
Я понимаю, если у меня не ломается, это не значит что у всех не ломается, но не видел сообщений о массовой поломке расширений сильно измененных конф. Смысл расширения это снизить количество изменений в самой типовой конфе. В идеале вообще не трогать типовую и доработать функционал под свои нужды только с помощью расширения. Но если конфа уже дорабатывается, то с помощью расширения есть смысл изменения типового функционала перенести в расширение только для того что бы облегчить процесс обновления.
ЗЫ ИМХО ваше утверждение о поломках расширений сильно преувеличены, и да, кстати, не обязательно все делать на пустой конфе, программно менять объекты можно в высоко нагруженной и сильно заполненной конфе. Для подобных вещей кстати предназначены хранилища. Разрабатывается и тестируется с подключенным хранилищем, а затем доработки переносятся в рабочую базу.
Я понимаю, если у меня не ломается, это не значит что у всех не ломается, но не видел сообщений о массовой поломке расширений сильно измененных конф. Смысл расширения это снизить количество изменений в самой типовой конфе. В идеале вообще не трогать типовую и доработать функционал под свои нужды только с помощью расширения. Но если конфа уже дорабатывается, то с помощью расширения есть смысл изменения типового функционала перенести в расширение только для того что бы облегчить процесс обновления.
ЗЫ ИМХО ваше утверждение о поломках расширений сильно преувеличены, и да, кстати, не обязательно все делать на пустой конфе, программно менять объекты можно в высоко нагруженной и сильно заполненной конфе. Для подобных вещей кстати предназначены хранилища. Разрабатывается и тестируется с подключенным хранилищем, а затем доработки переносятся в рабочую базу.
(11) Я о том, что при изменении в обновленной конфе любого контролируемого в расширении реквизита, расширение не запустится. Пример обновление УТ 11.3 на 11.4
При этом, если расширение было создано в пустой конфигурации (не могу сейчас найти публикацию по теме), то там только режим совместимости надо было бы поправить. Смысл в том, что в пустой конфе создается объект, в нем нужная форма, и все изменения производятся программно в модуле формы. Влияние изменения других объектов, которые тащатся автоматом в классическое расширение, на такое расширение минимально.
При этом, если расширение было создано в пустой конфигурации (не могу сейчас найти публикацию по теме), то там только режим совместимости надо было бы поправить. Смысл в том, что в пустой конфе создается объект, в нем нужная форма, и все изменения производятся программно в модуле формы. Влияние изменения других объектов, которые тащатся автоматом в классическое расширение, на такое расширение минимально.
(5)Не забыть проверить реквизит объекта ссылка, должен быть с признаком "использовать всегда".
А вообще достаточно сделать команду и вывести нужные колонки динамически переформировав табличную часть, да и не только, можно форму настроить как нужно, добавив или убрав любые реквизиты.
А вообще достаточно сделать команду и вывести нужные колонки динамически переформировав табличную часть, да и не только, можно форму настроить как нужно, добавив или убрав любые реквизиты.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)