1с скд вычисляемое поле не выводится

СКД, ошибка в вычисляемых полях

(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «опМодуль.КореньКвадратный»

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «SQRT»

(8) А это уже странно. Тупо ради интереса запилил себе в первый попавшийся отчет эту функцию, вот этот столбец:

Корень из отрицательного числа
118,82
39,01
79,81

(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?

В СКД можно использовать функции глобальных и неглобальных общих модулей в вычисляемых полях при условии что функция объявлена как экспортная.

Есть только маленькая тонкость при программном формировании отчета СКД.

Обычно, при инициализации процессора компоновки данных делают так:

ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
При таком формировании отчета вызова функций не произойдет. Что бы эту возможность включить нужно сделать так

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Неверные параметры «*»

Источник

Работа с вычисляемыми полями

Для вычисляемого поля можно определить заголовок, ограничение доступности, выражение представления, выражения упорядочивания, тип значения, доступные значения и оформление также как для полей наборов данных. Кроме того, вычисляемое поле может быть определено как ресурс, для этого необходимо добавить данное поле в список ресурсов и указать выражение, по которому будет вычисляться итог.

Пример

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

Определим вычисляемое поле. Для этого перейдем в конструкторе схемы компоновки данных на вкладку Вычисляемые поля и добавим поле.

1с скд вычисляемое поле не выводится

Результат отчета будет выглядеть так:

НоменклатураПодразделениеСтоимость планСтоимость фактПеревыполнение плана
Вентилятор настольныйОтдел оптовой продажи238,32737,55209,48
Мужские сапоги с искусственным мехомОтдел оптовой продажи234,24-100,00
Мишка (конфеты)Отдел розничной продажи114,91Не запланировано

Т.е. для каждой строчки было рассчитано значение вычисляемого поля.

1с скд вычисляемое поле не выводится

Теперь в итог отчета будет выводиться сумма по полям, в том числе и по полю ПеревыполнениеПлана :

НоменклатураПодразделениеСтоимость планСтоимость фактПеревыполнение плана
Вентилятор настольныйОтдел оптовой продажи238,32737,55209,48
Мужские сапоги с искусственным мехомОтдел оптовой продажи234,24-100,00
Мишка (конфеты)Отдел розничной продажи114,91Не запланировано
Итого472,56852,46109,48

Для того чтобы получить правильный итог по выполнению плана изменим формулу расчета итога по полю Выполнение плана :

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

Введем данную формулу в выражение ресурса:

1с скд вычисляемое поле не выводится

Теперь результат отчета будет выглядеть так:

Источник

Работа с полями-ресурсами в системе компоновки данных

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

Для каждого поля-ресурса указывается:

1с скд вычисляемое поле не выводится

Номенклатура.Страна происхожд.Количество оборот
Номенклатура
Контрагент
Россия
1С:Аспект 7.78,00
Алекс-20023,00
Магазин на ул. Алексеева3,00
Эльбрус2,00
Итого

Отбор:Номенклатура Равно «1С:Аспект 7.7»
КонтрагентКоличество оборот
Алекс-20023,00
Магазин на ул. Алексеева3,00
Эльбрус2,00
Итого8,00

НоменклатураКоличество оборот
Программное обеспечение
1С:Аспект 7.78,00
1С:Бухгалтерия 7.7 Базовая версия5,00
1С:Бухгалтерия 7.7 Стандартная версия2,00
1С:Бухгалтерия ПРОФ версия 7.76,00
1С:Торговля и Склад 7.7 Проф6,00
Итого

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

Источник

1С: Вычисляемые поля в СКД

Грамотное использование схемы компоновки данных (СКД) позволяет:

Но далеко не все разработчики по максимуму используют возможности схемы, так как не все её настройки очевидны и интуитивно понятны. В частности многие знают, что в 1С в СКД есть вычисляемые поля, однако, не до конца представляют область их использования и методы работы с ними.

Что такое вычисляемое поле

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

Дело в том, что СКД – это нечто большее, нежели просто отображение результата выполнения запроса и это прекрасно видно из формы создания схемы (Рис.1).

Вычисляемые поля позволяют выполнять определенные действия со сформированным набором данных:

Давайте по этому списку и пойдем.

Массив значений в одной ячейке

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

таким образом, мы в нашей схеме создали дополнительное расчетное поле;

Как видно из приведенного примера, никаких сложностей в добавлении и обработке вычисляемых полей нет. Мы использовали две функции: Массив() и СоединитьСтроки().

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

Обращение к экспортным функциям общего модуля

В качестве источника данных для заполнения вычисляемого поля могут выступать функции общего модуля.

Несколько важных моментов:

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

Таким образом, мы видим, что практически любой обработчик данных может быть инициализирован из СКД, что значительно расширяет возможности использования схемы.

Выражения языка компоновки

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

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

Сделать это можно с помощью конструкции «Выбор Когда ….Тогда… Иначе… Конец».

В конце несколько слов о достаточно новой функции ВычислитьВыражение(). С её помощью, в частности можно вычислять отклонения в стоимости между текущей и предыдущей строкой, накопительный остаток и т.д.

Допустим, получить СуммуДокумента из предыдущей строки нашего запроса можно указав в поле «Выражение» значение ВычислитьВыражение(«СуммаДокумента». «ПредыдущаяСумма»).

Источник

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

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