1С скд отбор по вычисляемому полю

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

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

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

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

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

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

Читайте также:  Таблица список класса шаблон

Здравствуйте, уважаемый читатель! У нас очередной урок по основам системы компоновки. В третьей части вы познакомились с функциями языка выражений СКД, увидели особенности работы системы компоновки, а также разобрались с основными настройками полей компоновки. А сейчас мы рассмотрим новый материал. Поехали!

Дополнительные настройки полей СКД.

Колонка «Тип значения» позволяет указать тип данных для поля компоновки. Зачем указывать тип, например для поля «Номенклатура», если итак известно какого он типа? Это необходимо в случае, если поле компоновки составного типа. Можно выбрать определенный тип, тогда при отборе по этому полю будут выбираться значения данного типа.

Колонка «Доступные значения» позволяет указать доступные для выбора значения и ограничить выбор пользователя определёнными рамками.

Колонка «Оформление» позволяет задавать оформление полю компоновки, не используя макеты. Можно указать цвет шрифта, цвет рамки, ориентацию текста и т.д.

Колонка «Параметры редактирования» позволяет указать, как редактировать поле компоновки. Например, можно указать быстрый выбор элементов из списка в отборе. По умолчанию поле компоновки все параметры редактирования наследует от объекта метаданных.

Вычисляемые поля

На закладке «Вычисляемые поля» компоновки данных можно создавать свои вычисляемые поля.

Зачем нужны вычисляемые поля, если их можно создавать на уровне запроса? Не все поля можно описать с помощью запроса. Если нужно составить сложное поле из разных наборов данных, например типа запрос и объект, тогда без вычисляемых полей не обойтись. Добавить поле компоновки данных нельзя, если источником данных является запрос и стоит автозаполнение, а с помощью вычисляемых можно добавить сколько угодно полей.

В колонке вычисляемого поля «Выражение» нужно написать произвольное выражение, которое использует поля компоновки данных, обращаясь по их пути (колонка «Путь» на закладке «Наборы данных»). Либо можно использовать функции математического преобразования, либо обращаться к функциям общих модулей. Например, запишем в колонке «Путь к данным» название вычисляемого поля «Отклонение», а в поле «Выражение» следующее:

Читайте также:  Формула в excel если ячейка содержит текст

Посмотрите ещё один пример с применением функций СКД Массив и СоединитьСтроки, а ещё можно скачать отчёт по ГТД с использованием этих функций.

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

Как передавать параметры и отборы в отчет, построенный на СКД без создания формы отчета?

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

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

Также на закладке «Настройки» внизу вы найдете еще одну закладку: «Условное оформление». Там для каждой группировки, параметра и т.д. можно задать оформление, какое вы хотите.

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

В конце статьи хочу посоветовать вам бесплатный курс по компоновке данных от Сотникова Анатолия. Это курс от опытного программиста. Он на отдельной базе покажет вам, как строить отчеты в СКД. Вам только нужно внимательно слушать и запоминать! Вы получите ответы на такие вопросы:

  • Как создать простой отчет в виде списка?
  • Для чего нужны колонки Поле, Путь и Заголовок на закладке «Поля»?
  • Какие существуют ограничения для полей компоновки?
  • Как правильно настраивать роли?
  • Какие существуют роли для полей компоновки?
  • Где найти закладку компоновка данных в запросе?
  • Как настраивать параметры в СКД?
  • Дальше еще интереснее.

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

Вот один из уроков о закладке компоновки данных в запросе:

Читайте также:  Что такое 582876ec a178 44d4 9823 c10d6c62eaff

Как правило, в основе набора данных Схемы Компоновки Данных (СКД) лежит запрос. Запросы в программе 1С: Предприятие предоставляют программисту богатые возможности для получения данных. В связи с этим возникает вопрос, зачем нужны еще и вычисляемые поля?

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

Рассмотрим несколько примеров, как пользоваться вычисляемыми полями.

Создадим новый отчет и зайдем в Схему Компоновки Данных. Вычисляемые поля 1С СКД настраиваются на одноименной вкладке:

Получите 267 видеоуроков по 1С бесплатно:

Колонка «Путь к данным» задает наименование поля. В колонке «Выражение» прописывается формула для вычисления поля. Можно использовать арифметические выражения, конструкцию «ВЫБОР КОГДА ТОГДА КОНЕЦ», и даже обращаться к экспортным функциям общих модулей системы.

Вот несколько примеров:

Разница значений:

Вывод текста по условию:

ВЫБОР КОГДА СуммаНачОстаток > 0 ТОГДА
«Имеется долг за организацией»
ИНАЧЕ «Долг отсутствует» КОНЕЦ

Форматирование:

«Месяц оплаты:» + Формат(ДатаОплаты, «ДФ = ‘MMMM’»)

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

УправлениеКонтактнойИнформациейЗарплатаКадры.ПолучитьКонтактнуюИнформацию (Док.Сотрудник, &ТелСотрудника)

Подробнее описание возможностей вычисляемых полей можно найти в синтаксис-помощнике: «Система компоновки данных — Язык выражений системы компоновки данных».

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью
Добавить комментарий

Adblock detector