Инструменты пользователя

Инструменты сайта


dev1c:param_name_tab

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dev1c:param_name_tab [2025/01/31 12:13] – создано admin16dev1c:param_name_tab [2025/01/31 12:18] (текущий) admin16
Строка 1: Строка 1:
-Список имен параметров табличного документа+====== Список имен параметров табличного документа ======
  
-<nowiki>+<code>
 Функция ПолучитьМассивИменПараметров(ОбластьТабДокумента) Экспорт Функция ПолучитьМассивИменПараметров(ОбластьТабДокумента) Экспорт
    МассивИменПараметров = Новый Массив;    МассивИменПараметров = Новый Массив;
Строка 32: Строка 32:
    Возврат МассивИменПараметров;    Возврат МассивИменПараметров;
 КонецФункции КонецФункции
-</nowiki>+</code> 
 + 
 +Или через сериализацию 
 + 
 +<code> 
 +Функция ПолучитьПараметрыТабличногоДокумента(ТабличныйДокумент) 
 +    ОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(ТабличныйДокумент); 
 +     
 +    ИменаПараметров = Новый Соответствие; 
 +    Для Каждого ДанныеСтрок Из ОбъектXDTO.rowsItem Цикл 
 +        Для Каждого Колонка Из ДанныеСтрок.row.c Цикл 
 +            ИмяПараметра = Колонка.c.parameter;  
 +            Если ИмяПараметра <> Неопределено Тогда 
 +                ИменаПараметров.Вставить(ИмяПараметра); 
 +            КонецЕсли; 
 +            Если Колонка.c.f > 0 Тогда  
 +                Формат = ОбъектXDTO.format[Колонка.c.f - 1]; 
 +                Если Формат.fillType = ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда 
 +                    Для Каждого Содержание Из Колонка.c.tl.item Цикл 
 +                        ПараметрыШаблона = ПараметрыШаблона(Содержание.content); 
 +                        Для Каждого ИмяПараметра Из ПараметрыШаблона Цикл 
 +                            ИменаПараметров.Вставить(ИмяПараметра); 
 +                        КонецЦикла; 
 +                    КонецЦикла; 
 +                КонецЕсли; 
 +            КонецЕсли; 
 +        КонецЦикла; 
 +    КонецЦикла; 
 +     
 +    Результат = Новый Соответствие; 
 +    Для Каждого КлючИЗначение Из ИменаПараметров Цикл 
 +        Результат[КлючИЗначение.Ключ] = ТабличныйДокумент.Параметры[КлючИЗначение.Ключ]; 
 +    КонецЦикла; 
 +     
 +    Возврат Результат; 
 +КонецФункции 
 + 
 +Функция ПараметрыШаблона(Знач Строка) 
 +    Результат = Новый Массив; 
 +    Пока Истина Цикл 
 +        Начало = Найти(Строка, "["); 
 +        Если Начало = 0 Тогда 
 +            Прервать; 
 +        КонецЕсли; 
 +        Конец = Найти(Строка, "]"); 
 +        Если Конец = 0 Тогда 
 +            Прервать; 
 +        КонецЕсли; 
 +         
 +        ИмяПараметра = Сред(Строка, Начало + 1, Конец - Начало - 1); 
 +        Если Не ПустаяСтрока(ИмяПараметра) Тогда 
 +            Результат.Добавить(ИмяПараметра); 
 +        КонецЕсли; 
 +        Строка = Сред(Строка, Конец + 1); 
 +    КонецЦикла; 
 +    Возврат Результат; 
 +КонецФункции 
 +</code>
dev1c/param_name_tab.1738325622.txt.gz · Последнее изменение: 2025/01/31 12:13 — admin16

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki