Список имен параметров табличного документа

Функция ПолучитьМассивИменПараметров(ОбластьТабДокумента) Экспорт
   МассивИменПараметров = Новый Массив;
   Для НомерСтроки = 1 По ОбластьТабДокумента.ВысотаТаблицы Цикл
       Для НомерКолонки = 1 По ОбластьТабДокумента.ШиринаТаблицы Цикл
           Ячейка = ОбластьТабДокумента.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
           Если Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда
               //если такого параметра еще нет, то добавим его
               Если МассивИменПараметров.Найти(Ячейка.Параметр) = Неопределено тогда
                   МассивИменПараметров.Добавить(Ячейка.Параметр);
               КонецЕсли;
           ИначеЕсли Ячейка.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда
               //выделим все параметры в шаблоне в отдельные строки
               ТекстШаблона = Ячейка.Текст;
               ТекстШаблона = СтрЗаменить(ТекстШаблона, "[", Символы.ПС + "[");
               ТекстШаблона = СтрЗаменить(ТекстШаблона, "]", Символы.ПС);
               Для Счетчик = 1 По СтрЧислоСтрок(ТекстШаблона) Цикл
                   ТекСтрока = СтрПолучитьСтроку(ТекстШаблона, Счетчик);
                   Если Лев(ТекСтрока, 1) = "[" тогда
                       ИмяПараметра = Сред(ТекСтрока, 2);
                       //если такого параметра еще нет, то добавим его
                       Если МассивИменПараметров.Найти(ИмяПараметра) = Неопределено тогда
                           МассивИменПараметров.Добавить(ИмяПараметра);
                       КонецЕсли;
                   КонецЕсли;
               КонецЦикла;
           КонецЕсли;//конец проверки, что в ячейке - текст, параметр или шаблон
       КонецЦикла;//конец обхода по колонкам
   КонецЦикла;//конец обхода по строкам
   Возврат МассивИменПараметров;
КонецФункции

Или через сериализацию

Функция ПолучитьПараметрыТабличногоДокумента(ТабличныйДокумент)
    Объект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);
    КонецЦикла;
    Возврат Результат;
КонецФункции