Как добавить вычисляемое поле в отчет 1с

Обновлено: 07.07.2024


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

Сразу следует отметить, что принцип добавления такого поля в отчет не зависит от конфигурации 1С. Будь то это конфигурация Бухгалтерия, Управление Торговлей, Зарплата и Управление Персоналом и пр. В качестве примера будет рассматривать на конфигурации Управление Торговлей 11.

Пример, как добавить после в отчет в 1С УТ

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

В правой верхней части отчета нажимаем на кнопку “Еще” и далее выбираем пункт “Прочее” и далее команду “Изменить вариант отчета”.

Как добавить поле в отчет в 1С?

Откроется форма для изменения варианта отчета. В ней нас будет интересовать закладка “Пользовательские поля”. Добавляем новое поле выражение по кнопке “Добавить”. В нашем примере выбрано выражение.

Как добавить поле в отчет в 1С?

В открывшемся окне зададим заголовок новому пользовательскому полю и в выражении итоговых записей пропишем формулу Окр([Доп. расходы] / Всего * 100, 1). Округление используем для того, чтобы избавиться от большого количества знаков после запятой. Достаточно точности в десятую процента.

Как добавить поле в отчет в 1С?

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

Как добавить поле в отчет в 1С?

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

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

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

Как добавить вычисляемое поле в СКД 1С 8.3

И так еще раз для наглядности примера, есть вот такой отчет, в котором есть сумма НДС и сумма документа (каких-то услуг), нам необходимо добавить еще одну колонку в которой будет выводиться итоговая сумма документа.

1С СКД Вычислить

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

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

И не забываем про заголовок.

Как добавить вычисляемое поле в СКД

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

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

1С СКД как добавить вычисляемое поле

Таким образом можно вычисли все что угодно, произвести любое арифметическое действие, или например, посчитать НДС 18 либо 20 % от числа.


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

Оглавление

Отчет выглядит так, сумма считается в колонке "Количество затрат":

2020-04-23 21 35 09

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

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

2020-04-23 23 09 40

Указывать "Иначе 0" не обязательно.

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

Созданное пользовательское поле добавляем в отчет через кнопку "Настройка" на форме отчета:

2020-04-23 22 30 30

Ненужное поле, которое заменили на новое, можно отключить.

Теперь в отчете, затраты по номенклатуре суммируются только в том случае, если для них указана группа статей калькуляции из группы "Материальные затраты":

2020-04-23 22 38 28

Изначально, выражение выглядело так:

Выбор
Когда [Статья калькуляции.Группа статей калькуляции.Наименование] = "Материальные затраты"
Тогда Сумма([Количество затрат])
Иначе 0
Конец

2020-04-23 22 45 40

В группировке и в Итоге по колонке кол-ва затрат сумма не работала, возвращала 0 (пустые значения). Поэтому функция "Сумма" должна быть вначале выражения.


Если у нас имеется доступ в Конфигуратор 1С, то мы можем создать отчет, в котором получим информацию из справочников и регистров, а так же результат расчетов в вычисляемых полях.

Оглавление

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

1. Запускаем 1С в режиме конфигуратора, нажимаем "Файл" - "Новый" - "Внешний отчет":

2. В новом окне задаем Имя для отчета, нажимаем "Открыть схему компоновки данных" (ОСКД):


Находясь на вкладке "Наборы данных" нажимаем кнопку:

3. Теперь в окне "Конструктор запроса" на вкладке "Таблицы и поля" нужно выбрать поля из таблицы (регистр), которые будем использовать в создаваемом отчете:

Из 1 колонки мне понадобился Регистр сведений "флСостоянияСертификацииСерий", который я нашел в дереве "РегистрыСведений", затем встал на него курсором и нажал на кнопку ">", после этого он отобразился во 2-ой колонке с данными, весь регистр я добавлять не стал, а раскрыл ветвь с "флСостоянияСертификацииСерий" и поочередно выделяя нужные регистры добавлял их через кнопку ">", после чего они отображались в 3-ей колонке: с этими данными мы уже будем работать в дальнейшей в нашем отчете.

После того как вывели нужные поля, нажимаем "ОК"

4. Переходим на вкладку "Настроки" ОСКД, указываем Имя в шапке отчета, Группировку, выбираем поля, которые будут выводиться в отчете:

Здесь же на вкладке "Отбор" можно настроить фильтр.

5. Теперь в отчете будут выводиться данные из выбранных регистров, но следующей задачей является вывести вычисляемые поля (колонки) с условием и представлением данных. В моем случае, серия одобрена "Да" / "Нет": подсчитать кол-во каждого критерия.

Переходим на вкладку "Вычисляемые поля", добавляем 2-а поля: колонка "Путь к данным": придумываем название поля, которое потом укажем на вкладке "Настройки" - "Выбранные поля", чтобы вывести вычисляемые поля в отчет (пункт №6). Колонка "Выражение" - это формула, в ней я указываю выборку, что если партия одобрена = Истина, если не одобрена, то = Ложь - в соответствии с условием, в колонке будет устанавливаться Булево "Да" или "Нет" (поле СерияНоменклатурыфлПартияОдобрена должно быть добавлено в Набор данных (пункт №3)):

Колонка "Заголовок" название заголовка в колонке отчета.

6. Чтобы подсчитать количество "Да" / "Нет" в группировке, нужно зайти на вкладку "Ресурсы" и указать поля, которые будем обрабатывать:

7. Теперь остается указать вычисляемые поля на вкладке "Настройки" - "Выбранные поля" чтобы вывести их в отчет:

8. Сохраняем отчет с расширением *.erf через "Файл" - "Сохранить". Теперь данный отчет можно открыть в 1С в пользовательском режиме "Предприятие", через "Файл" - "Открыть". Выше приведенные настройки сформировались в отчете в следующем виде:

Помимо выводимых данных из регистра сведений, в 2-ух последних колонках мы подсчитываем количество "Да" / "Нет"

Читайте также: