Видимость колонку

1. _7445_ 17.04.19 13:02 Сейчас в теме
Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. В КА 1.3. Перед открытии форму списка документа выполняется отбор, если не права полные тогда видимость колонку ответственный равно ложь. Но пользователь может перейти "Настройка списка" и поставить галочку в колонку ответственный. Как программно сделать что пользователь не могла видит эту колонку. Даже через настройка список.
Спасибо всем за ранее.
Общий модуль -
Функция ПроверитьПользователя() Экспорт 
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Пользователи.Администратор
		|ИЗ
		|	Справочник.Пользователи КАК Пользователи
		|ГДЕ
		|	Пользователи.Ссылка = &Ссылка";
	Запрос.УстановитьПараметр("Ссылка", глЗначениеПеременной("глТекущийПользователь"));
	РезультатЗапроса = Запрос.Выполнить();
	Если НЕ РезультатЗапроса.Пустой() Тогда
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		ВыборкаДетальныеЗаписи.Следующий();
		Если ВыборкаДетальныеЗаписи.Администратор = Истина Тогда
			Возврат Истина;
		Иначе
			Возврат Ложь;
		КонецЕсли;
	КонецЕсли;
		

КонецФункции // ПроверитьПользователя()
Показать


Форма Списка - События (Перед Открытием)
Администратор = ВидимостьКолонок.ПроверитьПользователя();
		Если Администратор <> Неопределено Тогда
		Если Администратор = Ложь Тогда
			ЭлементыФормы.Список.Колонки.ЗаказНаПроизводство.Видимость      = Ложь;
			ЭлементыФормы.Список.Колонки.ОтчетПроизводстваЗаСмену.Видимость = Ложь;
			ЭлементыФормы.Список.Колонки.ТребованиеНакладная.Видимость      = Ложь;
			ЭлементыФормы.Список.Колонки.РеализацияТоваровУслуг.Видимость   = Ложь;
		КонецЕсли;
		КонецЕсли;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. arsen_botashev 17.04.19 13:18 Сейчас в теме
(1)я думаю, В компоновщике настроек надо поставить использование = ложь.
3. _7445_ 17.04.19 13:25 Сейчас в теме
(2)Спасибо за вниманию. Написал такой код -
ЭлементыФормы.Список.ИзменятьНастройкуКолонок = Ложь;

Но по-моему не очень оптимальный
4. arsen_botashev 17.04.19 13:56 Сейчас в теме
(3)ну если теперь пользователь не может зайти сам и включить видимость то, можно считать что получилось.
5. SedovSU@mail.ru 297 17.04.19 14:51 Сейчас в теме
Тут на самом деле либо сделать как выше сделали - ведь оно работает, либо можно просто напросто удалить данную колонку из списка (то есть удалить элемент формы) тогда точно ее не сможет включить пользователь

Если ПроверитьПользователя Тогда
     ЭлементФормы.Список.Колонки.Удалить(ИмяКолонки);
КонецЕсли
Оставьте свое сообщение

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