Имя: Пароль:
1C
1С v8
Счетчик нажатия на кнопку
, ,
0 Zigre1n
 
29.07.21
19:32
Создать внешнюю обработку, которая при нажатии на кнопку будет выводить номер
нажатия (т.е. нажали первый раз, выведет «1», нажали второй раз, выведет «2» и
т.д.)

&НаКлиенте
Процедура СчетчикНажатий(Команда)
        Реквизит1 = 0;
    Если Реквизит1 = 0 Тогда    
        Реквизит1 = Реквизит1 + 1 ;            
    КонецЕсли;
            Сообщить("Количество нажатий; " + Реквизит1);
        
КонецПроцедуры

Все время выдает 1,1,1,1
Помогите пожалуйста
1 Волшебник
 
модератор
29.07.21
19:34
Реквизит1 должна стать переменной модуля, а то значение не сохраняется

и эту строчку убери:
" Реквизит1 = 0; "
2 Zigre1n
 
29.07.21
19:50
Если вам не сложно, то не могли бы вы продемонстрировать
3 2S
 
29.07.21
19:53
(2) так ты ж обнуляешь его каждый раз
Добавь реквизит формы и пиши туда
4 Zigre1n
 
29.07.21
19:56
перем Реквизит1;

&НаКлиенте
Процедура Нажатие(Команда)
    Если Реквизит1 >= 0 Тогда
        Реквизит1 = Реквизит1 + 1;
        
        Сообщить (Реквизит1);
        
        КонецЕсли;

КонецПроцедуры
перем Реквизит1;
    

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Реквизит1 = 0;
КонецПроцедуры
5 2S
 
29.07.21
19:57
А для каких целей условие которое всегда выполняется?
6 Zigre1n
 
29.07.21
20:00
Для подсчета нажатий на кнопку. Если честно, то я совсем недавно начал изучать 1с и вот пытаюсь разобраться
7 Mikeware
 
29.07.21
20:02
(6) к 1с вопрос отношения не имеет. вопрос относится к алгоритму
8 Zigre1n
 
29.07.21
20:17
Перем Кол;

&НаКлиенте
Процедура Нажатие(Команда)
     Кол = Кол + 1;
    
    Если  Объект.Масив.Количество() > Кол Тогда
          ЭтаФорма.ТекМатериал = кол+1;
          Объект.ТекущийМатериал = Объект.Масив.Получить(кол).Имя;
    КонецЕсли;

КонецПроцедуры

    

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Кол = 0;
    ЭтаФорма.С = 1;
КонецПроцедуры

Преобразование значения к типу Число не может быть выполнено
     Кол = Кол + 1;
Как можно исправить
9 Вафель
 
29.07.21
20:21
У перем наклиенте добавь
10 Zigre1n
 
29.07.21
20:26
Не совсем понял, как на клиент Объявить перем кол
11 Closed
 
29.07.21
22:09
&НаКлиенте
Перем  КоличествоНажатий;

&НаКлиенте
Процедура  НажмиМеня(Команда)
    
    КоличествоНажатий = КоличествоНажатий + 1;
    Сообщить("Количество нажатий = " + КоличествоНажатий);
    
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    КоличествоНажатий = 0;
        
КонецПроцедуры