Имя: Пароль:
1C
1С v8
Как собрать все параметры макета?
,
0 mzelensky
 
17.10.13
09:23
Доброго всем!
Имеется некий произвольный макет. В макете кучка параметров (причем параметры имеют место быть в ячейках как с типом "Параметр" так и с типом "Шаблон").

Вопрос - как с меньшими усилиями получить список всех этих параметров (текстовые имена параметров). Как-то задавался уже этим вопросом, но нормального решения не нашел...вот решил вернуться к решению проблемы.
1 KishMish
 
17.10.13
09:40
Макет.Праметры
2 mzelensky
 
17.10.13
10:10
(1) Сам то пробовал?
Таким образомможно получить значения этих параметров, а мне нужны имена самих параметров
3 KishMish
 
17.10.13
10:31
(2) Параметры это структура. А в структуре можно пробежаться по строкам.
4 KishMish
 
17.10.13
10:39
(2)+(3) согласен, не получается. не так просто по крайней мере.
5 mzelensky
 
17.10.13
10:39
(3) да и получения ЗНАЧЕНИЯ ключей структуры, а не сами "КЛЮЧИ".

Мне нужны КЛЮЧИ структуры.
6 mzelensky
 
17.10.13
10:40
(4) У меня вообще не получается туда добраться. Вот как получить "ключи" данной структуры?
7 KishMish
 
17.10.13
10:51
ну тогда цикл по ячейкам,

Процедура КнопкаСформироватьНажатие(Кнопка)
    Макет=ПолучитьМакет("Макет");
    Для а=1 по 20 Цикл
        Для б=1 по 20 Цикл
            Обл=Макет.Область(а,б);
            Если Обл.Заполнение=ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда
                Сообщить(Обл.Параметр);
            ИначеЕсли Обл.Заполнение=ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда
                Сообщить(Обл.Текст);
//тут надо вытаскивать то что заключено в скобки.
            КонецЕсли;                   
        КонецЦикла;    
    КонецЦикла;    
КонецПроцедуры
8 mzelensky
 
17.10.13
11:45
(7) К этому варианту я уже приходил. Но жутко не хочется гонять циклы по всей таблице с обработкой всех ячеек.

Вот и пытаюсь найти другой вариант...если такой вообще существует. Вообще странно, что разрабы не додумались дать доступ на чтение этих параметров.
9 Галахад
 
гуру
17.10.13
11:47
А для чего это все? Что дальше делаете с полученными данными?
10 1dvd
 
17.10.13
11:50
(9) +1

что-то не так в консерватории
11 palpetrovich
 
17.10.13
11:53
(9)  чужой, но страшно нужный, макет к примеру :)
12 mzelensky
 
17.10.13
11:55
(9) Применяю по назначению :)

Пользователю доступна возможность редактирования типовых макетов документов. При этом он может редактировать области макета, удалять или перемещать параметры в пределах определенных областей.

А это все для того, чтобы человек видел в окошке список параметров, которыми он может оперировать в макете.
13 Галахад
 
гуру
17.10.13
11:56
(12) Гм. А как в УТ 11 реализовано не подходит?
14 mzelensky
 
17.10.13
11:58
(13) А как там реализовано? У меня нет под рукой. Приведи пример.
15 Галахад
 
гуру
17.10.13
11:59
(14) Какой пример? Печатные формы меняются в режиме предприятия.
Или тебе код нужен?
16 DexterMorgan
 
17.10.13
12:01
17 mzelensky
 
17.10.13
12:01
(15) У меня тоже они меняются в режиме предприятия :)

Код конечно. Я же говорю, нет у меня в шаговой доступности УТ11, не могу посмотреть...
18 Галахад
 
гуру
17.10.13
12:02
(17) У меня есть, но лень смотреть. :-)
19 DexterMorgan
 
17.10.13
12:03
(18) Параметры в УТ11 нельзя добавлять/менять
20 mzelensky
 
17.10.13
12:03
(16) понравилась там фраза:

"Я тоже недавно искал что-то вроде и не нашел. Как объясняют, в фирме 1С этот вопрос не считают актуальным."
21 DexterMorgan
 
17.10.13
12:04
(20) :)
22 mzelensky
 
17.10.13
12:06
в (16) выложена функция по принципу (7)

Попробую ее поюзать.
23 Бледно Золотистый
 
17.10.13
12:11
А если ЗначениеВСтрокуВнутр(Макет)? возможно оттуда можно выдернуть имена параметров.
24 mzelensky
 
17.10.13
12:12
(23) не совсем понимаю как. Ну будет у тебя строка на выходе и что дальше с ней делать?
25 1dvd
 
17.10.13
12:13
(24) дык, парсить
26 mzelensky
 
17.10.13
12:14
(25) Дык, по ячейкам парсить удобней
27 1dvd
 
17.10.13
12:15
(26) Дык, 100500 миллионов ячеек пропарсить или текст на несколько килобайт...
28 mzelensky
 
17.10.13
12:26
(27) Дык, текст на несколько килобайт может иметь ого-го какую длину и в нем нет доп параметров, которые имеет табличный документ (например "Обл.Заполнение=ТипЗаполненияОбластиТабличногоДокумента.Параметр")
29 mzelensky
 
17.10.13
12:26
В общем ладно...дык...вставил функцию из (16), вроде работает норм. На этом и остановлюсь.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший