Калькулятор 1С


Если Вы не собираетесь моделировать на 1С физические явления, то математические функции Вам понадобятся достаточно редко.

На всякий случай пройдемся кратко по ним. Чтобы не было скучно – параллельно сделаем простенький калькулятор 1С.

 

Краткое техническое задание на калькулятор 1С

Сделаем наш калькулятор 1С во внешней обработке – чтобы им можно было пользоваться в любой конфигурации.

На форме будет цифровое поле, куда пользователь может ввести число. Чтобы совершать над числом операции – нужны кнопки управления – плюс, минус, деление и т.п.

Если для операции нужны два числа – первое запомним и предложим ввести второе.

Результат будем выводить в то же числовое поле.

 

Создание калькулятора 1С

Форма и кнопки
Для пользователя калькулятор 1С в первую очередь состоит из формы. Создадим наш гений дизайнерской красоты.

Итак, создаем внешнюю обработку: Конфигуратор/Файл/Новый/Внешняя обработка.

Добавляем форму калькулятора 1С. На форме нам нужно разместить

  • Поле ввода числа
  • Кнопки с цифрами
  • Кнопки управления.

Калькулятор 1С — толстый клиент
Ненужную нам кнопку «Выполнить», добавленную на форму по-умолчанию, удалим (выделить кнопку левой кнопкой мыши, кнопка DEL на клавиатуре).

Добавим поле на форму калькулятора 1С. В его свойствах установим тип данных – число.

Кнопки калькулятора 1С придется «рисовать» руками. Хорошо, что до нас придумали «копипаст». Главное – нарисовать первую кнопку. Чтобы долго не прицеливаться – в свойствах кнопки (правой кнопки мыши на кнопку) прямо укажем размер – ширину и высоту.

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

У кнопки калькулятора 1С есть имя. По-умолчанию кнопка называется «Кнопка1». Мы можем зашифровать в имени кнопки выполняемое ей действие, например «Умножить». Что нам это дает? Кнопок будет много – а обработчик события один. Это удобно.

Копировать кнопку калькулятора 1С можно

  • Привычным Ctrl+C и Ctrl+V
  • Перетаскивая ее мышью с зажатой клавишей Ctrl.

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

Калькулятор 1С — тонкий клиент
В тонком клиенте калькулятора 1С кнопки создаются по-другому: сначала создается команда, потом она перетаскивается на форму и «превращается» в кнопку. Но нам это неудобно – нам же хочется, чтобы у разных кнопок был один и тот же обработчик.

Создадим команду, назовем «НажатиеКнопкиКоманды». Добавим обработчик.

Теперь добавим кнопку на калькулятор 1С. Обратите внимание – кнопку создаем для элемента Форма, а не в подчинении «Командной панели».

Войдем в свойтва кнопки (правой кнопкой мыши). Выберем команду в свойстве «Имя команды».

Ну а дальше – уже привычным копипастом – сделаем нужные нам кнопки калькулятора 1С. При копировании все также меняется имя кнопки (кроме нуля), и остается выбранная команда.

Чтобы навести красоту на форме калькулятора 1С:

  • В кнопках укажем верный заголовок (*, :, =)
  • Сгруппируем кнопки
    o Добавим группу («Группа – обычная группа»)
    o Исправим свойства кнопки (Группировка – горизонтальная, Отображение – Нет, Отображать заголовок – Нет)

 

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

Создадим процедуру, которая будет выполнять операции – сложение, деление и т.п. Назовем ее, например, ВыполнитьОперацию(ИмяОперации). При нажатии пользователя на кнопку нам нужно определять имя операции (зашифрованное в имени кнопки) и вызывать нашу процедуру выполнения операции.

Мы сделали форму калькулятора 1С, на форме поле (с введенным числом) и кнопки, у каждой кнопки один и тот же обработчик. Нужно определить операцию, которую желает выполнить пользователь.

В толстом клиенте параметр обработчика события – элемент управления на форме (т.е. кнопка). Ее имя и есть нужная нам операция.

Пример программного кода:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


В тонком клиенте в параметре указана команда. Однако у формы есть понятие «текущий элемент» и в момент нажатия на кнопку текущим элементом будет эта кнопка.



Только зарегистрированные пользователи VIP группы могут видеть этот контент.



Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (15 голосов, среднее: 1,67 из 5)
Загрузка...

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