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

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

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

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


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

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

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



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


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

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

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

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

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


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


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


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


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

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


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

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

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

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

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

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


РАЗРАБОТКА ОБРАБОТКИ «КАЛЬКУЛЯТОР» НА ПЛАТФОРМЕ 1С: ПРЕДПРИЯТИЕ

Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

«1С: Предприятие» является универсальной системой автоматизации деятельности предприятий. Основной особенностью системы «1С: Предприятие» является её конфигурация. Собственно, система «1С: Предприятие» представляет собой совокупность механизмов, предназначенных для манипулирования различными типами объектов предметной области. В режиме конфигуратора 1С есть возможность создавать не только объекты внутри конфигурации, но и создавать внешние объекты в виде отдельных файлов, в том числе и обработки. Можно использовать по мере надобности любые необходимые обработки и изменять их без внесения изменений в метаданные базы 1С 1.

В качестве примера рассмотрим процесс создания обработки «Калькулятор». Создадим пустую информационную базу, запустим ее в режиме «Конфигуратор».

Все объекты, которые знает платформа, перечислены в дереве объектов конфигурации. В дереве объектов (рис. 1) выберем объект «Обработки», добавим новую, в открывшемся окне редактирования объекта конфигурации напишем имя.

Рис. 1. Создание объекта «Обработки»

Внутри обработки создаём реквизит с именем «Буфер». В открывшемся окне свойств запишем имя, установим тип – число, длина – 10, точность – 2. Реквизит «Буфер» будем использовать для временного хранения значений во время вычислений.

Рис. 2 Создание реквизита «Буфер»

Создадим форму обработки (рис. 3).

Рис. 3. Создание формы

В открывшемся диалоговом окне видим созданный реквизит «Буфер», создадим ещё один реквизит «Итого» для отображения результирующего значения вычислений.

Рис. 4. Создание реквизита

Для того, чтобы видеть новый реквизит на форме просто перетащим его в окно «Элементы» редактора форм. Далее избавимся от командной предопределенной панели «Ещё» и уберем надпись «Итого» с поля вывода значений. Для этого выделим в окне элементов «Командная панель» и в окне свойств уберем флаг для автозаполнения. В окне свойств поля «Итого» изменим «ПоложениеЗаголовка» с «авто» на «нет» (рис. 5).

Рис. 5. Редактирование поля вывода значений

Напишем первую команду для событий кнопок в редакторе формы. Назовём команду «КомКноп» Создадим элемент кнопка, который отобразится в нижнем окне на форме после назначнеия для нее команды.

Рис. 6. Создание кнопки

Аналогичным образом создадим остальные кнопки, для каждой определяя подпись в строке «Заголовок», назначим размеры.

Рис. 7. Редактирование кнопки

Создадим команды, которые будут выполнять арифметические действия, назначим их на соответствующие кнопки (рис. 8).

Рис. 8. Создание кнопки «Сумма»

Теперь все кнопки надо привести в определённый порядок, чтобы форма приняла компактный вид. Разделим кнопки на несколько групп, для каждой группы установим горизонтальное расположение (рис. 9).

Рис. 9. Группировка кнопок

Добавим ещё одну группировку, куда соберем все группы, для итоговой группировки установим вертикаальное расположение. Результат представлен на рисунке 10.

Рис. 10. Форма «Калькулятор»

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

Рис. 11. Объявление переменных

Напишем первую процедуру для созданной формы, перейдём в редактор формы нажав кнопку «Форма». В редакторе форм, в разделе команды форм выделим команду «КомКноп». Откроется окно свойств, где в строке действия определим «Создать на клиенте» это и есть директива из модуля (рис. 12). В результате в модуле будет создана автоматически процедура для созданной ранее команды. Над процедурой команды мы видим директиву «НаКлиенте», в начале процедуры имя команды «КомКноп», а рядом в скобках прописано, что данная процедура создана по команде (рис. 12, 13).

Рис. 12. Создание обработчика команды

Рис. 13. Процедура команды

В процедуре напишем код для кнопок (рис.14). Процедура выполняет запись в поле «Итого» значения свойства «Заголовок» в данный момент выбранной кнопки.

Рис. 14. Код для команды «КомКноп»

Проверим работу процедуры, для этого обновим конфигурацию базы данных ( F 7), а потом запустим её в режиме отладки ( F 5), попробуем ввести цифры на табло (рис. 15).

Рис. 15. Запуск в режиме отладки

В модуле напишем код для команды «Сумма». Для математических вычислений переведем значение, записанное в поле «Итого», в число, для этого используем функцию «Число( )». После поместим числовое значение в переменную Буфер. Дальше очистим поле «Итого». Запишем в переменную «Операция» имя команды в виде строки (рис. 16).

Рис. 16. Процедура «Сумма»

Аналогичным образом напишем код для остальных команд вычисления и добавим на поле «Итого» кнопку «КнопкаОчистки» (рис. 17).

Рис. 17. Листинг модуля формы

Напишем код для команды «Вычислить» (рис. 18).

Рис. 18. Процедура для кнопки «Вычислить»

На рисунке 19 изображен калькулятор в готовом виде, при необходимости его можно доработать. Но основная задача была показать возможности создания и программирования формы обработки.

Рис. 19. Калькулятор

В ходе работы мы успешно использовали объект метаданных конфигураций 1С, на базе которого создали внутреннею обработку «Калькулятор».

Список источников

2. Радченко М. Г., Хрусталева Е. Ю. 1С:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. М.: 1С-Паблишинг, 2013. 964 с.

3. Рыбалка В. В. Hello, 1C! Пример быстрой разработки приложений на платформе 1С:Предприятие 8.3. Версия 3. М.: 1С-Паблишинг, 2013. 225 с.

Нетипичный бухгалтер (бухгалтерия и налоги)

Нетипичный бухгалтер (бухгалтерия и налоги)

Нетипичный бухгалтер (бухгалтерия и налоги) запись закреплена

1С ЛАЙФХАК. КАЛЬКУЛЯТОР.

В программе 1С:Бухгалтерия есть простая и всем знакомая функция - Калькулятор, о которой знают все, но не все используют его функции в полную силу.

Калькулятор в программе 1С очень полезен. С его помощью можно вести расчет сумм в Декларациях, посчитать итог в Оборотно-сальдовых ведомостях (ОСВ), журналах документов и так далее, не выходя из программы. А еще его можно использовать при свернутом окне программы 1С например работая с .pdf или jpg. документом. Рассмотрим на примерах.

Калькулятор всегда под рукой — нужно только нажать кнопку в правом верхнем углу "Сервис и настройки" и выбрать в выпавшем меню Калькулятор или Ctrl + F2 (что проще и быстрее).

- формульный калькулятор - при этом режиме в строке вычислений будет отражаться вся формула вычислений (суммы и знаки) а это бывает очень удобно; СМ.ФОТО 1

- микрокалькулятор - отображает только строку вычислений;

- настройка - позволяет определить количество знаков после запятой. СМ.ФОТО 2

Кнопка справа от строки вычислений покажет вам 15 последних вычислений, что тоже бывает необходимо. СМ.ФОТО 3

По умолчанию копки М М+ М- не вынесены на панель программы 1С, что бы вынести их туда необходимо нажать кнопку в правом верхнем углу программы "Сервис и настройки" и выбрать в выпавшем меню "Показать М, М+, М-"

М позволяет поместить выбранные суммы в буфер обмена, стирая данные которые в нем были до этого.
М + добавляет к уже имеющейся в буфере сумме
М- отнимает

При работе с журналом или регистром выделяем нужную сумму, жмем в панели программы кнопку М+, выделяем следующую сумму, жмем М+ (либо М-) и так далее, в строке калькулятора "М=" отображается результат.

Для того, что бы не прибавлять числа по одному, при открытом окне калькулятора выделяем в журнале либо регистре, сочетанием Crl+левая кнопка мыши необходимые данные (сплошным списком или выборочно), нажимаем кнопку М (или М+) на панели программы и в строке калькулятора М= отображается результат.
СМ.ФОТО4

Нажатием кнопки MR на калькуляторе выводим результат в строку вычислений (если необходимо перенести куда-либо результат или использовать ее в дальнейших расчетах)).

Из строки вычислений сочетанием Crl C - Cr V переносим результат в нужное нам место (например в строку декларации)

Читайте также: