Внешняя компонента для вычисления математических выражений.

17.08.12

Разработка - Разработка внешних компонент

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Внешняя компонента для вычисления математических выражений.
.rar 10,85Kb
15 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

//Внешняя компонента для вычисления математических выражений.

//Позволяет разработчику создавать  пользовательский конструктор формул.

 

Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт
СЗ = СоздатьОбъект("СписокЗначений");
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.ДобавитьЗначение(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.ДобавитьЗначение(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции // глРазложить



Процедура ПриНачалеРаботыСистемы()


Если ЗагрузитьВнешнююКомпоненту (каталогИб()+"Scpt1c.dll") <> 1 Тогда
Предупреждение("Компонента Scpt1c.dll не найдена!");
КонецЕсли;


ПересчетЛ = СоздатьОбъект("Addin.srprun");
xxx=0; // ххх, ууу и т.д - любые переменные , которые разработчик может взять из базы данных (оклад, ко-во дней, СКД() и т.д.)
yyy=0;
ВВестиЗначение(xxx,"Введите х","число",10 );
ВВестиЗначение(yyy,"Введите y","число",10 );
// разработчику требуется создать редактор формул - достаточно создать справочник с текстовым полем.
// дать пользователю инструкцию, список переменных, которыми пользователь может оперировать (xxx, ууу…..) .
// можно создать сервис "добавить" с предопределенными операторами (VBScript) и зарезервированными переменными,
// который облегчает пользователю разработку формул.
// Данный текст выражения пользователь вносит, самостоятельно используя дополнительный сервис, или не…. (в справочник с текстовым полем)
// Результат_Получ - зарезервировано
ФормулаТекстНов =" Результат_Получ=0
|if xxx|Результат_Получ=yyy-xxx
|else
|Результат_Получ=xxx-yyy/100
|end if ";
// разработчик подменяет синонимы переменных на реальные значения
ФормулаТекстНов=СтрЗаменить(ФормулаТекстНов,"xxx",СокрЛП(xxx));
ФормулаТекстНов=СтрЗаменить(ФормулаТекстНов,"yyy",СокрЛП(yyy));
// разработчик с использованием внешней компоненты вычисляет выражение (получает результат)
Получим=глРазложить(СтрЗаменить(ПересчетЛ.Выполнить(ФормулаТекстНов),",","."),"|");
//Сообщает пользователю
Сообщить(получим.ПолучитьЗначение(1));

КонецПроцедуры //ПриНачалеРаботыСистемы()  

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5000 руб.

12.05.2020    31443    143    100    

99

Разработка внешних компонент Телефония, SIP Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

5160 руб.

04.05.2018    49531    126    68    

70

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    4763    bayselonarrend    14    

52

Разработка внешних компонент Программист 1С v8.3 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    8722    kovalevdmv    28    

83

Разработка внешних компонент Программист 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    8941    starik-2005    38    

60

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    9968    starik-2005    40    

49

Инструментарий разработчика Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    6940    134    ivan1703    26    

43

Разработка внешних компонент Программист 1С v8.3 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    4623    3    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. amblik 16.08.12 10:07 Сейчас в теме
Хотелось бы попробовать и поставить "+" , но нет возможности скачать :(
2. Andrey_74 6 16.08.12 11:20 Сейчас в теме
(1) amblik, Проверил – скачал
А что пишет?
3. amblik 16.08.12 11:35 Сейчас в теме
(2)
Скачать можно пользователям, а у меня нету start money
4. ander_ 17.08.12 09:13 Сейчас в теме
не совсем понятна фишка. Какова скорость? Насколько сложные конструкции поддерживаются? Да и вообще какой-нибудь бы более боевой (более практически значимый) пример.
5. Andrey_74 6 17.08.12 11:24 Сейчас в теме
(4) ander_,
Дополнил описание,
про скорость не понял (расшифруйте)
Процессор 8086 был создан в 1978 году и мог выполнять целых 0.3-0.7 миллионов операций в секунду.:)
(VBScript ) для решения прикладных задач (расчет зарплаты и т.д.) пользователю достаточно +-*/><= если.
Боевой пример по итогам обсуждения, если потребуется.
6. ander_ 17.08.12 12:20 Сейчас в теме
(5)
количество операций выполняемых процессором в единицу времени - это конечно красивый показатель, но вы же пишете не на ассемблере, чтобы к нему аппелировать. И даже там чтобы сложить два числа нужна не одна операция (ибо нужно занести числа в регистры, возможно выставить какие-нибудь флаги, возможно выполнить еще какие-то проверки и т.п.) но не суть. В принципе, после того как уточнили описание, я уже свое любопытство по большей мере удовлетворил :).
ЗЫ: а возведение в степень и извлечение квадратного корня есть? :)
7. Steelvan 311 12.11.12 20:29 Сейчас в теме
Операции xor поддерживаются ? Можно использовать для RC4 без использования MSScript для xor ?
Для отправки сообщения требуется регистрация/авторизация