Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Вычисляемые поля СКД в 1С 8.3 и 8.2 на примере

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

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

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

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

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

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

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

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

СуммаОплаты — ЦенаОтгрузки*КоличествоОтгрузки

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

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

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

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

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

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

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

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

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

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 10 на “Вычисляемые поля СКД в 1С 8.3 и 8.2 на примере
  1. При обращении в вычисляемом поле к другому вычисляемому полю, появляется ошибка «Поле не найдено «. Притом что имя пути к данным написано правильно. Это ограничение СКД, или нужно как-то по особому указывать путь к данным выч. поля к которому обращаемся? Спасибо.

    Ответить

    • Ограничение СКД. В вычисляемом поле нельзя использовать другие вычисляемые поля.

      Ответить

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

    Ответить

  3. А как в вычисляемом поле обратиться к перечислениям? К примеру хочу получить сумму возвратов, пишу: Выбор когда ХозяйственнаяОперация=Значение(Перечисление.ВозвратОплатыКлиентуНаПлатежнуюКарту) тогда СуммаОплаты конец. Но программа пишет «Неверные параметры «Перечисление.ВозвратОплатыКлиентуНаПлатежнуюКарту» «

    Ответить

    • Все что в скобках Значение() надо еще взять в кавычки

      Ответить

  4. Есть поле Документ получен со свойством Булево, галочку обратиться. Как к нему обратиться? Выбор когда [Документ получен] = «да» — не работает(

    Ответить

    • Выбор когда ДокументПолучен Тогда … Иначе … Конец

      Ответить

  5. Можно ли в вычисляемом поле сконкатенировать разного типа поля в строку? например КоличествоУпаковок + » «+ Упаковка.ЕиницаИзмерения + «; » + Номенклатура.Артикул + » — » + Количество

    Ответить

    • Строка(КоличествоУпаковок) + » » + строка(Упаковка.ЕдиницаИзмерения)

      Ответить

  6. а если общая функция возвращает строку, например, КадровыйУчет.КадровыеДанныеСотрудника(Истина,Сотрудник, «Подразделение», Период), то как обратиться к полю этой строки? КадровыйУчет.КадровыеДанныеСотрудника(Истина,Сотрудник, «Подразделение», Период).Подразделение — не работает

    Ответить

Добавить комментарий:

Ваш адрес email не будет опубликован.