![]() |
![]() |
![]() |
|
СКД. Как убрать колонку из списка доступных полей выбора на закладке "Выбранные поля". | ☑ | ||
---|---|---|---|---|
0
sanchesaist
07.04.18
✎
14:53
|
Есть простой отчет на СКД.
Запросом выбираю 3 поля. Поле "Наименование" мне нужно не показывать пользователю и не давать это поле выбирать. Делаю так: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УбратьПолеНаСервере(); КонецПроцедуры &НаСервере Процедура УбратьПолеНаСервере() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); ПолеНаименование = ОтчетОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля.Найти("Наименование"); ПолеНаименование.ОграничениеИспользования.Поле = Истина; ПолеНаименование.ОграничениеИспользования.Группировка = Истина; ПолеНаименование.ОграничениеИспользования.Порядок = Истина; ПолеНаименование.ОграничениеИспользования.Условие = Истина; ОтчетОбъект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОтчетОбъект.СхемаКомпоновкиДанных)); ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет"); КонецПроцедуры Прохожу отладчиком. Поля "Наименование" нет в списке доступных полей для выбора Компоновщика настроек. В схеме ограничения у этого поля также проставлены. В форме отчета захожу "Изменить вариант" и это поле есть в настройках. В процедуре ПриКомпоновкеРезультата это поле тоже есть в списке доступных для выбора. Помогите, пожалуйста!!! Что делаю не так? |
|||
1
Mankubus
07.04.18
✎
16:07
|
Нужно отключить автозаполнение в Скд и использовать фигурные скобки. А свой код выкинь не позорься
|
|||
2
Cyberhawk
07.04.18
✎
16:24
|
"нужно не показывать пользователю и не давать это поле выбирать" // Зачем оно в запросе тогда?
|
|||
3
sanchesaist
07.04.18
✎
17:04
|
Суть в том, что в отчете надо полностью отключать одну колонку в зависимости от определенных условий.
|
|||
4
Cyberhawk
07.04.18
✎
17:05
|
Так управляй плоьзовательской доступностью поля СКД
|
|||
5
sanchesaist
07.04.18
✎
17:20
|
(4) А как управлять пользовательской доступностью? Объясните, пожалуйста, начинающему.
|
|||
6
Cyberhawk
07.04.18
✎
17:30
|
Либо в полях СКД (первая вкладка) флажок ограничения "Поле" (недоступно для выбора будет), либо в настройках СКД в выбранных полях ПКМ - Свойства ... - недоступно для редактирования.
|
|||
7
sanchesaist
07.04.18
✎
17:57
|
(6) Ставил в настройках СКД в выбранных полях ПКМ - Свойства ... - недоступно для редактирования. Все равно поле есть в списке доступных для выбора полей. Флажок ограничения "Поле" - самое то, то почему-то не получается устанавливать его программно. Т.е. поставить то можно, но если из формы открыть настройки, то поле все равно есть в списке доступных.
В отчете есть два поля, и мне надо открывать форму отчета, в котором одно поле полностью отключено. А какое поле будет отключено определяется глобальными настройками конфигурации. |
|||
8
ssh2006
07.04.18
✎
18:05
|
(7) ПолеНаименование.ОграничениеИспользования.Поле = Истина;
ПолеНаименование.ОграничениеИспользования.Группировка = Истина; ПолеНаименование.ОграничениеИспользования.Порядок = Истина; ПолеНаименование.ОграничениеИспользования.Условие = Истина; Вот это можно написать в модуле объекта, будет работать |
|||
9
sanchesaist
07.04.18
✎
18:29
|
(8) Да, если поместить этот код в процедуру "ПриКомпоновкеРезультата", то в отчете это поле выходить не будет. Но поле все равно есть в доступных полях, и его можно выбрать. Я пробовал этот код вызывать в процедуре ПриСозданииНаСервере из модуля посредством экспортной процедуры, но это не дало эффекта.
|
|||
10
sanchesaist
07.04.18
✎
18:45
|
(1) А как использовать фигурные скобки, чтобы программно отключить вывод колонки?
|
|||
11
ssh2006
07.04.18
✎
18:45
|
(9) этот код надо помещать прямо в модуль объекта, а не в какую либо процедуру
|
|||
12
youalex
07.04.18
✎
18:56
|
Убрать схему из основных - по идее, тоже должно сработать.
|
|||
13
sanchesaist
07.04.18
✎
19:08
|
(11) Спасибо, ssh2006. Ваш совет помог! Спасибо всем участникам за помощь!!!
|
|||
14
youalex
07.04.18
✎
19:09
|
(12) нет, в (11), похоже, единственный вариант.
|
|||
15
Mankubus
08.04.18
✎
05:41
|
(10) никак. Нужно было сразу полную задачу описывать, а ты с конца начал :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |