Вычисляет математические и логические выражения. Очень удобен для разнообразных поверочных вычислений. После набора выражения в строке для получения результата нажать Ctrl+Enter. Перед вычислением запятая преобразуется в точку, знак пробела, символ "'" и символ НПП игнорируются. Варианты для обычных и для управляемых форм.
PS: это обработка удобна для бухгалтеров и тех кто производит различные контрольные поверки, для работы с вычислениями несложных алгебраических выражений. Никакого глубинного смысла просьба в ней не искать. Это многострочный калькулятор
Привожу код обработки:
Процедура ВыполнитьВычисления(СтрВыражения)
СимволПС="";
новтабло="";
для с=1 по стрчислострок(СтрВыражения) цикл
текстр=сокрлп(стрполучитьстроку(СтрВыражения,с));
если текстр="" тогда
новтабло=новтабло+СимволПС;
продолжить КонецЕсли;
инд=найти(текстр,"=");
если инд>0 тогда
текстр=сокрп(лев(текстр,инд-1));
КонецЕсли;
строкадлявычисленияшаблона=стрзаменить(текстр,",",".");
строкадлявычисленияшаблона=стрзаменить(строкадлявычисленияшаблона,"'","");
строкадлявычисленияшаблона=стрзаменить(строкадлявычисленияшаблона," ","");
строкадлявычисленияшаблона=стрзаменить(строкадлявычисленияшаблона,символы.НПП,"");
попытка
результат=вычислить(строкадлявычисленияшаблона);
исключение
результат=описаниеошибки();
КонецПопытки;
текстр=текстр+" = "+результат;
новтабло=новтабло+СимволПС+текстр;
СимволПС=символы.ПС;
КонецЦикла;
табло=новтабло;
КонецПроцедуры
Обработки подходят для любой конфигурации.
Обработку для управляемых форм возможно встроить в дополнительные отчеты и обработки для конфигураций, основанных на БСП. Для других конфигураций необходимо закомментировать содержимое модуля объекта обработки.
Обработки тестировались на релизе платформы: 8.3.12.1685.