Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД. Как убрать колонку из списка доступных полей выбора на закладке "Выбранные поля".

СКД. Как убрать колонку из списка доступных полей выбора на закладке "Выбранные поля".
Я
   sanchesaist
 
07.04.18 - 14:53
Есть простой отчет на СКД.
Запросом выбираю 3 поля. Поле "Наименование" мне нужно не показывать пользователю и не давать это поле выбирать.

Делаю так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    УбратьПолеНаСервере();    
КонецПроцедуры

&НаСервере
Процедура УбратьПолеНаСервере()
    
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    
    ПолеНаименование = ОтчетОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля.Найти("Наименование");
    
    ПолеНаименование.ОграничениеИспользования.Поле        = Истина;
    ПолеНаименование.ОграничениеИспользования.Группировка = Истина;
    ПолеНаименование.ОграничениеИспользования.Порядок     = Истина;
    ПолеНаименование.ОграничениеИспользования.Условие     = Истина;
            
    ОтчетОбъект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОтчетОбъект.СхемаКомпоновкиДанных));
    
    ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");
    
КонецПроцедуры

Прохожу отладчиком. Поля "Наименование" нет в списке доступных полей для выбора Компоновщика настроек. В схеме ограничения у этого поля также проставлены.
В форме отчета захожу "Изменить вариант" и это поле есть в настройках.
В процедуре ПриКомпоновкеРезультата это поле тоже есть в списке доступных для выбора.

Помогите, пожалуйста!!! Что делаю не так?
 
 
   Mankubus
 
1 - 07.04.18 - 16:07
Нужно отключить автозаполнение в Скд и использовать фигурные скобки. А свой код выкинь не позорься
   Cyberhawk
 
2 - 07.04.18 - 16:24
"нужно не показывать пользователю и не давать это поле выбирать" // Зачем оно в запросе тогда?
   sanchesaist
 
3 - 07.04.18 - 17:04
Суть в том, что в отчете надо полностью отключать одну колонку в зависимости от определенных условий.
   Cyberhawk
 
4 - 07.04.18 - 17:05
Так управляй плоьзовательской доступностью поля СКД
   sanchesaist
 
5 - 07.04.18 - 17:20
(4) А как управлять пользовательской доступностью? Объясните, пожалуйста, начинающему.
   Cyberhawk
 
6 - 07.04.18 - 17:30
Либо в полях СКД (первая вкладка) флажок ограничения "Поле" (недоступно для выбора будет), либо в настройках СКД в выбранных полях ПКМ - Свойства ... - недоступно для редактирования.
   sanchesaist
 
7 - 07.04.18 - 17:57
(6) Ставил в настройках СКД в выбранных полях ПКМ - Свойства ... - недоступно для редактирования. Все равно поле есть в списке доступных для выбора полей. Флажок ограничения "Поле" - самое то, то почему-то не получается устанавливать его программно. Т.е. поставить то можно, но если из формы открыть настройки, то поле все равно есть в списке доступных.
В отчете есть два поля, и мне надо открывать форму отчета, в котором одно поле полностью отключено. А какое поле будет отключено определяется глобальными настройками конфигурации.
   ssh2006
 
8 - 07.04.18 - 18:05
(7)   ПолеНаименование.ОграничениеИспользования.Поле        = Истина;
    ПолеНаименование.ОграничениеИспользования.Группировка = Истина;
    ПолеНаименование.ОграничениеИспользования.Порядок     = Истина;
    ПолеНаименование.ОграничениеИспользования.Условие     = Истина;

Вот это можно написать в модуле объекта, будет работать
   sanchesaist
 
9 - 07.04.18 - 18:29
(8) Да, если поместить этот код в процедуру "ПриКомпоновкеРезультата", то в отчете это поле выходить не будет. Но поле все равно есть в доступных полях, и его можно выбрать. Я пробовал этот код вызывать в процедуре ПриСозданииНаСервере из модуля посредством экспортной процедуры, но это не дало эффекта.
   sanchesaist
 
10 - 07.04.18 - 18:45
(1) А как использовать фигурные скобки, чтобы программно отключить вывод колонки?
 
 Рекламное место пустует
   ssh2006
 
11 - 07.04.18 - 18:45
(9) этот код надо помещать прямо в модуль объекта, а не в какую либо процедуру
   youalex
 
12 - 07.04.18 - 18:56
Убрать схему из основных - по идее, тоже должно сработать.
   sanchesaist
 
13 - 07.04.18 - 19:08
(11) Спасибо, ssh2006. Ваш совет помог! Спасибо всем участникам за помощь!!!
   youalex
 
14 - 07.04.18 - 19:09
(12) нет, в (11), похоже, единственный вариант.
   Mankubus
 
15 - 08.04.18 - 05:41
(10) никак. Нужно было сразу полную задачу описывать, а ты с конца начал :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует