1С Обучение

Вычислитьвыражение 1с – Функции языка выражений системы компоновки данных

Вычислить и Выполнить в 1С

Вычислить()

Функция вычислить применяется для вычисления выражения на языке 1С.

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

 

Математическая операция

Операция сравнения

Операция конкатенации

Выполнить()

Оператор Выполнить позволяет выполнить фрагмент кода. Отличие от Вычислить, кроме бОльших возможностей ещё и в том что это процедура и она не возвращает значений. Поэтому для демонстрации используется переменная(ЗначениеРезультата) которая есть в процедуре вызываемой по кнопке.

Математическая операция

Использование функции модуля

Обращение к значению колллекцию полученной функцией находящейся в модуле

В Вычислить можно использовать только выражение, поэтому при попытке присваивания значения имеющейся переменной происходит сравнение.

Как можно использовать Вычислить?

Кроме выполнения простых действий описанных выше функцию можно использовать для получения переменных модуля. Например нужно получить значение переменной имя которой имеет счетчик.

Имеется три переменных

Переменная1 = 10;

Переменная2 = 20;

Переменная3 = 30;

Получить значение переменной Переменная2 в модуле без указания этого имени невозможно, например нельзя получить значение в цикле используя значение счетчика. Если бы это была структура, то было бы возможно собрать имя из разных значений. Используя Вычислить() мы добъемся того же рисунок ниже. Для демонстрации нужно раскоментировать вызов процедуры и нажать на кнопку «Вычислить».

Что касается функции Выполнить(), то здесь возможно выполнение фрагментов кода. Например можно взять и скопировать содержимое процедуры «ВыводЗначенияПеременных» в поле «Текст параметра:» и нажать Выполнить рисунок ниже

Зачастую метод Выполнить применяется для исполнения отрывков кода которые создает пользователь и которые хранятся в базе.

Скачать демонстрационную обработку здесь.

1s-portal.ru

Обработка — Вычисление выражений | Всё о программировании на 1С:Предприятие

Незаменимая обработка «Вычисление выражений» для тестирования вашего кода без конфигуратора в пользовательском режиме. Бывает ситуация, когда в информационной базе 1С:Предприятия работают пользователи и нет возможности проверить код на правильность без обновления. Или нужно, к примеру, быстро вычислить какое-то строковое или числовое выражение без запуска конфигуратора. В этом случае все эти операции можно сделать в данной обработке. При этом тестируемый код можно без проблем загружать и сохранять в отдельный файл. В конфигураторе при отладке аналогом этой обработки является пункт меню «Отладка ? Вычислить выражение…» и окно «Выражение». Обработка пригодится всем программистам, которые разрабатывают конфигурации 1С.

Приведём краткую инструкцию пользования обработкой:

  1. Открываем внешнюю обработку «Вычисление выражений» через пункт меню «Файл ? Открыть…».
  2. На вкладке «Код» в текстовом поле пишем код, который нам необходимо протестировать. При написании отдельные слова начинают подсвечиваться разным цветом, как и в конфигураторе, в зависимости от их назначения. Для отображения результата в теле кода нужно использовать переменную «Результат», которая может принимать произвольный тип.

  1. На вкладке «Параметры» можно объявлять необходимые переменные, задавать им значения и использовать при написании кода 1С. Это удобно, т.к. не приходится прописывать код, который бы искал конкретные значения, хранящиеся в информационной базе.

  1. Далее нажимаем на кнопку «Выполнить» и проверяем полученный результат в поле «Результат». Если в исследуемой переменной используется составной тип данных: массив, структура, список значений, таблица значений, строка таблицы значений, то значения этой переменной отображаются не только в текстовом поле «Результат», но и на вкладке «Таблица» в поле табличного документа.

  1. Можно сохранить как написанный код, нажав на кнопку «Сохранить» (в файл XML), так и полученную таблицу в формате табличного документа MXL или в формате Microsoft Excel (XSL).

Если вам понравилась эта обработка, то вы можете скачать её здесь или по ссылке ниже. Нажмите на кнопке «Скачать» и загрузите её себе на компьютер.

Нравится статья? Подпишитесь прямо сейчас и получайте обновления на свой E-Mail:

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Похожее

 Распечатать статью

life1c.ru

Полезные примеры: посчитать разницу с предыдущей записью

Пример того как можно получить поля предыдущей записи в группировке и не только. Удобно для вычисления разницы значений предыдущей цены и текущей.

Автор данного вопроса хотел посчитать отклонение текущей цены от предыдущей. Мое решение выглядит так:

Суть решения заключается в использовании функции языка выражений СКД ВычислитьВыражение() в добавленном вычисляемом поле, которое я назвал Дельта. У функции следующие параметры:

Параметры:

  • Выражение. Тип Строка;
  • Группировка. Тип Строка;
  • ТипРасчета. Тип Строка;
  • Начало. Строка, содержащая одно из вариантов;
  • Конец. Строка, содержащая одно из вариантов;
  • Сортировка. Строка;
  • ИерархическаяСортировка;
  • ОбработкаОдинаковыхЗначенийПорядка

Нас интересует 4 и 5 параметр (Начало и Конец). Выражение будет выглядеть следующим образом:

isNULL((ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Цена", , , "Предыдущая", "Предыдущая") - Цена), 0)

здесь вычисляем предыдущее значение поля Цена и из него вычитаем текущее значение поля Цена. Естественно, для первой записи предыдущее значение не будет вычислено и результат вычитания со значением текущего поля будет Null, поэтому что бы все было «чисто» используем функцию isNULL(естьNull), чтобы преобразовать Null в число ноль.

Скачать пример

1cskd.ru

Поле вычисляемое только в группировке отчета СКД 1с.



Поле вычисляемое только в группировке отчета СКД 1с.

РЕКЛАМА


РЕКЛАМА

Чтобы разместить ссылку на свой сайт с этой страницы воспользуйтесь системой платных ссылок SAPE.

На главную 1с форева.ру
На страницу «Программисту \ Разработка СКД отчетов в 1с.».

Поле вычисляемое только в группировке отчета СКД 1с.


Платформа: 8.2, 8.3
Формы: Обычные, Управляемые
Конфигурация: любая
Релиз: любой
Страница актуализирована: 06.02.2017


1с. СКД. Вычисляемое поле в группировке.
Эта методика используется:
— когда итог в группировке отчета СКД 1с требуется не просто просуммировать колонку подчиненныч строк, а вычислить значение по формуле.
— когда вам надо показать только итог в группировке, не показывая основного значения.

Делается эта фишка следующим образом:
1. В отчет СКД добавить вычисляемое поле, Выражение=0

2. ДВАЖДЫ добавить в «Ресурсы» вычисляемое поле. Один раз как «0», второй как «Вычислить(…». Для каждого проставить «Расчитывать по…» группировки кому считать — в «Вычислить(…», кому нет — в «0».

Немного теории по функции СКД «Вычислить».
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:
— Выражение – строка, содержащая вычисляемое выражение;
— Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка
— ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
— Тип расчета — строка, В случае если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. В случае если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки.

Например:
Сумма(Продажи.СуммаОборот) / Вычислить(«Сумма(Продажи.СуммаОборот)», «ОбщийИтог»)
В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
Еще пример:
ВычислитьВыражение(«Сумма(Стоимость)/Выбор Когда Сумма(Количество)=0 Тогда 1 Иначе Сумма(Количество) Конец»,»Подразделение»,»Группировка»)

Уточнение!
Существует более другой, более простой, метод вывода не суммовых итогов в группировке, который можно использовать в некоторых случаях. Ярким примером такого использования является колонка с процентами. Делается это через пользовательские поля.

Copyright (c) by iKai, 2016

www.1c-forever.ru

Добавить комментарий

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