Домой / Уроки по Windows / Выражение детальных записей 1с в пользовательских полях. Простой пример использования пользовательских полей в отчете на скд. Правила сравнения двух значений

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

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

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

Изменение настроек отчета

Чтобы просмотреть или изменить настройки отчета нужно зайти в меню «Все действия» и выбрать команду «Изменить вариант». После этого перед пользователем открывается окно с настройками для открытого отчета.

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

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

Пользовательские поля

В программе 1С: Управление торговлей 8 редакции 11 настройки отчетов предоставляют пользователям больше возможностей в их формировании.

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

Рассмотрим использование данной функции на примере.

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

Таким образом, на наглядном примере видно, что гибкие настройки пользовательских полей в типовой программе 1С: Управление торговлей 8 предоставляют пользователем широкие возможности в настройках отчетов, позволяя оперативно получать необходимую информацию в удобном виде.

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

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

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. Дополнительные настройки. Содержит дополнительные настройки оформления отчета. Позволяют выбрать общий внешний вид отчета, расположение полей, группировок, реквизитов, ресурсов, итогов, задать настройки диаграммы, управлять выводом заголовка, параметров и отбора, определять позицию ресурсов и закреплять шапку и колонки группировок варианта отчета.


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


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

Каждой организации для принятия своевременных и правильных управленческих решений необходима оперативная информация о наличии товара на складах, о его себестоимости, о продажах. Торговые организации работают с большим числом номенклатуры и контрагентов, а это требует хорошей настройки аналитического учета и быстрого получения требуемой информации по его данным. В статье рассматриваются основные приемы работы со стандартными отчетами в типовом решении «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

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

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

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

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

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

  1. Оповещение о количестве. Если количество меньше или равно 5, то оповещение "Недостаточно". Если количество больше 5, то меньше или равно 10, то оповещение "Нормально". Если количество больше 10, то "Переизбыток".
  2. Формула расчета конечного остатка. В дополнительной колонке пользователь хочет видеть какие действия выполнила программа чтобы получить значение конечного остатка. То есть формулу "Начальный остаток + Оборот = Конечный остаток", где будут подставлены соответствующие значения.

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

Дополнительные поля

И так, приступим. Зайдем в настройки варианта отчета:

Перед нами откроется конструктор настроек варианта отчета СКД. Перейдя на вкладку "Пользовательские поля" начнем их создание.

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

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

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

"Выбор Когда Тогда Иначе Конец",

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

Аналогично заданы настройки для поля "Формула расчета конечного остатка":


Здесь нужно сказать о некоторых нюансах:

  1. Формулу в ячейке мы можем показать лишь в виде строки. Поэтому все числовые значения мы преобразуем к строке с помощью метода языка выражений СКД "Строка()", преобразующего любое значение в строку. После выполняем конкатенацию строк.
  2. Для того, чтобы поле отображалось в итогах отчета, добавим аналогичную формулу в выражение итоговых записей. Нужно лишь добавить агрегирующие функции "СУММА()" для каждого значения в соответствии с итогами.

Все готово к использованию полей в отчете!

Настраиваем и формируем отчет

Поле "Формула расчета конечного остатка" добавим в выводимые поля отчета:

Выражение "Оповещение" добавим к детальным записям номенклатуры. Для этого в группировку "Номенклатура" добавим поле выражения "Оповещение". После этого структура отчета примет следующий вид:

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

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

Поверьте мне, обучить его использовать эти возможности можно, ведь это куда проще, чем писать формулы в электронных таблицах Excel.