1С универсальный отчет добавить поле

Отчет

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Fastboot flash recovery twrp img

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

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

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

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

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

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

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

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

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

  • Статья
  • Видео
  • Комментарии (4)

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

В качестве примера я создам два отчета: отчет по документам реализации и отчет по затратам предприятия.

Откроем форму универсального отчета (раздел Администрирование):

В верхней части находится панель настроек, а в нижней табличное поле для вывода данных:

Отчет по документам продажи

Приступим к настройке отчета по документам реализации. Выберем период:

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

Далее выберем тип документов:

В следующей поле нужно выбрать источник данных в документе (перечислены табличные части документа + Основные данные — это реквизиты шапки). Давайте выберем данные из табличной части Товары, чтобы получить данные и о проданной номенклатуре:

Нажимаем внизу Завершить и сформировать:

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

Выбираем расширенный вид настроек:

Читайте также:  Asus zenfone 5 ze620kl мтс

Переходим на закладку Структура:

Здесь видим единственную группировку детальные записи — именно в ней выводятся все данные:

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

Нажимаем Закрыть и Сформировать:

Теперь для организаций давайте добавим вложенную группировку по контрагентам (выделим группировку по организации, нажмем Добавить и выберем вложенное поле Контрагент у поля Ссылка):

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

Теперь пропавшие данные вернулись в отчет:

Для настройки перечня колонок перейдем в настройки на закладку Поля и сортировка:

Поотключаем галки у ненужных полей и переформируем отчет:

Теперь число колонок уменьшилось.

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

Отчет по затратам

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

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

В нашем примере это будут обороты. Переходим в настройки, закладка Структура:

Добавляем верхнюю группировку по организации и подчиненную по субконто1 (это будут статьи затрат). На закладке Поля и сортировки устанавливаем только признак использования поля Субконто оборот Дт:

Справа в таблице сортировки нажимаем Добавить и выбираем наименование организации и субконто1, тип — по возрастанию:

Читайте также:  Микроволновка стала хуже греть что делать

На первой закладке добавим отбор по счетам:

Нажимаем Закрыть и сформировать:

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

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

Если какие то моменты вызвали у вас трудности и непонимание, посмотрите видео в начале статьи, там я все показываю нагляднее. Для более подробного знакомства с конфигурацией рекомендую обучающий курс по Бухгалтерии 3.0.

Примеры по программированию в 1с 7.7, 8.1, 8.2

среда, 6 августа 2014 г.

Пользовательское поле в универсальном отчете.

Пользовательское поле в универсальном отчете (по регистрам, документам, справочникам) в УПП 1.3. Отчет создан с использованием технологии СКД, поэтому позволяет добавлять пользовательские поля в квадратных скопках: [].

Иерархия номенклатуры в строку (ПолноеНаименование()) до 6 уровня в пользовательском поле — в настройке пользователя:
Выбор
Когда [Ссылка.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Наименование] + " 1 "
Когда [Ссылка.Группа.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Наименование] + " 2 "
Когда [Ссылка.Группа.Группа.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Наименование] + " 3 "
Когда [Ссылка.Группа.Группа.Группа.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Наименование] + " 4 "
Когда [Ссылка.Группа.Группа.Группа.Группа.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Наименование] + " 5 "
Когда [Ссылка.Группа.Группа.Группа.Группа.Группа.Группа.Группа] = Значение(справочник.номенклатура.пустаяссылка)
Тогда [Ссылка.Группа.Группа.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Группа.Наименование] + " / " + [Ссылка.Группа.Наименование] + " 6 "
Конец

В Настройке в конфигураторе будет по другому:
Выбор
Когда Ссылка.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Наименование + " 1 "
Когда Ссылка.Родитель.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Наименование + " 2 "
Когда Ссылка.Родитель.Родитель.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Наименование + " 3 "
Когда Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Наименование + " 4 "
Когда Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Наименование + " 5 "
Когда Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = Значение(справочник.номенклатура.пустаяссылка)
Тогда Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Родитель.Наименование + " / " + Ссылка.Родитель.Наименование + " 6 "
Конец