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






Внешняя независимая обработка.
Многофункциональный калькулятор.
В нем:
  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 не будет опубликован. Обязательные поля помечены *