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

1. native-api 23.08.24 16:38 Сейчас в теме
Отчет на УФ без СКД, отраслевая конфигурация, 8.3.25.1374 .
Необходимо в части строк объединить часть ячеек по столбцам (см. скриншот).

Можно ли как-либо в макете назначить этим столбцам имена вместо хардкода номеров?

ПерваяСтрокаОбъединения = ДокументРезультат.ВысотаТаблицы + 1;

Для Каждого ИнвентарныйНомер Из ИнвентарныеНомера Цикл
    <...>
    БухгалтерияОбъект = БухгалтерияСсылка.ПолучитьОбъект();
    ОбластьСтрока.Параметры.БухгалтерияСсылка = БухгалтерияСсылка;
    ОбластьСтрока.Параметры.БухгалтерияИнвентарныйНомер = БухгалтерияОбъект.Код;
    <...>
    ДокументРезультат.Вывести(ОбластьСтрока);
КонецЦикла;

Если ПерваяСтрокаОбъединения < ДокументРезультат.ВысотаТаблицы Тогда
    Для НомерКолонки = 1 По 6 Цикл
        ДокументРезультат.Область(
            ПерваяСтрокаОбъединения, НомерКолонки, ДокументРезультат.ВысотаТаблицы, НомерКолонки).Объединить();
    КонецЦикла;
КонецЕсли;
Показать


---

Рассматривал возможность создать в макете именованные области, включающие по одной ячейке -- заголовок соотв. столбца (см. скриншот). Ранее я так успешно делал в Excel, получая затем номер столбца по Range("МояКолонка").Column .
Но, насколько вижу, область, полученная через Макет.ПолучитьОбласть, никак не может получить свое относительное положение в макете.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. native-api 23.08.24 17:24 Сейчас в теме
создать в макете именованные области, включающие по одной ячейке -- заголовок соотв. столбца

Макет.Область(<Имя>) получает область, которая знает свое расположение в макете.

Если ПерваяСтрокаОбъединения < ДокументРезультат.ВысотаТаблицы Тогда
    Для Каждого ИмяКолонки Из СтрРазделить(
            "НПП,ВидНоменклатуры,Наименование,РегистрационныйНомер,ЗаводскойНомер,ИнвентарныйНомер",",") Цикл
        НомерКолонки = Макет.Область("Колонка"+ИмяКолонки).Лево;
        ДокументРезультат.Область(
            ПерваяСтрокаОбъединения, НомерКолонки, ДокументРезультат.ВысотаТаблицы, НомерКолонки).Объединить();
    КонецЦикла;
КонецЕсли;
Показать


Чтобы создать в макете область, отличную от полных строк, нужно выделить нужные ячейки и нажать на кнопку "Назначить имя" (см. скриншот).
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. native-api 23.08.24 17:24 Сейчас в теме
создать в макете именованные области, включающие по одной ячейке -- заголовок соотв. столбца

Макет.Область(<Имя>) получает область, которая знает свое расположение в макете.

Если ПерваяСтрокаОбъединения < ДокументРезультат.ВысотаТаблицы Тогда
    Для Каждого ИмяКолонки Из СтрРазделить(
            "НПП,ВидНоменклатуры,Наименование,РегистрационныйНомер,ЗаводскойНомер,ИнвентарныйНомер",",") Цикл
        НомерКолонки = Макет.Область("Колонка"+ИмяКолонки).Лево;
        ДокументРезультат.Область(
            ПерваяСтрокаОбъединения, НомерКолонки, ДокументРезультат.ВысотаТаблицы, НомерКолонки).Объединить();
    КонецЦикла;
КонецЕсли;
Показать


Чтобы создать в макете область, отличную от полных строк, нужно выделить нужные ячейки и нажать на кнопку "Назначить имя" (см. скриншот).
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот