калькулятор на 1с : Предприятии 8. Создадим собственный простейший калькулятор на 1с.
1с : Предприятие 8 имеет встроенный калькулятор.
Всем, кто занимается программированием известны классические задачи по программировании. Одной из классических задач по объектно-ориентированному программированию является калькулятор. Начинающим обучающим очень часто задают данную задачу. Наша команда решила сделать калькулятор на 1с:Предприятии.
Чтобы иметь возможность использовать наш код без внесения изменений мы сделали калькулятор во внешней обработке. Сначала создали обработку и на нее поместили 3 реквизита.
Затем помещаем на форму 4 кнопки, которые будут выполнять основные арифметические действия. Итоговая форма обработки будет выглядеть так:
Для каждой кнопки будет прописан свой код. Предлагаю код для кнопки сложение:
&НаКлиенте
Процедура Сложение(Команда)
// Вставить содержимое обработчика.
слагаемое1=объект.ЧислоОдин;
слагаемое2=Объект.ЧислоДва;
результат=слагаемое1+слагаемое2;
объект.ЧислоРезультат=результат;
КонецПроцедуры
Весь код калькулятора можно посмотреть во внешней обработке, но по выше представленному фрагменту его можно сделать самостоятельно.http://ithelpyou.ru/wp-content/uploads/2020/04/КалькуляторСамыйПростой.zip
Кнопочный калькулятор на 1с :Предприятие 8
Усложним задачу. Сделаем кнопочный калькулятор на 1с.
Нами рассматривается максимально простой пример. Поэтому мы будем использовать 3 поля или реквизита:
Во-первых Реквизит Число-для внесения данных с кнопок;
Во-вторых Реквизит Число2-для промежуточного хранения введенных данных. Реквизит Число2 мы не будем отображать на форме.
В третьих Реквизит Действие- будет хранить выполняемое действие.
На форме разместим несколько видов кнопок:
- Кнопки с цифрами;
- Кнопки с действиями( математическими операциями);
- Кнопка сброс;
- Кнопка равно.
Все кнопки с цифрами будут иметь практические одинаковых код. При нажатии кнопку с цифрой дописывается цифра к Реквизиту число:
&НаКлиенте
Процедура один(Команда)
// Вставить содержимое обработчика.
один=Строка(объект.Число);
один=один+"1";
объект.Число=один;
КонецПроцедуры
Все кнопки с математическими операциями, также имеют практически одинаковый код:
&НаКлиенте
Процедура сложение(Команда)
объект.Число2=Число(объект.Число);
объект.Действие="плюс";
один="";
объект.Число=один;
КонецПроцедуры
Кнопка Сброс выполняет очищение Реквизитов хранящих числа для математических операций:
&НаКлиенте
Процедура сброс(Команда)
объект.Число="";
объект.Число2="";
КонецПроцедуры
Кнопка равно содержит код выполнения математических операций. В нашем примере вычисляются только 4 основных математических операции:
&НаКлиенте
Процедура Равно(Команда)
рез=0;
Если Строка(объект.Действие)="плюс" Тогда
рез=число(объект.Число2)+число(объект.Число);
иначеесли Строка(объект.Действие)="минус" тогда
рез=число(объект.Число2)-число(объект.Число);
иначеесли Строка(объект.Действие)="умножение" тогда
рез=число(объект.Число2)*число(объект.Число);
иначеесли Строка(объект.Действие)="деление" тогда
Если Строка(объект.число)=0 Тогда
сообщить("Деленить на ноль нельзя");
иначе
рез=число(объект.Число2)/число(объект.Число);
КонецЕсли;
КонецЕсли;
объект.Число=строка(рез);
КонецПроцедуры
Ссылка на внешнюю обработку: Кнопочный калькулятор на 1с.