Имя: Пароль:
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) Ну, так всегда было и будет. Когда-то не было другого способа вспахивать поле, кроме как примитивной лопатой. Затем кто-то додумался до плуга с быками, а потом - до трактора.

Я не спрашивал ничего не возможного, я лишь спросил, есть ли способ получать реквизиты формы не из самой формы это могло потребоваться для сотни других целей.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn