|
Есть универсальный метод, чтобы проверить наличие свойств объекта? |
☑ |
0
ИС-2
29.01.13
✎
09:13
|
Например, мне сейчас надо проверить есть у элемента формы свойство "Данные". В голову лезит пока только Попытка Исключение. Как можно проверить наличие свойства?
|
|
1
mikecool
29.01.13
✎
09:14
|
запрос
|
|
2
ИС-2
29.01.13
✎
09:19
|
(1) ага, запрос к форме элемента :D
|
|
3
MaxS
29.01.13
✎
09:22
|
Проверять тип элемента для начала
|
|
4
DrShad
29.01.13
✎
09:24
|
оно есть у всех элементов формы, но не у всех заполнено
|
|
5
Рэйв
29.01.13
✎
09:25
|
(0)>>
Не путал бы ты объект и элемент формы.
|
|
6
DrShad
29.01.13
✎
09:26
|
(3) +1
|
|
7
Рэйв
29.01.13
✎
09:27
|
А для объекта через
//-------------
Если ОбъектИлиСсылка.Метаданные().Реквизиты.Найти("Имя")<>Неопределено Тогда
Сообщить("Есть");
Иначе
Сообщить("Нет");
КонецЕсли;
|
|
8
MaxisUssr
29.01.13
✎
09:30
|
(0)
В свое время искал такой метод, но только искал свойства "Доступность" и "ТолькоПросмотр" у произвольных элементов формы - в итоге пришлось забивать все через "Если Тогда"
|
|
9
Reset
29.01.13
✎
09:52
|
(0) Оно у всех элементов управления, расположенных на форме есть. Зачем проверять?
+1 к(4)
ЗЫ - Р-р про обычные формы
|
|
10
RomaH
naïve
29.01.13
✎
09:59
|
в типовых интересный способ предложили - через ЗаполнитьЗначенияСвойств()
Создаешь структуру с искомым ключем
пишеш в этот ключ новый уникальный идентификатор
и заполняешь свойства из объекта
если уникальный идентификатор изменился - значит есть
|
|
11
orefkov
29.01.13
✎
10:25
|
(0)
Изучай ветку
(10)
1Cовцы сами себе трудности любят создавать.
ИЧСХ, на внутреннем уровне движка 1С все необходимое для организации рефлексии есть, надо просто разработчикам платформы вынести это наружу - там работы на 2 часа, создать встроенный объект Информатор. Документацию писать дольше придется.
|
|
12
Rebelx
29.01.13
✎
10:28
|
Структура = Новый Структура("Данные", NULL);
ЗаполнитьЗначенияСвойств(Структура, Объект);
Если Структура.Данные <> NULL тогда
// свойство есть
Иначе
// скорее всего свойства нет
КонецЕсли;
|
|