|
v7: Список полей объекта | ☑ | ||
---|---|---|---|---|
0
vmgvmg
18.11.14
✎
15:35
|
Как программно узнать атрибуты и методы объекта?
И как это делает openconf (telepat)? |
|||
1
Ёпрст
18.11.14
✎
15:36
|
У класса - легко, а для всего остального - нафик не надо..
|
|||
2
Ёпрст
18.11.14
✎
15:37
|
на счет телепата = посмотреть файло ints.. там все подсказки
|
|||
3
vmgvmg
18.11.14
✎
15:41
|
с телепатом ясно. Спасибо.
И всё таки. Как узнать список полей объекта без обращения к конфигуратору и документации? |
|||
4
Злопчинский
18.11.14
✎
17:07
|
Для ы=1 по Метаданные.Документ("Реализация").Реквизит()
|
|||
5
Ёпрст
18.11.14
✎
17:14
|
(3) зачем ?
Зачем тебе все методы объекта ? |
|||
6
vmgvmg
18.11.14
✎
17:17
|
останавливается с ошибкой
поле Реквизит не обнаружено. Можно конечно через try catch. Есть ещё вариант Метаданные.Документ("Реализация").Реквизит.Выбран() |
|||
7
Ёпрст
18.11.14
✎
17:22
|
(6) И ?
|
|||
8
Ёпрст
18.11.14
✎
17:23
|
делай, как проще(быстрее) и делов то.
|
|||
9
Ёпрст
18.11.14
✎
17:23
|
ЗЫ: через метаданные - всех медленнее (если конечно, не закешируешь это)
|
|||
10
vmgvmg
18.11.14
✎
17:24
|
В ИТС в методконфигурации для 7-ки в форме списка журнала
Накладные Для Сч = 1 По Метаданные.Документ() Цикл ДокМД = Метаданные.Документ(Сч); Если ДокМД.Журнал.Идентификатор=гИдЖурнала Тогда ... КонецЕсли; КонецЦикла; Ошибка поле ДокМД.Журнал.Идентификатор не обнаружено Борюсь либо try-catch либо если 0 = ДокМД.Журнал.Выбран() тогда Продолжить; КонецЕсли; Как ещё? |
|||
11
vmgvmg
18.11.14
✎
17:30
|
0 = ДокМД.Журнал.Выбран()
означает, что у ДокМД.Журнал нет ни атрибутов ни методов ? |
|||
12
Ёпрст
18.11.14
✎
17:48
|
Лучше напиши, зачем это всё тебе надо
|
|||
13
Ёпрст
18.11.14
✎
17:49
|
На счет метаданных
http://www.mista.ru/tutor_1c/files/metadata_als.zip Распакуйте и поместите als-файл в каталог Program Files\1cv77\BIN и он будет подключен к Синтакс-помощнику. |
|||
14
vmgvmg
18.11.14
✎
18:12
|
>Лучше напиши, зачем это всё тебе надо
надо мне чтобы программно узнать атрибуты и методы объекта |
|||
15
antoneus
18.11.14
✎
18:54
|
(14) В 1cpp есть объект "Информатор". http://www.1cpp.ru/docum/html/Informer.html
|
|||
16
Ёпрст
18.11.14
✎
20:44
|
(15) это же для классов..
(14) Зачем ?! |
|||
17
antoneus
18.11.14
✎
21:41
|
(16) да не, он хавает всё, что ему ни скормишь. Ну, я проверял, конечно, на ИндексированнойТаблице только, но она, вроде как, не класс.
|
|||
18
antoneus
18.11.14
✎
21:43
|
(16) и на табличномполе, да. Кажет как миленький.
|
|||
19
vmgvmg
19.11.14
✎
11:48
|
й=СоздатьОбъект("Информатор");
Для Сч = 1 По Метаданные.Документ() Цикл ДокМД = Метаданные.Документ(Сч); Если й.СвойствоСуществует(ДокМД.Журнал,"Идентификатор") тогда ... конецесли КонецЦикла; Работает |
|||
20
Ёпрст
19.11.14
✎
11:49
|
(17) может быть, не помню я ужо, использовал когда то для определения методов в своём классе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |