Имя: Пароль:
1C
1С v8
как реализовать 2 кнопки в одну
0 Enot_tut
 
09.12.15
11:05
у меня есть на форме кнопка старт и пауза, я хочу совместить в одну кнопку. как это реализовать в одну кнопку.  помогите пожалуйста
1 Бубка Гоп
 
09.12.15
11:06
Попробуй булевы переменные, классная вещь.
2 letni88
 
09.12.15
11:06
меняй заголовок и анализируй
3 ДенисЧ
 
09.12.15
11:07
(2) быдлокод
4 Мэс33
 
09.12.15
11:12
(0) см. (1)
5 Живой Ископаемый
 
09.12.15
11:14
2(3) Да ладно, обычный КВО-паттерн
6 Enot_tut
 
09.12.15
11:16
Можно пример
чтобы понять
7 Мэс33
 
09.12.15
11:18
(6)
Создаешь переменную. Присваиваешь по умолчанию Истина или Ложь, смотри по ситуации.
А по кнопке эту переменную меняешь на противоложное значение.
Отсюда дальше по коду смотришь, если переменная = истина, тогда один код, иначе - другой.
8 Enot_tut
 
09.12.15
11:20
Пример оту я чайник.
9 Живой Ископаемый
 
09.12.15
11:20
А еще у 1С есть кнопка с состоянием :)
10 Бубка Гоп
 
09.12.15
11:20
(6) Грубо говоря

Процедура Нажатие()

Если ВПроцессе Тогда

   ВПроцессе = Ложь;
   Кнопка.Заголовок = "Старт";
   КакиеТоДействия();

Иначе

   ВПроцессе = Истина;
   Кнопка.Заголовок = "Пауза";
   КакиеТоДругиеДействия();

КонецЕсли;

КонецПроцедуры
11 letni88
 
09.12.15
11:24
Пометка = Истина.
12 letni88
 
09.12.15
11:25
(3) в чем глобальное отличие сравнивать с заголовком или булевым?
13 Бубка Гоп
 
09.12.15
11:27
(12) Просто так не принято в приличном обществе :)
14 Mort
 
09.12.15
11:30
(0) Удобные кнопки превратить в такое омнище.
15 Мэс33
 
09.12.15
11:31
(14) В медиаплеерах такое сплошь и рядом.
16 singlych
 
09.12.15
11:33
(12) Булево может пригодиться в других местах.
17 letni88
 
09.12.15
11:35
Тогда правильным решением будет лишь использование пометки
18 letni88
 
09.12.15
11:36
смысл создавать новые переменные и передавать их параметрами
19 Мэс33
 
09.12.15
11:37
(18) Вариантов несколько. Пусть смотрит, выбирает.
20 singlych
 
09.12.15
11:40
(18) Смысл использовать свойства элементов не по назначению?
21 dsdred
 
09.12.15
12:41
(6)
Процедура Нажатие()
  Попытка

    Если Кнопка.Заголовок = "Старт" Тогда

      КакиеТоДействия();

    Иначе

      КакиеТоДругиеДействия();

    КонецЕсли;
    
    Кнопка.Заголовок = ?(Кнопка.Заголовок = "Старт","Пауза","Старт");    

  Исключение
    Сообщить(ОписаниеОшибки());
    //Тут что то пошло не так...
  КонецПопытки;
КонецПроцедуры
22 Живой Ископаемый
 
09.12.15
17:33
2(20) потому что 1С очень ограничило кастомизацию контролов. В других средах даже в типовых контралах есть свойства, которые ты можешь использовать для своих целей.