Имя: Пароль:
1C
 
Как в цикле "пробежаться" по реквизитам формы
0 puls
 
09.08.10
10:21
Всем привет. Казалось бы примитив - а не работает.
Для Каждого РеквФормы Из ЭтаФорма.Метаданные().Реквизиты Цикл
...

А массив реквизитов - пустой. Хотя в конфигураторе смотрю на вкладке реквизитов формы - их КУУЧА
1 Defender aka LINN
 
09.08.10
10:23
Рекомендую выяснить, что возвращает "ЭтаФорма.Метаданные()". Ну чисто так, чтобы глупостями не страдать.
А по теме - никак. Переходи на 8.2
2 puls
 
09.08.10
10:23
(1) 1С:Предприятие 8.2 (8.2.11.236)
3 puls
 
09.08.10
10:25
(1) ЭтаФорма.Метаданные() возвращает - все нормуль

ЭтаФорма.Метаданные()    Перемещение живка    ОбъектМетаданных
ДополнительнаяФорма        Неопределено
Имя    "ПеремещениеЖивка"    Строка
Комментарий    ""    Строка
Макеты    КоллекцияОбъектовМетаданных    КоллекцияОбъектовМетаданных
МодульОбъекта        Неопределено
ОсновнаяФорма    Форма    ОбъектМетаданных
Реквизиты    КоллекцияОбъектовМетаданных    КоллекцияОбъектовМетаданных
Синоним    "Перемещение живка"    Строка
Справка        Неопределено
ТабличныеЧасти    КоллекцияОбъектовМетаданных    КоллекцияОбъектовМетаданных
Формы    КоллекцияОбъектовМетаданных    КоллекцияОбъектовМетаданных
4 puls
 
09.08.10
10:26
Да, забыл сказать что форма - внешней обработки
5 Defender aka LINN
 
09.08.10
10:27
(3) Не слушаешь ты меня...
6 Defender aka LINN
 
09.08.10
10:28
Ткни пальцем, где тут форма: http://s06.radikal.ru/i179/1008/b8/6e3f54a9ff01.jpg
7 Rusty Nail
 
09.08.10
10:31
Для Каждого Эл Из ЭтаФорма.ПодчиненныеЭлементы Цикл

не пойдет?
8 Defender aka LINN
 
09.08.10
10:33
(7) Это элементы формы, а не реквизиты. К тому же, не все.
9 Rusty Nail
 
09.08.10
10:36
(8) мда, соврамши (((
10 puls
 
09.08.10
10:38
(5) Прошу просчения. не догоняю слегка. Возвращает Значение: Перемещение живка, Тип: ОбъектМетаданных
11 Defender aka LINN
 
09.08.10
10:42
(10) Очисти у формы основной реквизит, поймешь.
З.Ы. Форма, конечно, неуправляемая, да?
12 puls
 
09.08.10
10:42
неуправляемая
13 puls
 
09.08.10
10:44
(11) то бишь не получится по реквизитам пройтись?
14 vde69
 
09.08.10
10:45
все работает


   Попытка
       Обработка = Обработки[СокрЛП(ИмяОбработки)].Создать();
       ПараметрыОбработки.Очистить();        
       Для Каждого Рекв из    Обработка.Метаданные().Реквизиты Цикл
           Если Рекв.Имя = "Авто_Регламент" Тогда
               Продолжить;
           КонецЕсли;
           НоваяСтрока = ПараметрыОбработки.Добавить();
           НоваяСтрока.ИмяПараметра      = Рекв.Имя;
           НоваяСтрока.ЗначениеПараметра = Обработка[Рекв.Имя];            
       КонецЦикла;
   Исключение
   КонецПопытки;
15 vmv
 
09.08.10
10:45
ЭлементыФормы = ЭтаФорма.ЭлементыФормы;

Для Каждого ЭлементФормы Из ЭлементыФормы Цикл
   
   // это имя реквизита объекта или формы, на форме этот элемент данных может быть не в одном экземпляре
   ДаннныеИмя = ЭлементФормы.Данные;  
   
   // это имя элемента формы связанного с данными
   ЭлементФормыИмя = ЭлементФормы.Имя;
   
КонецЦикла;
16 Defender aka LINN
 
09.08.10
10:46
(14) У (0) нет реквизитов обработки, есть только реквизиты формы.
(15) А если нет элемента формы? Будет обломайтунг.
17 puls
 
09.08.10
10:48
(15) так не прокатит. реквизит формы не обязательно должон быть ее элементом
18 vde69
 
09.08.10
10:48
(16) ну пусть заведет, какие проблеммы?
19 vde69
 
09.08.10
10:49
(18) реквизиты обработки и нужны только как внешний энтерфейс, а реквизиты формы это ВНУТРЕНЕЕ описание
20 puls
 
09.08.10
10:49
задам вопрос более корректно: МОЖНО ЛИ ПЕРЕБРАТЬ РЕКВИЗИТЫ ФОРМЫ ВНЕШНЕЙ ОБРАБОТКИ, И ЕСЛИ ОТВЕТ УТВЕРДИТЕЛЬНЫЙ, ТО КАК? ))))
21 vde69
 
09.08.10
10:51
(20) теоретически можно только ВНУТРИ ЭТОЙ ОБРАБОТКИ, так-как они ВНУТРЕНИЕ
22 Defender aka LINN
 
09.08.10
10:51
(20) Не ори, не дома. И дома не ори.
У неуправляемой формы - никак. На то она и неуправляемая.
23 vmv
 
09.08.10
10:51
(16) вопрос автора "Как в цикле "пробежаться" по реквизитам формы"

Если реквизит объекта не расположен на форме, то смысл его получения при обходе этой формы каков?

Я использую такие обходы для тонкого управления доступностью полей формы, когда объект содержит рассширенные статусы, введенные искуственно, например "в раболте, утвержден, подписан, в ахзве". Для различных статусов свои наборы доступности ДАННЫХ объекта. А уже где и сколько раз они расположены на форме - этот простейший обход ловит.
24 Defender aka LINN
 
09.08.10
10:51
(18) Понятия не имею, надо у него и спрашивать :)
25 puls
 
09.08.10
10:52
(20) Мне внутри и надо. именно из модуля этой же формы
26 Defender aka LINN
 
09.08.10
10:53
(23) Разницу между реквизитами объекта и формы понимаешь?
(25) Тебе в (18) уже какбэ намекнули.
27 vmv
 
09.08.10
10:56
23. не блин, не пониманию.

работы с данными мне достаточно, а пришлепки на формах не столь важны
28 TormozIT
 
гуру
09.08.10
11:05
Строго говоря можно только через ... непрямой путь (http://infostart.ru/public/57431/)