СКД + Макет. Удаление колонки программно

18.07.24

Разработка - СКД

Имеется табличный документ, сформированный СКД с настроенным макетом. Возникли проблемы: при программном удалении колонка удаляется не вся; для разных группировок колонки имеют разную ширину. В статье предложен вариант решения.

Имеется табличный документ, сформированный СКД с настроенным макетом.

 

 

В нем надо удалить колонку по флажку программно:

Если ДополнительнаяКолонка = Ложь Тогда

      Область = Результат.НайтиТекст("Дополнительная колонка");

      Результат.УдалитьОбласть(Результат.Область("C"+Область.Лево + ":C" + (Область.Лево)), ТипСмещенияТабличногоДокумента.ПоГоризонтали);

КонецЕсли;

Проблемы:

  1. Удаляется только верхняя часть колонки (шапка таблицы). Все, что ниже – нет.
  2. При формировании табличного документа ширина колонок для разных группировок строк разъезжается.

Причины и решение:

Структура имеет несколько группировок строк, расположенных на первом уровне, с одинаковым составом колонок в макете. Автонастройка ширины колонок, запускаемая при выводе табличного документа, относится только к 1 группировке, а для 2 и последующих выполняется заново. При этом для каждой подтаблицы, соответствующей очередной группировки, создается отдельный формат строк.

Решением стало: все группировки расположить внутри одной (служебной, которая отвечает за вывод шапки) . В результате автонастройка ширины колонок отнеслась не только к 1 группировке, но и ко всем подчиненным.

Итого, в результате создаваемый формат строк стал единым для всего табличного документа, что позволило решить обе проблемы.

 

 

При поиске решения рассматривались варианты:

  1. https://forum.infostart.ru/forum9/topic221584/ - из недостатков стало то, что удаляется и группировка строк. Рассматривался вариант компенсировать копированием группировок строк: //infostart.ru/1c/articles/1213983/ -
  2. Также как вариант решения было построчное удаление.
Результат.УдалитьОбласть(Результат.Область("C"+Область.Лево + ":C" + (Область.Лево)), ТипСмещенияТабличногоДокумента.ПоГоризонтали); //удаляло колонку только в шапке

Для Ном = 11 По Результат.ВысотаТаблицы Цикл //Удаление колонок во всех последующих строках

    лсНом = СтрЗаменить(Строка(Ном),Символы.НПП,"");

    Результат.УдалитьОбласть(Результат.Область("R"+лсНом+"C"+Область.Лево+":R"+лсНом+"C" + (Область.Лево)), ТипСмещенияТабличногоДокумента.ПоГоризонтали);

КонецЦикла;

Т.к. формат строк в области, состоящей из 1 строки не может быть различным, то работало. Но решало только проблему 1, а не проблему 2: после удаления ячейки происходил сдвиг по горизонтали на 1 колонку влево. При этом ширина, естественно, оставалась прежней (левой колонки).

Вступайте в нашу телеграмм-группу Инфостарт

Табличный документ ТабДок СКД макет удалить колонку

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    247991    1373    421    

1134

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5382    296    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    16446    ovetgana    112    

106

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9503    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8703    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15741    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    13322    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9840    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BackinSoda 18.07.24 09:01 Сейчас в теме
" все группировки расположить внутри одной (служебной, которая отвечает за вывод шапки) " показали бы на скрине как это выглядит, а то не очень понятно
Для отправки сообщения требуется регистрация/авторизация