Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 читайте на сайте

1C Скд Несколько Значений в Одной Ячейке • Дополнительный функционал скд

Видим, что этот набор добавился и у него совершенно другая картинка не таблица, как у двух других, а два объединяющихся круга.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Настройка итогов в СКД 1С 8.3 Обращайтесь в форму связи

1с компоновка данных объединить строки. СКД

В данной небольшой заметке хочу показать, как можно произвести суммирование значений на различных уровнях группировки, в отчете с использованием системы компоновки данными.
Как показано на изображении, только на уровне группировки «Группы номенклатуры», рассчитывается ресурс «Заказать», в нем отображается, сколько нужно заказать по текущей группе номенклатуры исходя из определенных условий:

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

ВычислитьВыражениеСГруппировкойМассив(«Сумма(СуммаОборот)», «Контрагент»)
Компоновщик макета сгенерирует для вывода следующее выражение:

Тип: Строка. Выражение, которое нужно вычислить. Строка, например, Сумма(СуммаОборот).

Тип: Строка. Выражения полей группировки – выражения полей группировки, перечисленные через запятую. Например, Контрагент, Партия.

Тип: Строка. Выражение, описывающее отбор, применяемый к детальным записям. В выражении не поддерживается использование агрегатных функций. Например,ПометкаУдаления = Ложь.

Тип: Строка. Выражение, описывающее отбор, применяемый к групповым записям. Например, Сумма(СуммаОборот) > &Параметр1.
Пример:

Максимум(ВычислитьВыражениеСГруппировкойМассив («Сумма(СуммаОборот)», «Контрагент»));

Подробное описание синтаксиса функции можно найти по адресу http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Теперь для расчета, продублируем поле «Заказать», с различными значениями «Рассчитывать по…», используя следующие выражения, обратите внимание, что в каждом выше стоящем уровне используются значения уровней ниже стоящих группировок.

1. Вычислить (Eval) — предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение.

Синтаксис :
Вычислить(Выражение, Группировка, ТипРасчета)

  • Выражение (Строка). Cодержит вычисляемое выражение;
  • Группировка (Строка). Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
    Например:
    Сумма(Продажи.СуммаОборот) / Вычислить(«Сумма(Продажи.СуммаОборот)», «ОбщийИтог»).
    В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
  • ТипРасчета (Строка). В случае если данный параметр имеет значение «ОбщийИтог», выражение будет вычисляться для всех записей группировки. В случае если значение параметра «Группировка», значения будут вычисляться для текущей групповой записи группировки.

СКД: вывод строк из табличной части в одной ячейке строки

  • Выражение (Строка) — выражение, которое нужно вычислить. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: «Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж».
  • ВыраженияПолейГруппировки — выражения полей группировки, перечисленные через запятую. Например, «Контрагент, Партия»;
  • ОтборЗаписей — выражение, применяемое к детальным записям. Например, «ПометкаУдаления = Ложь». Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
  • ОтборГруппировок — отбор, применяемый к групповым записям. Например: «Сумма(СуммаОборот) > &Параметр1».

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

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

1) Использование функции СКД – СоединитьСтроки().

У данного способа, как мне кажется, есть минус, но он работает, но минус большой. Рассмотрим на примере: имеется в конфигурации документ “Поступление товара” с табличной частью “Товары”, необходимо вывести в отчет документы и наименования поступившего товара для каждого документа.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

Создадим отчет, добавим основную схему компоновки данных, в СКД добавим набор данных типа “запрос” и сформируем простенький запрос (см. рисунок 1).

На вкладке “Вычисляемые поля” добавим вычисляемое поле под названием ТабличнаяЧасть и в колонке Выражение укажем пустую строку (см. рисунок 2).

Наше вычисляемое поле будет использоваться как ресурс, поэтому на вкладке “Ресурсы” задаем выражение группировки: СоединитьСтроки(Массив(Товары.Номенклатура),,””). А так же указываем, что рассчитывать данный ресурс нужно по полю Ссылка (см. рисунок 3).

Перейдем на вкладку “Настройки” и создадим настройку по выводу данных – это будет группировка по реквизитам Ссылка, Контрагент, Организация (см. рисунок 4).

О минусе – это использование группировки, в нашем случае выполняется группировка по реквизиту Ссылка, иначе работать не будет. Наличие группировки накладывает некоторые ограничения по настройке вывода данных (см. рисунок 4).

Система компоновки данных 1С 8.3 для начинающих: объединяем наборы данных

    1. Создадим новый набор данных.
    2. Вставим в него, вышеуказанный запрос.
    3. Перейдём на закладку «Вычисляемые поля» и добавим новую запись.
    4. В поле «Путь к данным» напишем МассивНомеров.
    5. В поле «Выражение» напишем Массив(РегистраторНомер).

    1) Использование функции СКД – СоединитьСтроки().

    У данного способа, как мне кажется, есть минус, но он работает, но минус большой. Рассмотрим на примере: имеется в конфигурации документ “Поступление товара” с табличной частью “Товары”, необходимо вывести в отчет документы и наименования поступившего товара для каждого документа.

    Создадим отчет, добавим основную схему компоновки данных, в СКД добавим набор данных типа “запрос” и сформируем простенький запрос (см. рисунок 1).

    На вкладке “Вычисляемые поля” добавим вычисляемое поле под названием ТабличнаяЧасть и в колонке Выражение укажем пустую строку (см. рисунок 2).

    Наше вычисляемое поле будет использоваться как ресурс, поэтому на вкладке “Ресурсы” задаем выражение группировки: СоединитьСтроки(Массив(Товары.Номенклатура),,””). А так же указываем, что рассчитывать данный ресурс нужно по полю Ссылка (см. рисунок 3).

    Перейдем на вкладку “Настройки” и создадим настройку по выводу данных – это будет группировка по реквизитам Ссылка, Контрагент, Организация (см. рисунок 4).

    О минусе – это использование группировки, в нашем случае выполняется группировка по реквизиту Ссылка, иначе работать не будет. Наличие группировки накладывает некоторые ограничения по настройке вывода данных (см. рисунок 4).

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

    1С:Эксперт по технологическим вопросам
    Мнение эксперта
    1С:Эксперт по технологическим вопросам
    Задавайте мне вопросы, и я помогу разобраться!
    Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс не забудьте подписаться на YouTube регулярно выходят новые видео. Приемы работы с СКД делаем за 5 минут то, на что у других уйдет час Наумов Сергей Обращайтесь в форму связи

    Объединение, скрытие, замена

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

    1С:Эксперт по технологическим вопросам
    Мнение эксперта
    1С:Эксперт по технологическим вопросам
    Задавайте мне вопросы, и я помогу разобраться!
    если расчетный фрагмент определяется как Текущая, Текущая соответственно, параметры Начало и Конец , то для записи 2 этот фрагмент будет состоять из записей 2 и 3. Дацик VS Пулеметчик, Шульский vs Эльбаев, Макс Топор VS Новоселов / ПРЯМОЙ ЭФИР РЕН ТВ Обращайтесь в форму связи

    Делаем выборку из таблицы документов «ПродажаЕды» следующих полей:

    Сделаем имена более читабельными. Для этого двойным щелчком переименуем «НаборДанных1» в «Покупки» и поле «Дата» в «ДатаПокупки»:

    Второй же набор «НаборДанных2» переименуем в «Продажи», а поле «Дата» переименуем в «ДатаПродажи»:

    Мы получили два набора данных. В первом — информация по покупкам (дата покупки и поставщик), во втором- информация по продажам (дата продажи и клиент). Давайте попробуем теперь вывести всё это в отчет.

    Создаем объединение наборов данных

    • Создать новый отчёт, в котором будут выводиться закупки (дата, поставщик) и продажи (дата, клиент) одновременно.
    • Для этого сделаем два отдельных набора данных с выборкой из таблиц документов «ПоступлениеЕды» и «ПродажаЕды», а затем объединим их в один набор.

    Создаем объединение наборов данных

    Видим, что этот набор добавился и у него совершенно другая картинка (не таблица, как у двух других, а два объединяющихся круга):

    Затем перетаскиваем мышкой наборы «Покупки» и «Продажи» в «НаборДанных1»:

    Вот это и значит, что теперь «Покупки» и «Продажи» будут не соединяться, а именно объединяться в отчёте.

    А давайте зададимся целью объединить столбцы «Поставщик» и «Клиент» в один? И пусть этот новый столбец будет называться «Контрагент».

    Для этого заходим на закладку «Наборы данных» и меняем имя поля «Поставщик» в наборе «Покупки» на имя «Контрагент»:

    Затем в наборе «Продажи» меняем имя поля «Клиент» на имя «Контрагент»:

    Переходим на закладку «Настройки», выделяем пункт «Отчет», переходим внизу на закладку «Выбранные поля», удаляем уже не существующие поля «Поставщик» и «Клиент» и перетаскиваем из первой колонки во вторую новое поле «Контрагент»:

    💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts