|
УстановитьДоступность() | ☑ | ||
---|---|---|---|---|
0
vadim777
06.06.16
✎
21:32
|
В семерке для установления видимости и доступности элементов формы широко использовалась текстовая функция с именем УстановитьДоступность(), возвращающая пустое текстовое значение, и которую располагали за пределами макета формы. В восьмерке такой подход не используется. Почему? Что вместо?
|
|||
1
vadim777
06.06.16
✎
21:52
|
(0) Процедура ОбновлениеОтображения()?
|
|||
2
Lexey_
06.06.16
✎
22:07
|
(1) что сделать-то нужно? Без привязки к семерке
|
|||
3
Cyberhawk
06.06.16
✎
22:07
|
"возвращающая пустое текстовое значение... Что вместо?"
Ответ: Функция ВместоУстановитьДоступность() Возврат ""; КонецФункции |
|||
4
vadim777
07.06.16
✎
06:13
|
(2) При изменении переключателя - изменить доступность некоторых полей формы.
|
|||
5
torgm
07.06.16
✎
06:33
|
(4) а в переключателе прописать?
|
|||
6
vadim777
07.06.16
✎
08:28
|
(5) В семерке все управление доступностью было в одном месте. А если прописать процедуру в переключателе, то нужно озаботиться о вызове ее и при открытии формы.
|
|||
7
Mankubus
07.06.16
✎
08:37
|
(6) и это нормально
|
|||
8
torgm
07.06.16
✎
09:09
|
(6) То есть просто ленишься :)
|
|||
9
FIXXXL
07.06.16
✎
09:18
|
(6) ПриИзмененииДанных формы попробуй
|
|||
10
vadim777
07.06.16
✎
09:52
|
(9) Не работает. Также не работает ОбновлениеОтображения().
У меня внешняя обработка "Импорт из КБ". Если отмечен переключатель НаЗаданнуюДату - становится доступным поле ввода даты. Пробую обе процедуры - в них процесс даже не заходит. Процедура ОбновлениеОтображения() Сообщить(ДатаФормированияБВ); Если ДатаФормированияБВ = 1 Тогда ЭлементыФормы.ДатаДок.Доступность = Истина; Иначе ЭлементыФормы.ДатаДок.Доступность = Ложь; КонецЕсли; КонецПроцедуры Процедура ПриИзмененииДанных() Сообщить(ДатаФормированияБВ); Если ДатаФормированияБВ = 1 Тогда ЭлементыФормы.ДатаДок.Доступность = Истина; Иначе ЭлементыФормы.ДатаДок.Доступность = Ложь; КонецЕсли; КонецПроцедуры |
|||
11
FIXXXL
07.06.16
✎
10:04
|
(10) у переключателя есть галка "ИзменяетДанные"?
|
|||
12
Chainsaw
07.06.16
✎
10:14
|
(11) Он банально события не прибиндил
|
|||
13
vadim777
07.06.16
✎
10:15
|
(11) Нет. Это и есть причина?
|
|||
14
FIXXXL
07.06.16
✎
10:17
|
(13) дерзай, экспериментируй
если не хочешь в обработчике переключателя писать-вызывать функции |
|||
15
Lexey_
07.06.16
✎
10:17
|
(12) банально нет события ПриИзмененииДанных() у формы внешней обработки
|
|||
16
vadim777
07.06.16
✎
10:17
|
(11) Установил галку - все равно процесс не входит в ОбновлениеОтображения() и ПриИзмененииДанных()
|
|||
17
vadim777
07.06.16
✎
10:23
|
(14) Придется, 1С назначила обработчик КнопкаВыполнитьНажатие. Текст обработчика:
Процедура КнопкаВыполнитьНажатие(Кнопка) Сообщить(Кнопка); // Вставить содержимое обработчика. КонецПроцедуры Но эту-же процедуру 1С назначила и кнопке Выполнить. Как определить, какая кнопка нажата? Сейчас обработчик при нажатии на переключатель выводит сообщение Переключатель. |
|||
18
FIXXXL
07.06.16
✎
10:29
|
(16) в свойствах формы, в Событиях процедуры привязаны к событиям?
(17) можешь написать свою процедуру и назначить ее любой кнопке |
|||
19
vadim777
07.06.16
✎
10:33
|
(18) Понял. Привязал процедуру ОбновлениеОтображения() к событию ОбновлениеОтображения. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |