Многофункциональный калькулятор на управляемых формах






Внешняя независимая обработка.
Многофункциональный калькулятор.
В нем:
  1-ая закладка. Математический кальк с 2-мя ячейками памяти, с настройками округления как на бухгалтерских калькуляторах, извлечение корня любой степени, пересчет результата при смене натроек округления;
  2-ая закладка. Каль дисконтирования, расчета кредита (аннуитетные платежи, простые, сложные проценты, дифференцированные платежи), возведение в ЛЮБУЮ степень. Подбор любого из недостающих значений;
  3-я закладка. Расчет уравнения, вставка по кнопкам команд в выделенные участки;
  4-ая закладка. Распределение затрат на участников. Пример: Когда несколько человек тратяцца на шашлыки, расчитывает кто кому сколько должен отдать;
  5-ая закладка. Выбор случайного значения.

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

Научил считать все то, что считают обыкновенные бухгалтерские калькуляторы. От себя добавил: Корень любой степени и пересчет  результата при смене настроек округления. При выходе сохраняет настройки и текущую закладку. Вот только (!), не знаю как у Вас, а я работаю удаленно, и при БЫСТРОМ наборе Num клавиатурой, порядок ввода символов путаецца.

Далее начал укомплектовывать.

На соседнюю закладку поместил свой же калькулятор дисконтирования. Полезен всем, кто хоть раз сталкивался с ипотечными, потребительскими кредитами. Или финансистам для дисконтирования потоков и возведения в степени. Для удобства сделал расчет или подбор любого из составляющего формулы (начальной суммы/конечной/срока/ставки). Есть график платежей.

Еще рядом лег кальк расчета Уравнений. Написан на «Форматированном документе» с HTML визуализацией. Умеет считать уравнения, вставлять команды в ВЫДЕЛЕННЫЕ выражения или выделять их скобками (напр, выделите какой-либо участок уравнения и нажмете кнопку «Скобок», скобки поставятся перед и после. По повторному нажатию скобки удалятся). Также с синусами, косинусами и т.п. Команды выделяются цветом. При возведении в степень и при извлечении корня, отображается в алгебраическом привычном виде, как нормальные формулы (См.приложенную картинку). Подумываю дорабатать указания пользователю на места ошибок в уравнении. Но не тороплюсь, ибо никто не просит.

Пятой закладкой добавил пропорциональное распределение затрат на «участников». Например, собираетесь Вы на шашлык, Вася потратил рубль на мясо, Петя полрубля на угли и девочек, а Жора вина привез на ,3 рубля. Жора был с сыном. Программа затраты поделит пропорционально на количество едаков и предложит кто кому должен сколько денег отдать.

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

32 Comments

  1. Bitnikov

    Внешняя независимая обработка.

    Многофункциональный калькулятор.

    В нем:

    1-ая закладка. Математический кальк с 2-мя ячейками памяти, с настройками округления как на бухгалтерских калькуляторах, извлечение корня любой степени, пересчет результата при смене натроек округления;

    2-ая закладка. Каль дисконтирования, расчета кредита (аннуитетные платежи, простые, сложные проценты, дифференцированные платежи), возведение в ЛЮБУЮ степень. Подбор любого из недостающих значений;

    3-я закладка. Расчет уравнения, вставка по кнопкам команд в выделенные участки;

    4-ая закладка. Распределение затрат на участников. Пример: Когда несколько человек тратяцца на шашлыки, расчитывает кто кому сколько должен отдать;

    5-ая закладка. Выбор случайного значения.

    Перейти к публикации

    Reply ↓
  2. AltF1

    «Обнаружил, что на форму нельзя вывести калькулятор, вот и нарисовал свой…»

    В заголовке окна (Управляемые формы)по умолчанию доступен календарь и калькулятор.

    Reply ↓
  3. Bitnikov

    (1) kiv82, Угу, вот только ссылку при использовании веб расширения на эти календарь и калькулятор сделать низзя…

    Предыстория такова: трансконтинентальная компания, единые веб ресурсы, дисковые шары и т.п. Можно заказать и получить ГЛОБАЛЬНЫЙ для офисов ВСЕХ стран алиас веб страницы… и во всей глобальной сети на сотню тысяч компов нет никакого сетевого калькулятора!

    Идея была нарисовать калькулятор с английским интерфейсом, с мат. функциями и дисконтированием, получить ссылку на алиас веб-клиента 1С с открывающимся там калькулятором.

    Ессно, на всех этой ссылки не растянуть, лицензий не напасешься… но вот на ограниченный круг можно… для продвижения в массы 1С.

    Так… чисто как хобби…

    А кому-то просто на форму документа нужно вывести. Так вот, делюсь, используйте и меня добрым словом вспоминайте)))

    Reply ↓
  4. seermak

    Свои пять копеек: посчитать-то посчитали, а надо бы еще и результат получить хотя бы в структуре…. или в оповещении……

    Reply ↓
  5. Bitnikov

    (3) seermak, Гуд поинт, в который раз спасибо…

    С оказией сделаю чтение параметра на запуске с мат.выражением и как-нить в оповещении возращение результата))

    Reply ↓
  6. Bitnikov

    (5) nsol, …эээ … пришел сосед и вытер ботинки у меня в прихожей…

    В любом случае, ответа не знаю, не сталкивался.

    Reply ↓
  7. krund

    Прикольно.

    Но в 1С «вшит» калькулятор, хотя и не математический.

    А математический калькулятор есть на обычных формах или в 1С 7.7?

    Reply ↓
  8. Bitnikov

    (7) krund, да, вшит калькуль.

    Но его нельзя использовать в формах документов и нельзя вызывать извне 1С.

    Описал во втором комменте (2)

    Reply ↓
  9. Bitnikov

    (7) krund, забыл докомментировать, сорри)))

    «Математическим» назвал калькулятор ТОЛЬКО потому, что он не «научный» со сверхсложными формулами (наврядли нужными пользователю 1С), и не «дисконтный» (расчет кредитов, дисконтирование, возведение в степень, …).

    А стандартный калькулятор 1С и есть «математический», пользуясь моей терминологией.

    Нет, на обычные формулы я не писал. А для 77 какую-то разработку середины двухтысячных видел здесь…

    Reply ↓
  10. babys

    Сам пользуюсь NumLock калькулятором.

    За решение молодец, хотя ещё ни разу у меня пользователи такого не просили.

    Замечание одно, добавь регистров памяти, ну хоть ещё один.

    Reply ↓
  11. Bitnikov

    (10) babys, Спс. Только что нашел ошибку при пересчете по истории, исправляю ее, выложу исправленное и подумаю куда прилепить дополнительные кнопки памяти.

    Reply ↓
  12. Bitnikov

    Прошу прощения, облажался в пересчете по истории…

    Сейчас вроде всё подчистил и выложил.

    Reply ↓
  13. vec435

    хорошо бы добавить построчный/постолбцовый расчет

    Reply ↓
  14. Bitnikov

    (10) babys,

    Добавил еще одну ячейку памяти.

    Больше не стал потому что:

    *или интерфейс получается перегруженным… это пугает простого пользователя… (меня лично ЛЮБОЙ научный кальк пугает количеством кнопочек/буквочек и размером. Я ЗНАЮ все их назначения и методы вычислений… но зачем…)

    *или вынести управление регистрами памяти в подменю… это красиво и функционально.. но не наглядно.

    А’ля «айфон плох своей гламурностью… но его стоит купить вместо андроида, когда нужен ПРОСТОЙ интерфейс и меньше сбоев»

    Reply ↓
  15. Bitnikov

    (13) vec435,

    нее, друг, это калькулятор, а не эксель)))

    Reply ↓
  16. vec435

    (15) а выражение 2*(5/(3-1)) относится только к Эксл? если калькул в 1С,для 1С то и испоьзовать все возможности 1С

    Reply ↓
  17. Bitnikov

    (16) vec435, эээ… это тема для третьей закладки… спасибо за идею. я сделаю там простую строку со всеми возможностями языковыми. Надо подумать

    Reply ↓
  18. vec435

    (17) а если добавить расчет в ТаблицеЗначений ,ПолеТабличногоДокумента — то получится УниверсальныйКалькулятор

    Reply ↓
  19. vec435

    пардон.записался

    Reply ↓
  20. vec435

    для ПолеТабличногоДокумента расчет можно найти в какой-нибудь последней конфе( в бух 3,0 встроен в отчет СКД), расчет ТЗ — не сложен. остался по-строчный

    Reply ↓
  21. Bitnikov

    (21) vec435, я сейчас делаю расчет строчноых уравнений с визуализацией)))

    Reply ↓
  22. vec435

    (22) визуализация — просто поле (на картинке). главное — возможность расчета сторки по ENTER

    Reply ↓
  23. Bitnikov

    (23) vec435, неа)) Это было бы очень просто и не интересно. Интерфейс да, сделал простое поле. Расчет сделал по контр-энтр (ЭНТР у меня перевод строк). Кальк «читает» ВСЕ строки последовательно и считает их ОДНИМ уравнением (чтобы каждое подуравнение красиво распологать на отдельной строке).

    ТАКЖЕ, сделал кнопки ввода уравнений (например, чтобы высчитать косинус подуравнения, достаточно выделить подуравнение, нажать кнопку косинуса и я вкладываю в уравнение косинус со скобками). И, выделив подуравнение, можно УБРАТЬ его косинус и т.п.

    Также, визуализация — выделение цветом комманд и скобок.

    Также, если пользователь делает ошибку, разбираю уравнение по отдельным коммандам (не простое «Высчитать») и выделяю предположительное место ошибки.

    В будущем сделаю наглядную визуализацию для пользователя. Степень будет выглядеть в окне как нормальная степень числа (в верхнем правом углу возводимого в степень выражения).

    И т.п.

    Reply ↓
  24. vec435

    (24) и это все -1С

    Reply ↓
  25. Bitnikov

    (25) vec435, Более того… и это все — в свободное время на 1С.

    Reply ↓
  26. vec435

    (26) в свободное время от 1С? или просто в свободное время?

    Reply ↓
  27. Bitnikov

    (27) vec435, Просто в свободное время

    Reply ↓
  28. vec435

    (28) респект увлеченным (не зарабатывающим) 1С

    Reply ↓
  29. Bitnikov

    (29) vec435, почему ж сразу не зарабатываю… много лет уж как этим зарабатываю. Имел в виду, что не ЭТИМ кальком, он — просто работа в свободное от мыслей время.

    Выложил текущую более-менее рабочую версию расчета уравнений. 3 закладка — времянка. уже есть доработанная, только выкладывать не хочу(не проверил новое). Плюс, добавил 4 закладку

    Reply ↓
  30. Bitnikov

    Забыл откомментировать. Выложил рабочую версию со всеми закладками. Новая фича в третьей закладке — степени отображаются красивенько в верхнем уголке возводимого выражения))

    Reply ↓
  31. Montecrizto

    Под мобильное приложение твой калькулятор адаптирую. Жаль нет вкладки скажем так варианта мини.. без изысков, сам говоришь не любишь смысловую нагрузку однако нагрузил 1 вкладку имхо конечно. Функции Состояние(), ОбработкаПрерыванияПользователя(), имеют ограниченую доступность, если тебе самому интересно можешь добавить Инстукции процессора #Если Клиент Тогда.. Обработка будет более маштабна чтоли.. считаю что с вводом 8.3 она получит новую жизнь)..

    З.Ы.

    Переписываю сейчас под себя главным дело удаляю все мне не нужно)..

    З.З.Ы

    Группа 1 (Кнопки центральной группы: 7,4,1,0 шире чем ровесники с соседней )..

    Reply ↓
  32. Bitnikov

    (32) Montecrizto, спасибо за интерес))) будет время, подправлю. Я с прошлого года толком не заходил на инфостарт, все времени не было.

    Только что появилась идея в свободное время разработать универсальную внешнюю компоненту для использования любой длл. Фактически доработать dynwrapx.dll. ИМХО будет бомба!

    Если есть желание подключиться, вэлкам

    Reply ↓

Leave a Comment

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