|
v8: Получение списока имён параметров Макета Табличного документа | ☑ | ||
---|---|---|---|---|
0
greenif
23.09.12
✎
17:19
|
Не всегда подходит Заполнить.
Промахался больше двух часов. Может будет полезно: |
|||
1
greenif
23.09.12
✎
17:20
|
<code>
Функция НайтиПараметрыВШаблоне(Шаблон) СписокПараметров = Новый СписокЗначений; НачалоПараметра = 0; КонецПараметра = 0; Для Счт = 1 По СтрДлина(Шаблон) Цикл Если Сред(Шаблон,Счт,1) = "[" Тогда НачалоПараметра = Счт + 1; КонецЕсли; Если Сред(Шаблон,Счт,1) = "]" Тогда КонецПараметра = Счт - 1; КонецЕсли; Если (НачалоПараметра > 0) И (КонецПараметра > 0) Тогда СписокПараметров.Добавить(Сред(Шаблон, НачалоПараметра , КонецПараметра - НачалоПараметра + 1)); НачалоПараметра = 0; КонецПараметра = 0; КонецЕсли; КонецЦикла; Возврат СписокПараметров; КонецФункции Функция ПолучитьСписокПараметровОбласти(ОбластьМакета) СписокПараметров = Новый СписокЗначений; Для Строчка = 0 По ОбластьМакета.ВысотаТаблицы - 1 цикл Для Колонка = 0 По ОбластьМакета.ШиринаТаблицы - 1 цикл Ячейка = ОбластьМакета.Область(Строчка,Колонка); Если Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда Для Каждого Параметр ИЗ НайтиПараметрыВШаблоне(СокрЛП(Ячейка.Текст)) Цикл Если СписокПараметров.НайтиПоЗначению(Параметр) = Неопределено Тогда СписокПараметров.Добавить(Параметр); КонецЕсли; КонецЦикла; ИначеЕсли Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда Если СписокПараметров.НайтиПоЗначению(Ячейка.Параметр) = Неопределено Тогда СписокПараметров.Добавить(Ячейка.Параметр); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; Возврат СписокПараметров; КонецФункции </code> |
|||
2
Лодырь
23.09.12
✎
17:25
|
респект и уважуха
|
|||
3
el-gamberro
23.09.12
✎
17:28
|
що це за извращение?:))
|
|||
4
greenif
23.09.12
✎
18:57
|
баг фикс ;-)
Функция НайтиПараметрыВШаблоне(Шаблон) СписокПараметров = Новый СписокЗначений; НачалоПараметра = 0; КонецПараметра = 0; Для Счт = 1 По СтрДлина(Шаблон) Цикл Если Сред(Шаблон,Счт,1) = "[" Тогда НачалоПараметра = Счт + 1; КонецЕсли; Если Сред(Шаблон,Счт,1) = "]" Тогда КонецПараметра = Счт - 1; КонецЕсли; Если (НачалоПараметра > 0) И (КонецПараметра > 0) Тогда СписокПараметров.Добавить(Сред(Шаблон, НачалоПараметра , КонецПараметра - НачалоПараметра + 1)); НачалоПараметра = 0; КонецПараметра = 0; КонецЕсли; КонецЦикла; Возврат СписокПараметров; КонецФункции Функция ПолучитьСписокПараметровОбласти(ОбластьМакета) СписокПараметров = Новый СписокЗначений; Лево = ОбластьМакета.ТекущаяОбласть.Лево; Если Лево = 0 тогда Лево = 1; КонецЕсли; Верх = ОбластьМакета.ТекущаяОбласть.Верх; Если Верх = 0 тогда Верх = 1; КонецЕсли; Для Строчка = Верх По Верх + ОбластьМакета.ВысотаТаблицы - 1 цикл Для Колонка = Лево По Лево + ОбластьМакета.ШиринаТаблицы - 1 цикл Ячейка = ОбластьМакета.Область(Строчка,Колонка); Если Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда Для Каждого Параметр ИЗ НайтиПараметрыВШаблоне(СокрЛП(Ячейка.Текст)) Цикл Если СписокПараметров.НайтиПоЗначению(Параметр) = Неопределено Тогда СписокПараметров.Добавить(Параметр); КонецЕсли; КонецЦикла; ИначеЕсли Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда Если СписокПараметров.НайтиПоЗначению(Ячейка.Параметр) = Неопределено Тогда СписокПараметров.Добавить(Ячейка.Параметр); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; Возврат СписокПараметров; КонецФункции |
|||
5
DrShad
23.09.12
✎
19:01
|
пипец это же жестяная жесть
|
|||
6
Wobland
23.09.12
✎
19:03
|
(0) чувак, ты крут! ещё немного, и ты дойдёшь до обхода коллекции Параметры. так держать!
|
|||
7
nunzio
23.09.12
✎
19:22
|
ТабличныйДокумент (SpreadsheetDocument)
Параметры (Parameters) Использование: Только чтение. Описание: Тип: ПараметрыМакетаТабличногоДокумента. Содержит коллекцию параметров макета табличного документа. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: ПараметрыМакетаТабличногоДокумента |
|||
8
Classic
23.09.12
✎
19:48
|
(0)
Жесть конечно. Лучше перепиши на поиск именованных областей екселя. |
|||
9
greenif
23.09.12
✎
23:31
|
Ну если кому не интересно просто пропустите.
Обход коллекции параметры, это конечно отлично и даже значения параметров ты получишь. Вот только названия параметров с этой коллекции тебе получить не удастся. |
|||
10
zladenuw
23.09.12
✎
23:43
|
а откуда идем и за чем ?
|
|||
11
SeraFim
24.09.12
✎
02:27
|
чуток извращённее сделал:
v8: Список имен параметров табличного документа |
|||
12
greenif
24.09.12
✎
13:17
|
(11) По факту тоже самое, к сожалению на твой пост раньше не попадал, время бы сэкономил.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |