|
как программно отключить пользовательскую настройку в 1с | ☑ | ||
---|---|---|---|---|
0
ZanZiBar
28.04.14
✎
06:33
|
Поймал тупняк. Нужно что бы по нажатию кнопки переставала действовать пользовательская настройка(действие аналогичное снятию галочки.
Процедура ПолеВвода1Очистка(Элемент, СтандартнаяОбработка) ПараметрОтбор = ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0]; ПараметрОтбор.Использование=Ложь; ПараметрОтбор.ПравоеЗначение = ПолеВвода1; КонецПроцедуры Использование Ложь не работает |
|||
1
Cube
28.04.14
✎
06:36
|
(0) Думаю, что надо в КомпоновщикНастроек.Настройки галочку снимать, а не в КомпоновщикНастроек.ПользовательскиеНастройки.
|
|||
2
ZanZiBar
28.04.14
✎
07:23
|
Не проходит этот фокус
|
|||
3
Cube
28.04.14
✎
07:25
|
(2) Какой? Ты программист или дворник? Говори техническим языком.
|
|||
4
ZanZiBar
28.04.14
✎
07:33
|
(3) КомпоновщикНастроек.Настройки не видит Пользовательскую настройку. Пишет ошибку не найдено.
Включал вот таким образом. Работает корректно Процедура ПолеВвода1ПриИзменении(Элемент) ПараметрОтбор = ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0]; ПараметрОтбор.Использование=Истина; ПараметрОтбор.ПравоеЗначение = ПолеВвода1; КонецПроцедуры Соответственно и выключать её необходимо, очевидно, через пользовательские. Вот только использование-ложь не отключает. |
|||
5
ZanZiBar
28.04.14
✎
07:35
|
Думал из за того что забыл убрать строчку
ПараметрОтбор.ПравоеЗначение = ПолеВвода1; Опять не так. |
|||
6
Cube
28.04.14
✎
07:35
|
(4) Это что за настройка вообще? Что это? Выбранное поле? Отбор? Параметр? Условное оформление?
|
|||
7
ZanZiBar
28.04.14
✎
07:37
|
Отбор.
|
|||
8
Cube
28.04.14
✎
07:39
|
(7) Тогда выкинь свой код и делай так:
ЭлементыОтбора = Новый Соответствие; Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если Тип(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда ЭлементыОтбора.Вставить(ЭлементОтбора.ЛевоеЗначение, ЭлементОтбора); КонецЕсли; КонецЦикла; ЭлементОтбора = ЭлементыОтбора.Получить(Новый ПолеКомпоновкиДанных("МоеПоле")); Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("МоеПоле"); КонецЕсли; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = МоеПоле; ЭлементОтбора.Использование = ЗначениеЗаполнено(МоеПоле); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |