Имя: Пароль:
1C
1С v8
Счетчик нажатия на кнопку
0 Kiki23
 
16.09.19
13:51
Нужно написать внешнюю обработку, которая при нажатии на кнопку будет выводить номер нажатия (т.е. нажали первый раз, выведет 1, нажали второй раз, выведет 2 и т.д.)
НО, при закрытии 1С и повторном открытии, нумерация должна продолжаться с предыдущего номера. Не могу понять как сохранить значение нажатия (только учусь и делаю в учебной версии)
1 Paint_NET
 
16.09.19
13:52
ХранилищеЗначения
2 Mankubus
 
16.09.19
13:53
(0) версия платформы? оф/уф?
https://1cers.ru/rules.php#rec
3 strange2007
 
16.09.19
13:53
(0) В файл, в какой-нибудь регистр. Да хоть куда сохраняй
4 Звездец
 
16.09.19
13:53
записать в реестр
записать в файл
просто сделать сохраняемым реквизит

выбирай сам
5 Kiki23
 
16.09.19
13:59
Не получается сделать реквизит сохраняемым, а как записывать в файл я еще не знаю
6 Kiki23
 
16.09.19
14:06
Версия 8.3.12
7 Kiki23
 
16.09.19
14:07
УФ
8 rincewind
 
16.09.19
14:08
(6) самый простой способ, не трогая базу: смотри в синтаксис-помощнике СохранитьЗначение / ВосстановитьЗначение.
9 Мимохожий Однако
 
16.09.19
14:16
(5) Не стесняйся. Снимай покров со своего кода. Показывай на обозрение.
10 Kiki23
 
16.09.19
14:21
&НаКлиенте
Процедура Команда1(Команда)    
        Реквизит1 = 0;
        //Значение = ВоостановитьЗначение("Реквизит1", Реквизит1);
        Если Реквизит1 >= 0 Тогда
        Реквизит1 = Реквизит1 + 1;
        //Счетчик = Реквизит1;
        //СохранитьЗначение("Реквизит1", Реквизит1);
        Сообщить (Реквизит1);
        //КонецЕсли;
КонецПроцедуры

Плюс из-за того, что не могу сохранить значение не обновляется номер нажатия
11 Консультант Баранов
 
16.09.19
14:21
(0) Смотря куда и по какой аналитике.

Если просто номер, то можно в константу, если с разбивкой по обработке\Пользователя в регистр сведений/хранилищенастроек.
12 Mankubus
 
16.09.19
14:22
у реквизитов формы есть флаг автоматического сохранения значений
13 Kiki23
 
16.09.19
14:25
Нет в этой версии автоматического сохранения значений, это есть в ОФ, тут не нашел
14 Консультант Баранов
 
16.09.19
14:26
(13) Реквизит чей, формы или обработки?
15 Мимохожий Однако
 
16.09.19
14:27
(13) Включи в свойствах формы.
16 Kiki23
 
16.09.19
14:28
Нет в свойствах формы сохранения значений.

Реквизит обработки
17 Kiki23
 
16.09.19
14:29
Все, я не туда смотрел. Нашел
18 Мимохожий Однако
 
16.09.19
14:30
19 Kiki23
 
16.09.19
14:34
Хм, номер нажатия все равно не меняется
20 Консультант Баранов
 
16.09.19
14:35
Сохраненные таким образом настройки восстановятся после чистки кэша,  открытия базы на другом компьютере?
21 Консультант Баранов
 
16.09.19
14:35
Реквизит1 = 0;
22 Kiki23
 
16.09.19
14:39
Последнее сообщение не понял
23 vova1122
 
16.09.19
14:41
(22) убери эту строку из своего кода
24 Консультант Баранов
 
16.09.19
14:41
(22) Это строчка из твоего кода. Если при выполнении команды ты каждый раз обнуляешь, то чего ты хочешь?
25 Kiki23
 
16.09.19
14:42
Я это понимаю, но если я эту строку убираю, то возникает ошибка "неопределенная переменная"
26 Консультант Баранов
 
16.09.19
14:43
(23) Не то что прям убирать, скорее перенести в ПриСоздании.
27 Kiki23
 
16.09.19
14:47
Это как?
28 sqr4
 
16.09.19
14:48
а если одновременно нажмут?
29 Консультант Баранов
 
16.09.19
14:49
(27) ПравойКнопкой по форме События. При создании на Сервере, ПриОткрытии,
30 VladZ
 
16.09.19
14:52
(0) Бестолковая задача. Не имеет ничего общего с реальными задачами.
31 Консультант Баранов
 
16.09.19
14:54
(30)
1. Нечто похожее есть при нумерации кассовой книги.
2. У меня было что-то похожее, надо было учитывать, какой пользователь, какими отчетами и сколько раз пользовался.
32 vova1122
 
16.09.19
14:55
(30) Почему же? Например посчитать сколько раз бухгалтер нажимал "печать" документа. Иди формировал некий отчет...
33 Kiki23
 
16.09.19
14:56
перем Реквизит1;
    
&НаКлиенте
Процедура Команда1(Команда)    
        
        Если Реквизит1 >= 0 Тогда
        Реквизит1 = Реквизит1 + 1;
        
        Сообщить (Реквизит1);
        
        КонецЕсли;
КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Реквизит1 = 0;
КонецПроцедуры

все равно ошибка неопределенной переменной
34 Мимохожий Однако
 
16.09.19
14:56
(25) Тип реквизита сделай числом.
35 Kiki23
 
16.09.19
14:57
так тип и так число, с самого начала при создании внешней обработки
36 tixis
 
16.09.19
15:07
Объект.Реквизит1
37 Kiki23
 
16.09.19
15:22
(36) можете поподробнее пожалуйста?
38 Мимохожий Однако
 
16.09.19
15:27
(37) Ты хотя бы ссылку посмотрел и погуглил?
39 Kiki23
 
16.09.19
15:31
да (38)
40 Мимохожий Однако
 
16.09.19
15:32
(39) Выведи на форму реквизит и попробуй менять его вручную. Убедись, что сохраняет. Потом займись кнопкой.
41 Мимохожий Однако
 
16.09.19
15:33
ОФФ: из телепередачи Поле чудес. "Угадал все буквы, но не смог назвать слово".
42 Kiki23
 
16.09.19
15:35
Беда в том, что у меня очень поверхностные знания, глубоко в прошлом семестре не изучали. Не могу связать всю информацию, что вы пишите
43 Мимохожий Однако
 
16.09.19
15:39
(42) Согласен. Беда. Но я в тебя верю.
44 Консультант Баранов
 
16.09.19
15:42
(42) Так может обучится для начала?

На ютубе видео полно, 21 день, спец курс Чистова. Если есть доступ к ИТС, Радченок и др.
45 Kiki23
 
16.09.19
15:45
Нас и "обучают" в универе, но дают только практику, без лекций - есть задание, а решение ищи как сможешь (44)
46 Мимохожий Однако
 
16.09.19
15:56
(45) В жизни так же )
47 Консультант Баранов
 
16.09.19
15:59
(45) Все правильно.

Какое вам обучение?

Теорию алгоритмов и так должны знать, а остальное уровень ПТУ.

Задача преподов заставить вас потрахаться хорошенько с 1С.

Бери видео курсы и тупо проходи.
48 Fish
 
16.09.19
16:42
(45) А на какой специальности нынче 1С учат?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший