Как программно скрыть колонку 1с

Обновлено: 07.07.2024

Нужно програмно скрыть колонку табличного докумета(Макет отчета)40 минут потратил не как не могу понять. Смотрю синтаксис помошник и не как не пойму ну как мне указать что колонка №2 должна быть невидимая. Единственый вариант использовать Области но тогда мне надо колонкам давать имена? а колнок 40 штук. Да даже если с именами то не могу понять.пишуТабДок.Область("Л").Видимость=Ложь;В макете задана имя столбца Л пишет не могу найти область :-(Суть в том что я только недавно перешел на 1С сопровождаю чужой проект до этого работал на Delphi.в этом проекте есть отчет созданый на основе макета.Мне надо чтобы пользователь сам выбирал каие колонки в отчете ему необходимы. Единственный на мой взгляд вариант это делать отчет со всеми колонками а не нужные прятать перед показом.В тексте. ОблШапка.Параметры.КонП=КП;. ТабДок.Вывести(ОблШапка). Начцикла. ОблСтрока.Параметры.НеЖилаяПлощадь = ПА.ПлНежил. ТабДок.Вывести(ОблСтрока). кон цикла. ТабДок.Показать;Мне нужно перед ТабДок.Показать;указать например что ширина 2,3,5 колонок равна 0.Я уже не знаю где искать. может все таки кто то знает?

Ну есть же свойство Видимость, им и разруливай, а ширину оставь в покое.

Пробовал задать ТабличныйДокумент.Область("C5:C5").Видимость = Ложь;Выскочила ошибка.Ошибка при вызове метода контекста (Область): Область не найдена: С5:С5 ТабДок.Область("С5:С5").Видимость = ЛожьВыделил в макете столбик задал ему имя "Тест"Ошибка при вызове метода контекста (Область): Область не найдена: Тест ТабДок.Область("Тест").Видимость = Ложь;Потом добавил такую строчку:ОблТест = Макет.ПолучитьОбласть("Тест");Ошибка при вызове метода контекста (Область): Область не найдена: ТабличныйДокумент ТабДок.Область(ОблТест).Видимость = Ложь;Вобщем ни в какую я уже 2 дня бьюсь с этой бедой.

Почему не устраивает просто не выводить область в сам табдок? Программно возни одинаково. Это если бы готовый отчет (выведенный на экран) настраивать, тогда да

С колонками не проверял. Со строками такая фигня работает.

Используй построитель отчётов и выводи только те показатели, которые тебе нужны.

со строками работает :(очему не устраивает просто не выводить область в сам табдок?Ну я не где не пишу что надо выводить столбик 1,2,3,4,5они сами выводятся.У меня ведь еще есть области Шапка и Строка а они состоят из строк.Я вообще расчтывал написать чтото типаВидимость первой колонки = ЧексБокс1Видимость второй колонки = ЧексБокс2А теперь даже не знаю блин как вобще можно работать с ТабДоком который строки скрывает а столбцы нет? Таким придурком себя чуствую. За 2 года работы с delphi не разу не зависал на 2 дня на простейшей операции :-Е

Проверил на колонках - все прекрасно работает. Может у тя там есть объединенные ячейки или еще чего?

ТабличныйДокумент.Область("C5:C5").Видимость = Ложь; Будет работать если у тебя "ТабличныйДокумент" явлется ЭлементомФормы.У меня работает:ЭлементыФормы.ПолеТабличногоДокумента.Область("С1").Видимость = Ложь; - скрывает первую колонку.У тебя ТабличныйДокумент = Новый ТабличныйДокумент; ?

. ТабДок.Область("С1").Видимость = Ложь; Работает.З.Ы. С1 - по английски.

Serno а можешь свой тестовый код в форум кинуть может я что то не так с ТабДокм делаю?

т.е. надо как-то проинициализировать переменную ТабДок. Меня интересует что у тебя междуТабДок = Новый ТабличныйДокумент;и

ура получилось. нужно было делать не так:ОблШапка = Макет.ПолучитьОбласть("Шапка");. Цикл. ОблСтрока.параметр.Имя=ИмяОблСтрока.параметр.Фамилия=Фамилия. ТабДок.Вывести(ОблСтрока)Конец Циклаа так:Цикл. ОблСтрока.параметр.Имя=ИмяОблСтрока.параметр.Фамилия=Фамилия. ТабДок.Вывести(ОблСтрока)Конец Цикла

Serno, Дяпти, forester - спасибо что не оставили в беде и помогли таки разобраться.

Нужно програмно скрыть колонку табличного докумета(Макет отчета)
40 минут потратил не как не могу понять. Смотрю синтаксис помошник и не как не пойму ну как мне указать что колонка №2 должна быть невидимая.
Единственый вариант использовать Области но тогда мне надо колонкам давать имена? а колнок 40 штук.
Да даже если с именами то не могу понять.
пишу
ТабДок.Область("Л").Видимость=Ложь;
В макете задана имя столбца Л пишет не могу найти область :-(
Суть в том что я только недавно перешел на 1С сопровождаю чужой проект до этого работал на Delphi.
в этом проекте есть отчет созданый на основе макета.
Мне надо чтобы пользователь сам выбирал каие колонки в отчете ему необходимы. Единственный на мой взгляд вариант это делать отчет со всеми колонками а не нужные прятать перед показом.
В тексте
ТабДок = Новый ТабличныйДокумент;
.
ОблШапка = Макет.ПолучитьОбласть("Шапка");
ОблСтрока = Макет.ПолучитьОбласть("Строка");
.
ОблШапка.Параметры.НачП=НП;
ОблШапка.Параметры.КонП=КП;
.
ТабДок.Вывести(ОблШапка)
.
Начцикла.
.
ОблСтрока.Параметры.НеЖилаяПлощадь = ПА.ПлНежил
.
ТабДок.Вывести(ОблСтрока)
.
кон цикла
.
ТабДок.Показать();
Мне нужно перед ТабДок.Показать();
указать например что ширина 2,3,5 колонок равна 0.
Я уже не знаю где искать. может все таки кто то знает?

Ну есть же свойство Видимость, им и разруливай, а ширину оставь в покое.

Почему не устраивает просто не выводить область в сам табдок? Программно возни одинаково. Это если бы готовый отчет (выведенный на экран) настраивать, тогда да

(3) С колонками не проверял. Со строками такая фигня работает.

Используй построитель отчётов и выводи только те показатели, которые тебе нужны.

очему не устраивает просто не выводить область в сам табдок?
Ну я не где не пишу что надо выводить столбик 1,2,3,4,5
они сами выводятся.
У меня ведь еще есть области Шапка и Строка а они состоят из строк.
Видимость второй колонки = ЧексБокс2
А теперь даже не знаю блин как вобще можно работать с ТабДоком который строки скрывает а столбцы нет? Таким придурком себя чуствую. За 2 года работы с delphi не разу не зависал на 2 дня на простейшей операции :-Е

(7) Проверил (2) на колонках - все прекрасно работает. Может у тя там есть объединенные ячейки или еще чего?

ТабличныйДокумент.Область("C5:C5").Видимость = Ложь; Будет работать если у тебя "ТабличныйДокумент" явлется ЭлементомФормы.
У меня работает:
ЭлементыФормы.ПолеТабличногоДокумента.Область("С1").Видимость = Ложь; - скрывает первую колонку.
У тебя ТабличныйДокумент = Новый ТабличныйДокумент; ?

.
ТабДок.Область("С1").Видимость = Ложь; Работает.
З.Ы. С1 - по английски.

Serno а можешь свой тестовый код в форум кинуть может я что то не так с ТабДокм делаю?

ура получилось.
.
.
Цикл
.
ОблСтрока.параметр.Имя=Имя
ОблСтрока.параметр.Фамилия=Фамилия
.
ТабДок.Вывести(ОблСтрока)
Конец Цикла
а так:
Цикл
.
ОблСтрока.параметр.Имя=Имя
ОблСтрока.параметр.Фамилия=Фамилия
.
ТабДок.Вывести(ОблСтрока)
Конец Цикла

Serno, Дяпти, forester - спасибо что не оставили в беде и помогли таки разобраться.

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"


Рассмотрим как выводить колонки в отчете только при необходимости.

Оглавление

Установим на форме отчета "галочку" при нажатии на которую будет появляться колонка с детальными записями, а при снятии флажка, чтобы отчет формировался без колонки.

01 Из отчета переходим в "Настройки" - вкладка "Оформление". Здесь нам нужно задать 2-а элемента оформления: один флажок будет не видимым для пользователя и не будет выводить колонку "по умолчанию", а следующий флажок будет виден на форме отчета и будет выводить колонку на форму отчета:

2020-04-27 19 16 02

Приоритет по списку идет снизу - вверх. Поэтому более приоритетная настройка оформления снизу. Обязательно установить "звездочку" для вывода флажка на форму отчета.

02 Переходим к настройке менее приоритетного оформления (по умолчанию) при снятой галочке. На вкладке "Оформление" установить минимальная / максимальная ширина "-0,1":

2020-04-27 19 33 31

2.1 Вкладка "Оформляемые поля", указать поля, которые нужно скрывать:

2020-04-27 19 38 56

2.2 Вкладка "Дополнительно", оставить все галочки как есть:

2020-04-27 19 42 00

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

2020-04-27 19 43 41

3.1 Следующие вкладки "Оформляемые поля" и "Дополнительно" по аналогии как в пунктах 2.1 и 2.2

Люди, подскажите ест ли метод, что бы срыть столбец в табличном документе?

срыть - СП молчит , что за метод ? табличный документ у тебя это что ?

Табличный документ у меня это то же что и табличный документ по терминологии 1С

а ты не чего не перепутал, что я такого свойства не нахожу

тогда поправка, у табличного документа в терминологии 1С свойства "Видимость" нет )))) правда у него и колонок нет, но то таке .

может вот это поможет - выделить в область нужную колонку и Ширина = 0 ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange) ШиринаКолонки (ColumnWidth) Использование: Чтение и запись. Описание: Тип: Число. Содержит ширину колонок в области (в так называемых средних символах шрифта). Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

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

так а что сохранять Ширину потом увеличил и опять в поряде

а если областей овер чем одна? а помнить для каждой ее ширину?

а еще лучше вот это - ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange) Видимость (Visible) Использование: Чтение и запись. Описание: Тип: Булево. Определяет признак видимости области. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: Ложь - область не отображается. Свойство доступно на запись только для областей из строк или колонок.

думаешь при уменьшении ширины не будет сдвига? будет тоже, что и при удалении

ща поищу свою тему про установку нового формата для области

Твой вариант лучший и самы простой, только вот что пока у меня не прокатил, разбираюсь

Так правильней (для всей колонки) ТабДок.Область(,НомерКолонки,,НомерКолонки).Видимость=Ложь;

Хотел пользователю дать возможность самому в отчете выбирать нужные колонки, ужасно не хотелось "присоединять секции" видимость как раз то что надо

Дата публикации 19.06.2020

Использован релиз 3.0.78

В форме документа или в форме списка документов можно настроить отображение только нужных колонок (кнопок) и скрыть ненужные.

Кроме того, колонки можно настроить по ширине и тогда их большее количество будет отображаться на экране.

  1. Откройте документ. Поставьте курсор мыши на табличную часть документа. В правой верхней части экрана нажмите кнопку "Еще" и выберите "Изменить форму" (рис. 1).


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


  1. Расположение колонок можно также настроить в списке документов. Для этого по кнопке "Еще" выберите "Изменить форму" (рис.3). В открывшемся окне "Настройка формы" выделите колонку и кнопка с синими стрелками "вверх" и "вниз" передвигайте ее до нужного расположения (кнопка "вверх" двигает колонку влево, кнопка "вниз" - вправо) (рис. 4).



Читайте также: