Записки программиста 1с

Калькулятор на 1с Предприятии

калькулятор на 1с : Предприятии 8. Создадим собственный простейший калькулятор на 1с.

1с : Предприятие 8 имеет встроенный калькулятор.

калькулятор на 1с Предприятии
Форма встроенного калькулятора

Всем, кто занимается программированием известны классические задачи по программировании. Одной из классических задач по объектно-ориентированному программированию является калькулятор. Начинающим обучающим очень часто задают данную задачу. Наша команда решила сделать калькулятор на 1с:Предприятии.

Чтобы иметь возможность использовать наш код без внесения изменений мы сделали калькулятор во внешней обработке. Сначала создали обработку и на нее поместили 3 реквизита.

Затем помещаем на форму 4 кнопки, которые будут выполнять основные арифметические действия. Итоговая форма обработки будет выглядеть так:

Для каждой кнопки будет прописан свой код. Предлагаю код для кнопки сложение:

&НаКлиенте
Процедура Сложение(Команда)
// Вставить содержимое обработчика.
слагаемое1=объект.ЧислоОдин;
слагаемое2=Объект.ЧислоДва;
результат=слагаемое1+слагаемое2;
объект.ЧислоРезультат=результат;
КонецПроцедуры

Весь код калькулятора можно посмотреть во внешней обработке, но по выше представленному фрагменту его можно сделать самостоятельно.http://ithelpyou.ru/wp-content/uploads/2020/04/КалькуляторСамыйПростой.zip

Кнопочный калькулятор на 1с :Предприятие 8

Усложним задачу. Сделаем кнопочный калькулятор на 1с.

калькулятор на 1с Предприятии
Кнопочный калькулятор на 1с

Нами рассматривается максимально простой пример. Поэтому мы будем использовать 3 поля или реквизита:

Во-первых Реквизит Число-для внесения данных с кнопок;

Во-вторых Реквизит Число2-для промежуточного хранения введенных данных. Реквизит Число2 мы не будем отображать на форме.

В третьих Реквизит Действие- будет хранить выполняемое действие.

На форме разместим несколько видов кнопок:

  • Кнопки с цифрами;
  • Кнопки с действиями( математическими операциями);
  • Кнопка сброс;
  • Кнопка равно.

Все кнопки с цифрами будут иметь практические одинаковых код. При нажатии кнопку с цифрой дописывается цифра к Реквизиту число:

&НаКлиенте
Процедура один(Команда)
	// Вставить содержимое обработчика.
	один=Строка(объект.Число);
	один=один+"1";
	объект.Число=один;
КонецПроцедуры

Все кнопки с математическими операциями, также имеют практически одинаковый код:

&НаКлиенте
Процедура сложение(Команда)
	объект.Число2=Число(объект.Число);
	объект.Действие="плюс";
	один="";
	объект.Число=один;
КонецПроцедуры

Кнопка Сброс выполняет очищение Реквизитов хранящих числа для математических операций:

&НаКлиенте
 Процедура сброс(Команда)
	 объект.Число="";
	 объект.Число2="";
 КонецПроцедуры

Кнопка равно содержит код выполнения математических операций. В нашем примере вычисляются только 4 основных математических операции:

&НаКлиенте
Процедура Равно(Команда)
	рез=0;
	Если Строка(объект.Действие)="плюс" Тогда
	     рез=число(объект.Число2)+число(объект.Число);
	 иначеесли Строка(объект.Действие)="минус" тогда
		 рез=число(объект.Число2)-число(объект.Число);
	  иначеесли Строка(объект.Действие)="умножение" тогда
		 рез=число(объект.Число2)*число(объект.Число);
		иначеесли Строка(объект.Действие)="деление" тогда
			Если Строка(объект.число)=0 Тогда
			
				сообщить("Деленить на ноль нельзя");
				иначе
			 рез=число(объект.Число2)/число(объект.Число);

			КонецЕсли; 
	  КонецЕсли; 
	 объект.Число=строка(рез);
 КонецПроцедуры

Ссылка на внешнюю обработку: Кнопочный калькулятор на 1с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *