Имя: Пароль:
1C
1С v8
Перечень реквизитов управляемой формы
0 Djiney
 
30.01.14
16:07
Здравствуйте. Возникла необходимость получить полный перечень реквизитов формы (Управляемая, v8.3). Нашел метод ПолучитьРеквизиты(<Путь>), все здорово. Но необходимо получить реквизиты не только формы, на которой он вызывается, но и для нескольких других форм (так же, управляемых). Эксперименты в отладчике с параметром "Путь" ни к чему не привели.

Можете что-нибудь посоветовать, как получить перечень реквизитов управляемой формы?

P.S. Именно формы, а не объекта, в метаданных я их не нашел.
1 Wobland
 
30.01.14
16:09
это так надо - эксперименты с отладчиками ставить вместо того, чтобы взять и прочитать?
2 zak555
 
30.01.14
16:13
ОбъектМетаданных: Форма (MetadataObject: Form)
3 Djiney
 
30.01.14
16:14
<Путь> (необязательный)

Тип: Строка.
Указывает путь к родительскому реквизиту. Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня. "

Эта информация мне не особо помогла, ибо примеры отсутствуют, что и в каком формате должно быть.
4 Wobland
 
30.01.14
16:15
(3) там чуть выше
УправляемаяФорма (ManagedForm)
ПолучитьРеквизиты (GetAttributes)
5 Djiney
 
30.01.14
16:23
(4) Поясните, пожалуйста. А то, похоже, к концу рабочего дня я хуже соображаю.
6 Wobland
 
30.01.14
16:25
>необходимо получить реквизиты для нескольких других форм
передаю по буквам:
Реквизиты1=ДругаяФорма1.ПолучитьРеквизиты();
Реквизиты2=ДругаяФорма2.ПолучитьРеквизиты();
Реквизиты3=ДругаяФорма3.ПолучитьРеквизиты();
...
7 Зойч
 
30.01.14
16:27
Путь нужен, чтобы получать колонки таблиц
8 Адский плющ
 
30.01.14
16:30
Метод работает только на сервере. Затащить на сервер форму может только она сама. Короче без вмешательства в формы не взлетит.
9 Зойч
 
30.01.14
16:31
Короче тухлый подход с получением реквизитов форм
10 Djiney
 
30.01.14
16:33
(6) К сожалению, ПолучитьРеквизиты() доступен только на сервере, и если подскажете как получить на сервере другую форму, или же передать её на сервер, буду очень благодарен

(2) Я нашел метода для получения реквизитов через объект метаданных, не там искал? Можно поподробнее.

(9) Посоветуйте другой, пожалуйста
11 Wobland
 
30.01.14
16:34
(10) советовать что-то ещё без задачи глупо
12 Djiney
 
30.01.14
16:40
(11) Ну, собственно, задача такая. Я перевожу большую самописную конфигурацию с обычных форм на управляемые. С формами более-менее нормально, нарисовать и накидать реквизитов не сложно. Кода же сотни тысяч строк. Потому делаю обработку, которая анализирует код, сравнивает его с новыми реквизитами, и преобразовавает. К примеру вместо "Дата" будет "Объект.Дата", вместо "РеквизитНаФорме" будет "ЭтаФорма.РеквизитнаФорме" и т.д. Не очень удобно каждый раз копировать весь код в формы, хочу сделать что-то более-менее универсальное. С объектами работает прекрасно, вопрос только к формам.
13 Wobland
 
30.01.14
16:44
а логику, логику клиент-серверную куда денешь? имхо, тут только тщательно страдать, человек не заменяется
14 Адский плющ
 
30.01.14
16:45
ха. А всё начиналось так сурьезно...
15 Djiney
 
30.01.14
16:46
(13) Разумеется, я и не говорил, что "нажал на кнопку и ушел пить чай, пришел - все готово". Но ведь просто читать кучу строк кода куда проще чем вчитываться в имя каждой переменной и править.
16 zladenuw
 
30.01.14
16:47
(13) та да. мы вот начинали с мелких справочник и там по нарастающей. но терпение закончилось на формах где куча всего и где надо логика клиент-сервер. то есть переписать с 0 :)
17 Djiney
 
30.01.14
16:48
(14) Ну, а облегчать себе жизнь - не серьезно?)
18 zladenuw
 
30.01.14
16:49
(17) так надо смотреть код. может его по другому можно выполнить. по этому лучше вдумывается что написано и что оно делает. и переписать с 0. если просто перенести не работает
19 Djiney
 
30.01.14
16:54
(18) Я сам обожаю красивый и деликатный код, стараюсь всегда все оптимизировать. А в данном случае - железо мощное, на толстом клиенте все работает без проблем, а заказчик нетерпеливый, так что я бы рад все переписать, да некогда
20 Wobland
 
30.01.14
16:55
(19) меня вот трамвай тоже долго возит
21 Djiney
 
30.01.14
17:02
(20) Можно, конечно, устроить длинную дискуссию о том, как полезно ходить пешком, или ездить на метро, как здорово летать на вертолете или изобретать телепорт, но, тем не менее, хотелось бы что-нибудь по делу.
22 Wobland
 
30.01.14
17:03
(21) скажу другими буквами. такая работа стоит времени. судя по всему, немалого. она так устроена, она не виновата
23 Wobland
 
30.01.14
17:04
и нечего подпрыгивать на попе только потому, что кто-то этого не понимает
24 Wobland
 
30.01.14
17:10
25 Djiney
 
30.01.14
18:20
(24) Ну, так всегда было и будет. Когда-то не было другого способа вспахивать поле, кроме как примитивной лопатой. Затем кто-то додумался до плуга с быками, а потом - до трактора.

Я не спрашивал ничего не возможного, я лишь спросил, есть ли способ получать реквизиты формы не из самой формы это могло потребоваться для сотни других целей.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший