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

1. HIVvich 25.09.20 11:37 Сейчас в теме
Всем привет, подскажите, что делаю не так. В зависимости от условий необходимо скрывать колонку в макете табличного документа.
Делала так:

Макет.Область("ТабПоставкиШапка|ОбластьСкрыть").Видимость = Ложь;
	Макет.Область("ТабПоставкиШапка|ОбластьСкрыть").ШиринаКолонки = 0;

тоже самое, но через ТабДок
еще так
Макет.Область("С4").Видимость = Ложь;
Макет.Область("С4").ШиринаКолонки = 0;

и так
Макет.Область(,4,,4).Видимость = Ложь;
Макет.Область(,4,,4).ШиринаКолонки = 0;

ну т.е. через любые способы получения области, но она конечно же не скрывается никак.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 25.09.20 11:50 Сейчас в теме
(1)Не в макете надо скрывать, а в том табличном документе, который формируете и потом показываете пользователю.
ipoloskov; oleg-x; +2 Ответить
3. spacecraft 25.09.20 11:54 Сейчас в теме
(1) ячейку скрыть нельзя. Можно скрывать или колонку или строку.
4. oleg-x 26 25.09.20 11:56 Сейчас в теме
(3)
В зависимости от условий необходимо скрывать колонку...

И про какую ячейку Вы говорите.
5. spacecraft 25.09.20 11:59 Сейчас в теме
(4)
И про какую ячейку Вы говорите.

Область("ТабПоставкиШапка|ОбластьСкрыть")

Это прямоугольная область из ячеек.
Скрывать можно только области из строк или колонок.
7. HIVvich 25.09.20 12:01 Сейчас в теме
(5) а это я честно говоря, просто уже пробовала скрыть например, чисто шапку, ну т.е. просто для пробы, скроется или нет, но нет.
9. spacecraft 25.09.20 12:04 Сейчас в теме
6. HIVvich 25.09.20 12:00 Сейчас в теме
Всю колонку необходимо скрыть, вместе с шапкой и данными, на скрине это колонка ЦФО, я ее (область) пробовала именем называть (областьскрыть) и по имени получать и скрывать, и через табличный документ так же пробовала скрывать, но вообще ноль результата.
Прикрепленные файлы:
8. oleg-x 26 25.09.20 12:02 Сейчас в теме
(6) Как писали выше, Вам надо не через макет, а табличный документ.
ТабДок.Область("С4").Видимость = Ложь;
10. oleg-x 26 25.09.20 12:04 Сейчас в теме
А вообще такие задачи можно еще решить двумя макетами/областями.
В одном выведены все данные, в другом только необходимые. И при формирование ТабДок выбирать нужный макет.
11. oleg-x 26 25.09.20 12:04 Сейчас в теме
12. spacecraft 25.09.20 12:05 Сейчас в теме
13. Sashares 34 25.09.20 12:05 Сейчас в теме
14. FatPanzer 25.09.20 12:07 Сейчас в теме
15. spacecraft 25.09.20 12:07 Сейчас в теме
16. FatPanzer 25.09.20 12:08 Сейчас в теме
17. oleg-x 26 25.09.20 12:09 Сейчас в теме
Вообщем автор пытается скрыть колонку в макете, а ему надо это сделать в табличном документе.
18. HIVvich 25.09.20 12:13 Сейчас в теме
(17) смотрю, отпишусь по результату
19. HIVvich 25.09.20 12:15 Сейчас в теме
В общем: получаю табличный документ на выходе после процедуру, где его формирую. Затем в таб.доке получаю область ТабДок.Область("C3").Видимость = Ложь
не скрывает:(
21. alex-l19041 8 25.09.20 12:31 Сейчас в теме
(19) а так
ТабДок.Область("C3").ШиринаКолонки = 0;
?
38. maximus_2712 15 01.03.23 13:56 Сейчас в теме
(21) здесь в комментарии С - русская, поменяйте на английскую - все заработает
23. spacecraft 25.09.20 12:38 Сейчас в теме
(19) у вас разные форматы строк используются. Соответственно нужная колонка шапки и данные не соответствует колонкам самого ТД.
Может проще использовать 2 макета?
24. spacecraft 25.09.20 12:41 Сейчас в теме
(19) можно еще на этапе получения области из макета скрывать колонки (хотя это может и не получиться). Но 2 макета надежнее.
25. HIVvich 25.09.20 12:57 Сейчас в теме
(24) да дело в том, что не одну колонку скрывать надо и при разных условиях - типа то одну показать, то другую, поэтому тут уже не 2 макета и много, и это конечно не корректно, мне кажется. Но я не понимаю, почему они не скрываются, пусть даже их потом и можно будет показать - это не важно.
30. spacecraft 25.09.20 13:41 Сейчас в теме
(25) тогда нужно переделывать макет.
Самое главное тут в том, что бы не создавать новый формат строк для области Шапка и данных.
Сейчас в нем для них созданы новые форматы строк.

Создаете новый макет. И меняете размеры колонок для шапки без выделения строк. После уже можете создавать для других областей как угодно, если их скрывать не нужно.
Срывать колонки можно только для родного формата строк самого ТД.

Надеюсь ясно объяснил.
20. oleg-x 26 25.09.20 12:26 Сейчас в теме
(19) Возможно не скрывает из-за объединенный ячеек. Так все должно работать.
А зачем в принципе скрывать колонку?
Ведь по сути пользователь может выделить табличный документ и нажать показать и все скрытые области отобразятся.
22. oleg-x 26 25.09.20 12:37 Сейчас в теме
(19) Покажите выведенный итог. Или посмотрите сами, что номера колонок идут попорядку, а не скрыта одна из них.
26. HIVvich 25.09.20 12:58 Сейчас в теме
(22)не скрыты, все по порядку, 100%
27. oleg-x 26 25.09.20 13:01 Сейчас в теме
(26) Данный механизм работает, видимо из-за структуры макета что то не работает.
В данном обработке все работает (нажать команду 2).

Вы можете сделать не разными макетами, а присоединением колонок. То есть присоединять колонки динамически и если не нужно выводить, то не присоединять колонки.
Прикрепленные файлы:
Ошибка без остановки.epf
28. HIVvich 25.09.20 13:15 Сейчас в теме
(27)Спасибо вам большое, буду биться со своей колонкой
29. spacecraft 25.09.20 13:32 Сейчас в теме
(27) в этом примере так же не работает область "Строка2". Все из-за разных форматов строк.
Прикрепленные файлы:
31. oleg-x 26 25.09.20 13:41 Сейчас в теме
(29) Это я уже усложнил пример, что бы проверить как скрываются колонки.
Дальше не копал, но возможно скрывается колонка по первой области, а доходя до смещения дальше не скрывает (и надо для каждой области указывать свое условие видимости). Но автор написал, что у него вообще не скрывает ничего.
Тут несколько вариантов:
1) Разобраться почему так и как скрыть колонку по всему табличному документу.
2) Упростить макет и убрать разное форматирование строк.
3) Присоединять колонки, а не скрывать (назначит каждой колонке свою область). Алгоритм вывода сложнее, но результат гарантирован.
alex-l19041; +1 Ответить
32. spacecraft 25.09.20 13:47 Сейчас в теме
(31) что тут разбираться? Я еще в (23) объяснил почему так происходит.
В (30) подробно как делать.
33. HIVvich 25.09.20 14:07 Сейчас в теме
В общем выкрутилась по-тупому честно говоря, создала не несколько макетов, как предлагали, а просто сделала несколько областей, типа с одной колонкой, то с другой, к счастью только 4 варианта, но это конечно бред сивый, иначе просто ни в какую видимость не скрывает, вообще не понимаю:(
36. spacecraft 25.09.20 14:15 Сейчас в теме
(33) см. вложение. Видите выделенные колонки? Обратите внимание на область "Строка2". Выделение ее просто пропускает.
У нее свой формат строк. Ее колонки совсем другие и не соотносятся с основными колонками самого ТД. А убирание видимости делается на колонки самого ТД, Соответственно для той области ничего не меняется.
Для использования видимости нужной колонки нужно использовать родной формат строк.
Прикрепленные файлы:
34. HIVvich 25.09.20 14:09 Сейчас в теме
У меня просто макет и вывод колонок не просто через Вывести,а с присоединением колонок справа и т.п., хотя я даже с этим не понимаю почему не скрываются колонки, пробовала самые разные и в диапазоне - уже от балды, ради прикола.
35. oleg-x 26 25.09.20 14:12 Сейчас в теме
(33) Также предлагали динамически присоединять колонки.
То есть делается одна строка и множество колонок областей. Заранее определяете какие колонки нужны и при выводе строки присоединяете только нужные.
У меня есть отчет, который выводит произвольное количество колонок, в зависимости от данных.
ipoloskov; +1 Ответить
37. user1252779 144 26.01.22 14:19 Сейчас в теме
	Если НадоСкрытьКолонку5 Тогда
		ТабДок.Область(,5,,5).Видимость = Ложь;	
	КонецЕсли;	

	Если НадоСкрыть10КолонокНачинаяС5 Тогда
		ТабДок.Область(,5,,15).Видимость = Ложь;	
	КонецЕсли;	
Показать
39. user1565466 19.01.24 09:50 Сейчас в теме
(35)
У меня есть отчет, который выводит произвольное количество колонок, в зависимости от данных.

Можете выслать такой отчетик? )
Оставьте свое сообщение

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