1с скд пользовательское поле. Язык выражений системы компоновки данных (1Cv8)

1с скд пользовательское поле. Язык выражений системы компоновки данных (1Cv8)
1с скд пользовательское поле. Язык выражений системы компоновки данных (1Cv8)

Каждой организации для принятия своевременных и правильных управленческих решений необходима оперативная информация о наличии товара на складах, о его себестоимости, о продажах. Торговые организации работают с большим числом номенклатуры и контрагентов, а это требует хорошей настройки аналитического учета и быстрого получения требуемой информации по его данным. В статье рассматриваются основные приемы работы со стандартными отчетами в типовом решении «1С:Управление торговлей 8» (редакция 11), построенными на основе системы компоновки данных и даются полезные практические рекомендации, которые пригодятся и начинающим пользователям, и тем, кто перешел на новую редакцию с предыдущих редакций.

Например, возьмем отчет

  • Анализ доступности товаров;

Настройка .

В колонке Вид сравнения Номенклатура

  • Равно
  • Не равно
  • В списке
  • Не в списке
  • В группе Номенклатура ;
  • Не в группе Номенклатура ;
  • В группе из списка Номенклатура ;
  • Не в группе из списка Номенклатура .

Значение

"Быстрые отборы"

По мере развития платформы «1С:Предприятие 8» и появления новой версии 8.2, отчеты в системах становятся все гибче, и пользователи имеют все больше возможностей настраивать их под свои требования, не прибегая к помощи программистов.

Новые возможности, предоставляемые системой компоновки данных (СКД), как никогда ранее позволяют ощутить преимущества возможностей «1С:Предприятия 8» при построении отчетов. И, несмотря на то, что интерфейс отчетов претерпел значительные изменения (по сравнению с редакцией 10.3 конфигурации «Управление торговлей», далее - УТ), настройки отчетов по-прежнему доступны рядовому пользователю. Рассмотрим некоторые основные приемы работы с ними.

Первое, на что можно обратить внимание - это быстрые отборы. Они позволяют вывести в отчет данные по определенным значениям полей отчета согласно пожеланиям пользователя.

Например, возьмем отчет Анализ доступности товаров в УТ . Сразу отметим, что вся демонстрация возможностей отчетов в УТ 11 будет проходить на примере двух отчетов:

  • Анализ доступности товаров;
  • Выручка и себестоимость продаж.

Отбор по некоторым полям можно сделать как непосредственно в форме отчета, так и по кнопке Настройка .

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

  • Равно - отчет будет строиться только по выбранной номенклатурной позиции;
  • Не равно - отчет будет строиться по всей номенклатуре, кроме выбранной позиции;
  • В списке - отчет будет строиться по списку номенклатурных позиций;
  • Не в списке - отчет будет строиться по всей номенклатуре, кроме выбранных позиций;
  • В группе - отчет будет строиться по всей номенклатуре, находящейся в выбранной папке справочника Номенклатура ;
  • Не в группе - отчет будет строиться по всей номенклатуре, кроме позиций, находящихся в выбранной папке справочника Номенклатура ;
  • В группе из списка - аналогичен сравнению В списке, только в качестве значений списка выбираются папки в справочнике Номенклатура ;
  • Не в группе из списка - аналогичен сравнению Не в списке, только в качестве значений списка выбираются папки в справочнике Номенклатура .

Флажок (галочка) слева от поля отбора показывает, что отбор по этому полю «включен», т. е. принимается отчетом во внимание.

Поля со снятой галочкой не принимаются во внимание даже, если вы выбрали определенные значения этих полей.

В зависимости от выбранного вида сравнения в колонке Значение указывается конкретный элемент или папка (группа) справочника, либо список элементов или папок.

«Быстрые отборы» доступны во всех решениях на платформе «1С:Предприятие 8».

Пример простого изменения настроек отчета

Для просмотра/изменения настроек отчета необходимо зайти в меню Все действия - Изменить вариант .

Перед нами открывается окно настроек для выбранного варианта отчета.

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

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

Пример 1

Шаг 1. Нам необходимо убрать группировку по характеристике номенклатуры, оставив только группировку по номенклатуре. Для этого в верхней части окна настроек отчета щелкнем мышкой по полю Номенклатура, Характеристика . В нижней части окна перейдем на вкладку Группировки .

Выделим поле Характеристика и щелкнем по кнопке Удалить командной панели.

Подтвердим внесение изменений в настройки отчета, щелкнув по кнопке Завершить редактирование в нижнем левом углу экрана.

Шаг 2. После удаления характеристики нашей задачей, по условиям примера, будет добавление ценовой группы. По смыслу эта группировка должна идти уровнем ниже, чем группировка по складу, но уровнем выше, чем группировка по номенклатуре. Поэтому, в структуре отчета выделим группировку Склад .

Щелкнув по ней правой кнопкой мышки, в контекстном меню выберем команду Новая группировка .

В открывшемся окне редактирования поля группировки выберем Номенклатура.Ценовая группа .

Щелкнув по кнопке ОК , мы увидим, что в отчет добавилась новая группировка, подчиненная группировке Склад .

Теперь выделим группировку по номенклатуре и, не отпуская правую кнопку мыши, перетащим ее внутрь (т. е. ниже) группировки по ценовой группе. У нас получится структура, представленная на рисунке 1. Результат настройки отчета представлен на рисунке 2.

Рис. 1. Получившаяся структура отчета

Рис. 2. Результат настройки отчета

Работа с пользовательскими полями

Давайте теперь немного подробнее рассмотрим новые возможности настройки отчетов в программе «1С:Управление торговлей 8».

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

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

Пример 2

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

Шаг 1. Откроем отчет. Перейдем в форму настройки структуры отчета (Все действия -> Изменить вариант ). Удалим по очереди все ранее созданные в отчете группировки - для этого выделим каждую из них и щелкнем по кнопке Удалить командной панели, либо воспользуемся клавишей DEL.

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

Шаг 2. Создадим новое пользовательское поле. Откроем закладку Пользовательские поля и выполним команду Добавить -> Новое поле-выбор .

Присвоим имя нашему новому полю - Регион обобщенно .

Щелкнем по кнопке Добавить . В новой строке щелкнем по кнопке в колонке Отбор . В появившейся форме редактирования отбора добавим отбор по полю Партнер.Бизнес регион . Выберем вид сравнения Равно , значение - Москва .

Щелкнем по кнопке ОК , после чего вернемся в окно редактирования пользовательского поля. Далее необходимо щелкнуть по кнопке в колонке Значение и в появившемся списке выбора типа данных выбрать Строка и в качестве значения написать Москва .

Повторим операцию. Добавим еще одну строку в таблицу. На этот раз для отбора по полю Партнер.Бизнес регион выберем вид сравнения Не равно .

Вернувшись в окно редактирования пользовательского поля, в колонке Значение напишем Остальные регионы (см. рис. 3).

Рис. 3. Редактирование пользовательского поля

Щелкнем по кнопке ОК . Наше новое поле готово.

Шаг 3. Добавим наше новое поле в структуру отчета. Выделив мышкой верхний уровень Отчет в структуре , добавим новую группировку. В реквизите Поле выберем Регион обобщенно .

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

Сформируем отчет и посмотрим на результат (представлен на рис. 4).

Рис. 4. Результат формирования отчета

Отбор и сортировка

Вернемся к окну редактирования структуры и настроек отчета и обратим внимание на закладки Отбор и Сортировка .

Если в структуре отчета выделен корневой элемент (Отчет ), то настройки, выполненные на этих закладках, будут относиться ко всему отчету в целом. Если же выделена какая-то группировка отчета, то настройки будут касаться только ее.

Пример 3

В результате в отчет История продаж попадут только те реализации, где в качестве менеджера указан Иванов Иван Федорович .

Пример 4

Сохраняем сделанные изменения

При изменении структуры отчета его всегда можно сохранить при помощи команды Все действия -> Сохранить вариант .

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

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

Давным давно мной был написан отчет "Продажи товаров по отгрузке" http://infostart.ru/public/16477/ . В данной публикации не будемобсуждать его актуальность и достоинства. Данный отчет возьмется как шаблон для экспериментов, видоизменений. Тем более в комментариях спрашивали, как добавлять Поля.

Открываем "Настройки..." и переходим на закладку "Пользовательские настройки".

2. Добавляем "Новое поле Выражение"

Добавление полей проставляет собой прописывание арифметических действий между Доступными полями, (это позволительно отмеченных зеленым квадратиком). Также особенность, если название такого поля состоит из двух или более слов, его необходимо заключить в квадратные скобки . Получиться вот так - [Сумма продажи].

После сохранения, это поле станет доступно для выбора:

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

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

Функций, используемые при написании полей.

  • Арифметические « + , - , * , / » с этим понятно, думаю объяснить принцип их действия не надо.
  • Логические выражения в используются для определения отборов. « > , < , = , >= , <= , <>, И, ИЛИ, НЕ ». Данные выражения используется с операцией выбора.
  • Операции выбора. Применяться для получения одного из возможных значений в соответствии с указанными условиями

ВЫБОР
КОГДА < Операция выбора > ТОГДА <Выражение>
ИНАЧЕ <Выражение>
КОНЕЦ
Пример:
ВЫБОР
КОГДА Количество > 0 и Сумма > 0 ТОГДА «Правильно»
ИНАЧЕ «Ошибка»
КОНЕЦ

Это расшифровывается так: при условии когда количество больше нуля и сумм больше нуля, будет выводиться текст «Правильно», а если хоть одно из условий не соблюдено выводиться «Ошибка».

  • Встроенная функция, позволяет произвести определенные преобразования с полями.

ПОДСТРОКА («Выражение» , «Начальная позиция» , «Конечная Позиция») - выбирается часть «Выражения», ограниченного рамками «Начальной…» и «Конечной…».
Как это поисходит при значении Номенклатура - «Паста шоколадная» формула Подстрока(Номенклатура,1,5) выведет значение «Паста»

Для работы с датой используются функции

ГОД(<Дата>), КВАРТАЛ(<Дата>), МЕСЯЦ(<Дата>), ДЕНЬГОДА(<Дата>), ДЕНЬ(<Дата>), НЕДЕЛЯ(<Дата>), ДЕНЬНЕДЕЛИ(<Дата>),ЧАС(<Дата>), МИНУТА(<Дата>), СЕКУНДА(<Дата>)

Будет выводится соответствующий названию функции значение.

НАЧАЛОПЕРИОДА(«Дата», «Период сдвига»), КОНЕЦПЕРИОДА(«Дата», «Период сдвига»). Для данных функции, значение Выражения даты на начало или конец заданной даты.

ДОБАВИТЬКДАТЕ («Дата», «Период сдвига», «Величина, на которую требуется увеличить дату») - функция позволяет увеличить или уменьшить дату на определенное значение.

РАЗНОСТЬДАТ («Дата1», «Дата2», «Период сдвига») - Функция предназначена для получения разницы между двумя датами.

«Период сдвига» одно из «Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие».

5.Агрегатные функции языка запросов используются при группировке результатов подсчете итогов

СУММА (<>) арифметическую сумму всех попавших в выборку значений.
СРЕДНЕЕ (<>) вычисляет среднее значение всех попавших в выборку
МИНИМУМ (<>) вычисляет минимальное значение из всех попавших в выборку значений
МАКСИМУМ (<>) вычисляет максимальное значение из всех попавших в выборку значений
КОЛИЧЕСТВО (<>) подсчитывает количество значений параметра, попавших в выборку. Данная функция позволяет имеет варианты использования. КОЛИЧЕСТВО(*) - позволяет подсчитать количество строк в результате. КОЛИЧЕСТВО(РАЗЛИЧНЫЕ «Выражение») - позволяет подсчитать количество различных значений указанного поля.

Сумма(Выбор
Когда Подстрока(Номенклатура, 1, 5) = "Паста"
Тогда Количество *0.2
Иначе Количество *0.35
Конец)

Получится сумма значений при этом когда в начале наименования номенклатуры присутствует «Паста» в этом случает количество увеличивается на 0.2 если не присутствует увеличивается на 0.35.

Год([Документ.Дата])

Выведется Год когда документ записан/проведен.

Более сложный пример, без расшифровки.

Выбор
Когда Квартал([Документ.Дата]) = 1 И Подстрока(Номенклатура, 1, 5) = "Паста"
Тогда Количество * 0.2
Иначе Выбор
Когда Квартал([Документ.Дата]) = 2
Тогда Количество * 0.3
Иначе Выбор
Когда Квартал([Документ.Дата]) = 3
Тогда Количество * 0.4
Иначе Выбор
Когда Квартал([Документ.Дата]) = 4
Тогда Количество * 0.5
Конец
Конец
Конец
Конец

Мы довольно подробно рассмотрели настройки отчетов, реализованных на базе СКД. Теперь разберем более тонкие и детальные настройки вариантов отчета. Окно «продвинутых» настроек варианта отчета вызывается по команде «Еще» - «Прочее» - «Изменить вариант отчета».

Окно изменения варианта отчета разделено на две части:

1. Структура отчета.

2. Настройки отчета.


Раздел структуры варианта отчета аналогичен вкладке «Структура» стандартных настроек отчета. Назначение и настройка группировок подробно рассмотрена в ч. 1 статьи.

Таблица структуры варианта отчета, кроме непосредственно колонки с группировками, содержит несколько дополнительных колонок:

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

Раздел настроек состоит из следующих вкладок:

1. Параметры. Содержит параметры СКД, доступные пользователю.

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


Таблица параметров представлена в формате «Параметр»-«Значение». При необходимости можно менять значения параметров. Нажатие на кнопку «Свойства элемента пользовательских настроек» открывает пользовательские настройки элемента.


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

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

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


Пользователь может добавить два вида полей:

  • Новое поле выбор…
  • Новое поле выражение…

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


Например, вычислим оценку количества продаж. Будем считать, что, если продано меньше 10 единиц товара, продали мало, а если больше 10 единиц - много. Для этого зададим 2 значения вычисляемого поля: первое будет с отбором «Количество товаров Меньше или равно "10"», второе с отбором «Количество товаров Больше "10"».

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

Например, вычислим средний процент скидки. Средний процент скидки рассчитывается по формуле: [Сумма продаж без скидки] - [Сумма продаж со скидкой] / [Сумма продаж без скидки]. Необходимо помнить, что сумма продаж без скидки может быть нулевой, поэтому используем оператор ВЫБОР для проверки. Получим следующие выражения:

· Для детальных записей:

Выбор

Когда [Сумма продаж без скидки] = 0

Тогда 0

Иначе [Сумма продаж без скидки] - [Сумма продаж со скидкой] / [Сумма продаж без скидки]

Конец

· Для итоговых записей:

Выбор

Когда Сумма([Сумма продаж без скидки]) = 0

Тогда 0

Иначе Сумма([Сумма продаж без скидки]) - Сумма([Сумма продаж со скидкой]) / Сумма([Сумма продаж без скидки])

Конец

Как было сказано ранее, в выражении итоговых записей используем агрегатную функцию «Сумма».

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


4. Поля. Содержит поля, которые будут выведены в результат варианта отчета. Поля настраиваются отдельно для каждой из группировок, но можно задать общие поля для варианта отчета, если выбрать в дереве структуры корень «Отчет». Можно добавить поле из результата отчета, пользовательское поле или выбрать авто поле, тогда система подберет поля автоматически. Также данная вкладка позволяет изменять порядок следования полей.

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

  • Авто - система располагает поля автоматически;
  • Горизонтально - поля располагаются горизонтально;
  • Вертикально - поля располагаются вертикально;
  • В отдельной колонке - поля располагаются в разных колонках;
  • Вместе - поля располагаются в одной колонке.


5. Отбор. Содержит отборы, используемые в варианте отчета. Настройка отборов была подробно рассмотрена в части 1 данной статьи. Отборы настраиваются отдельно для каждой из группировок, но можно задать общие отборы для варианта отчета, если выбрать в дереве структуры корень «Отчет».


6. Сортировка. Содержит поля сортировки, используемые в варианте отчета. Настройка полей сортировки была подробно рассмотрена в части 1 данной статьи. Сортировка настраиваются отдельно для каждой из группировок, но можно задать общие поля сортировки для варианта отчета, если выбрать в дереве структуры корень «Отчет».


7. Условное оформление. Содержит элементы условного оформления, используемые в варианте отчета. Настройка условного оформления была подробно рассмотрена в части 1 данной статьи. Условное оформление настраивается отдельно для каждой из группировок, но можно задать общие элементы условного оформления для варианта отчета, если выбрать в дереве структуры корень «Отчет».


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


В заключение хотелось бы отметить, что настройки отчета можно не только сохранять в качестве варианта отчета, но и выгружать в файл (меню «Еще» - «Сохранить настройки»). Для загрузки необходимо выбрать «Загрузить настройки» и выбрать сохраненный файл. Таким образом, мы можем передавать настройки варианта отчета между различными базами, имеющими одинаковую конфигурацию.


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