|
Как сделать кнопку доступной при ТолькоПросмотр?
| ☑ |
0
1dvd
18.11.13
✎
09:59
|
Следущий код делает кнопку недоступной.
ЭтаФорма.ТолькоПросмотр = Истина;
ДействиеЗаписатьНастройки = Новый Действие("ЗаписатьНастройки");
КнопкаЗаписатьНастройки = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Вставить(0, "КнопкаЗаписатьНастройки", ТипКнопкиКоманднойПанели.Действие, "Записать настройки", );
КнопкаЗаписатьНастройки.КнопкаПоУмолчанию = Истина;
КнопкаЗаписатьНастройки.ИзменяетДанные = Ложь;
КнопкаЗаписатьНастройки.Доступность = Истина;
Что не так?
|
|
1
МойКодУныл
18.11.13
✎
10:00
|
Только просмотр применяется ко всей форме и имеет бОльший приоритет.
|
|
2
mikecool
18.11.13
✎
10:02
|
неожиданно
|
|
3
1dvd
18.11.13
✎
10:02
|
(1) но, на форме ведь есть элементы, которые доступны, после ТолькоПросмотр = Исина.
Вроде, ИзменяетДанные = Ложь должно говорить о том, что кнопка будет доступна. Но, нет :(
|
|
4
Maxus43
18.11.13
✎
10:04
|
(3) изменяет данные вобще не для этого и это зело мерзкая галка
|
|
5
dk
18.11.13
✎
10:05
|
(3) попробуй изменяетданные устанавливать до форма.толькопросмотр
|
|
6
dk
18.11.13
✎
10:06
|
ну что нить типа форма обновить не помешает
|
|
7
1dvd
18.11.13
✎
10:07
|
(5)(6) не помогло
|
|
8
1dvd
18.11.13
✎
10:24
|
Решено.
Тупо не дописал создание Кнопки :)
ЭтаФорма.ТолькоПросмотр = Истина;
ДействиеЗаписатьНастройки = Новый Действие("ЗаписатьНастройки");
//КнопкаЗаписатьНастройки = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Вставить(0, "КнопкаЗаписатьНастройки", ТипКнопкиКоманднойПанели.Действие, "Записать настройки", );
КнопкаЗаписатьНастройки = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Вставить(0, "КнопкаЗаписатьНастройки", ТипКнопкиКоманднойПанели.Действие, "Записать настройки", ДействиеЗаписатьНастройки);
КнопкаЗаписатьНастройки.КнопкаПоУмолчанию = Истина;
КнопкаЗаписатьНастройки.ИзменяетДанные = Ложь;
КнопкаЗаписатьНастройки.Доступность = Истина;
(4) Не прав. Это незадокументированная фича. Если у кнопки ИзменяетДанные = Истина, тогда при Форма.ТолькоПросмотр = Истина, кнопка становится недоступной. Если у кнопки ИзменяетДанные = Ложь, то остается доступной
|
|
9
МойКодУныл
18.11.13
✎
10:31
|
не знал. Интересно:)
|
|
10
Полотенчик
18.11.13
✎
10:37
|
А я думал, что документированная. ТолькоПросмотр у формы устанавливает ТолькоПросмотр у элементов, связанных с реквизитами объекта, и у тех, у которых стоит свойство ИзменяетДанные.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший