Имя: Пароль:
1C
1С v8
Как проверить что у кнопки действие = Записать?
,
0 DenSpb
 
16.03.13
08:33
8.1 Обычное приложение. Закрываю доступность кнопок и для стандартных кнопок мне нужно определить действие "Записать".
1 Мимохожий Однако
 
16.03.13
08:39
Каким кнопкам закрываешь доступность? В какой форме надо определить действие Записать?
2 DenSpb
 
16.03.13
08:40
(1) всем кнопкам, записать и закрыть. В форме документа делаю и в форме справочника.
3 Мимохожий Однако
 
16.03.13
08:48
При открытии установи свойство Доступность = Ложь. Попробуй, что-нибудь изменить на форме, нажми на кнопку и проверишь.
4 DenSpb
 
16.03.13
08:55
У кнопки есть действие. Я хочу проверять на стандартное действие = Закрыть. Если Кнопка.Действие = СтандартноеДействиеЗаписать. Так вот я не знаю как обратиться к этому СтандартноеДействиеЗаписать
5 Мимохожий Однако
 
16.03.13
08:58
В модуле формы есть предопределенная процедура ПриЗаписи() и ПередЗаписью(). Туда и втыкайся.
6 Мимохожий Однако
 
16.03.13
08:58
Еще есть процедура ПриЗакрытии()
7 DenSpb
 
16.03.13
09:02
(5) спасибо:)
8 DenSpb
 
16.03.13
09:09
Как определить, что у кнопки Действие = Записать?
9 Мимохожий Однако
 
16.03.13
09:14
Вставь в процедуру ПриЗаписи() Сообщить("Действие Записать.Ура"); потом нажми на кнопку. Получишь результат. Положительный или отрицательный.
10 DenSpb
 
16.03.13
09:16
(9) не понял
11 Мимохожий Однако
 
16.03.13
09:37
Открой документацию. Может быть, там понятнее.
12 ShoGUN
 
16.03.13
09:45
(9) Отладчик украли?
13 ShoGUN
 
16.03.13
09:47
(8) Отладчиком умеешь пользоваться? Поставь брякпоинт в "ПриЗаписи", если останавливается на нем при нажатии на кнопку - значит запись.
14 mikecool
 
16.03.13
10:27
(11) (13) а как все таки на вопрос ответить?
15 mikecool
 
16.03.13
10:28
ради прикола - можно перебрать все элементы формы и вывести описание их действия и тип этого значения
16 mikecool
 
16.03.13
10:37
Типа таким условием проверить
ТипЗнч(Кнопка.Действие) = Тип("Действие") И Строка(Кнопка.Действие) = "Записать"
17 mikecool
 
16.03.13
10:38
+16 можно еще ориентироваться на имя/заголовок кнопки
18 ShoGUN
 
16.03.13
13:43
(17) Запись может вызываться и из кода в других местах, пример - форма справочника со списком РС на ней. Для того, чтоб заполнять РС - нужно сначала записать элемент справочника.
19 ShoGUN
 
16.03.13
13:44
+(18) И думаю это важней, чем тупо получать тип действия.
20 mikecool
 
16.03.13
15:11
(18) это уже расширение задачи, автор про это ни слова не сказал, может ему надо организовать красоту на форме...
21 DenSpb
 
17.03.13
09:01
(15) я так и делаю, всем элементам командной панели, если они не равны ТипЗнч(Кнопка.Действие) = Тип("Действие") И (Строка(Кнопка.Действие) = "Записать" или Строка(Кнопка.Действие) = "Закрыть") Мне этот код и надо было. Спасибо:)
22 DenSpb
 
17.03.13
09:11
хм... Определил кнопку и делаю Форма.ЭлементыФормы[Элемент.Имя].Кнопки.Найти(Кнопка.Имя).Доступность = Ложь;
Но она все равно остается доступной. Или со стандартными кнопками этот метод не работает?
23 mikecool
 
17.03.13
16:19
(22) может доступ к ней открывается позже
24 Мимохожий Однако
 
17.03.13
16:29
А не проще при открытии использовать свойство формы ТолькоПросмотр = Истина?
25 DenSpb
 
18.03.13
12:32
(24) Разумается нет, так не зря же хочу открыть кнопку Записать, какие то поля открываю.
26 DenSpb
 
18.03.13
12:33
(23) я работаю в процедуре "При открытии". Когда же может открываться доступ?
27 ptiz
 
18.03.13
12:47
(22) Всё должно работать.
28 DenSpb
 
18.03.13
12:48
(27) не работает... В меню действия кнопки тоже остаются доступными.
29 DenSpb
 
18.03.13
12:55
Хотя получается, что в (16) ответ на заголовок темы получен, а то, что дотупность кнопки остается = истина, это уже другой ворпрос. Можно поменять стандартную кнопку на кнопку с процедрой: Записать();
30 Мимохожий Однако
 
18.03.13
20:28
(25)я не телепат.))) То, что для тебя очевидно, станет очевидным для других, если соизволишь описать нюансы техзадания. ИМХО, фигнёй страдаешь. Добавь проверку при записи на изменения в зависимости от ситуации, прав и т.п. и добавь в Отказ = Истина. Нет смысла при этом изобретать квадратные колеса на каждый элемент интерфейса. По бодается пару раз пользователь на неправильное заполнение и научится.
31 ptiz
 
19.03.13
11:47
(29) Ну ё-моё. Это же "Подменю", ты его Подменю.Кнопки должен перебрать и для каждой .Доступность отключить.
Программист всегда исправляет последнюю ошибку.