1с скд добавить свою колонку

Содержание
  1. Полезные приемы для разработки отчетов на СКД
  2. Как вывести заголовок колонки вертикально, а значения в ячейках горизонтально
  3. Как сделать, чтобы в итогах кросс-таблицы выводилась только часть ресурсов, при этом в самой таблице отображались все ресурсы
  4. Как в отчете на СКД вывести колонку с расчетом процентов без создания отдельного поля компоновки
  5. Как управлять порядком выводимых в отчет ресурсов
  6. Как в отчете отфильтровать данные при помощи сложного выражения с использованием И, ИЛИ, НЕ
  7. Особенности расчета итогов при использовании нескольких наборов данных
  8. Хотите научиться грамотно создавать отчеты на СКД и дорабатывать отчеты в типовых конфигурациях?
  9. Комментарии / обсуждение (61):
  10. Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.
  11. Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.
  12. Фиксируем колонку в отчете на СКД
  13. Задача
  14. Стандартные возможности
  15. Другой путь
  16. Заключение

Полезные приемы для разработки отчетов на СКД

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

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

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

Как вывести заголовок колонки вертикально, а значения в ячейках горизонтально

При помощи условного оформления в отчете можно для ряда полей изменить направление текста с горизонтального на вертикальное.

Читайте также:  Как расположить задние колонки

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

Тайминг ключевых моментов в видео:

00:39 – Какой параметр в настройках условного оформления необходимо использовать для горизонтального вывода текста.
01:14 – Как сделать, чтобы условное оформление применялось только к заголовкам полей.
01:38 – Как ограничить список полей, к которым применяется условное оформление.

Как сделать, чтобы в итогах кросс-таблицы выводилась только часть ресурсов, при этом в самой таблице отображались все ресурсы

При помощи СКД достаточно просто и без написания программного кода можно создавать кросс-таблицы, где и в строках, и в колонках выводятся данные, а на их пересечении – значения.

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

Тайминг ключевых моментов в видео:

00:40 – Как настроить структуру отчета для вывода в виде кросс-таблицы.
02:22 – Как отключить вывод общих итогов.
02:55 – Как добавить группировку для вывода итогов по одному ресурсу.

Как в отчете на СКД вывести колонку с расчетом процентов без создания отдельного поля компоновки

Отчеты на СКД часто сравнивают с Excel: «там же просто: добавил колонку, протянул формулу – и всё готово» 🙂

А на СКД может быть даже ещё проще! Например, для расчета процентов по числовым показателям не надо прописывать никаких формул. Это можно сделать при помощи настроек компоновки. В видео покажем, как именно.

Тайминг ключевых моментов в видео:

00:30 – Какие «виртуальные» вложенные поля доступны в настройках компоновки для числовых ресурсов.
02:05 – Чем отличается поле «процент общий» от «процент в группировке».
02:35 – Как в отчете пронумеровать строки и вывести процент проданного количества без создания отдельного поля компоновки.

Как управлять порядком выводимых в отчет ресурсов

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

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

Тайминг ключевых моментов в видео:

00:35 – Какие настройки нужно установить, чтобы вывести в отчете ресурсы после всех полей.
01:10 – Какие настройки нужно установить, чтобы поля выводились в порядке, указанном в списке выбранных полей.

Как в отчете отфильтровать данные при помощи сложного выражения с использованием И, ИЛИ, НЕ

Часто пользователям в отчетах нужно отбирать данные по условиям, намного сложнее, чем просто “Номенклатура = Стол”. Система компоновки позволяет конструировать такие фильтры, используя группы логических условий И, ИЛИ, НЕ. В видео мы покажем, как можно реализовать такие отборы.

Тайминг ключевых моментов в видео:

00:32 – Как в настройках компоновки создать группу отборов (И, ИЛИ, НЕ).
01:52 – Как назначить представление для группы отборов и включить группу отборов в пользовательские настройки.

Особенности расчета итогов при использовании нескольких наборов данных

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

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

Отличия расчета итогов в запросах и СКД

Тайминг ключевых моментов в видео:

02:41 – Почему отличаются итоги при использовании запроса и при использовании соединения наборов данных.
04:05 – Как можно изменить текст запроса набора данных для корректного расчета итогов.

Вывод табличной части документа и корректного итога по сумме документа

Тайминг ключевых моментов в видео:

00:30 – Как решить задачу при помощи одного запроса.
04:14 – Как решить задачу при помощи соединения двух наборов данных.
07:01 – В каких случаях использование запроса приводит к некорректному расчету итогов.

Хотите научиться грамотно создавать отчеты на СКД и дорабатывать отчеты в типовых конфигурациях?

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

Разница между ними просто огромная, в том числе и в заработке.

И если Вы хотите не просто «слышать про СКД», а на самом деле знать возможности и особенности системы компоновки данных и уверенно применять их на практике, рекомендуем пройти курс Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)

Комментарии / обсуждение (61):

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

Добрый день!
Можно в наименовании характеристики перед записью добавлять суффикс, например, “(доп. реквизит)” или “(доп. свойство)“, чтобы не было путаницы.

Уже ничего не добавишь, ни в реквизит, ни в характеристику, необозримо внешних отчетов

Что-то менять всё равно придется – или имена полей, или в отчетах способ получения данных (например, вместо механизма характеристик явно использовать в запросе соединение с ТЧ ДополнительныеРеквизиты, где хранятся значения). Смотря, какой способ окажется менее трудозатратным.

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

Отлично, что получилось решить задачу!

В Вашем комментарии нет текста или вложенных файлов.

Обращаем Ваше внимание, что Вы мoжете добавить к комментарию:
– изображение (JPG, PNG, GIF)
– архивы (ZIP, RAR)
– документы и текст (TXT, DOC, DOCX, XLS, XLSX, PPT, PPTX или PDF).

Из соображений безопасности максимальный размер файла установлен в 10 МБ.

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

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

Добрый день!
Можно реализовать поэлементный вывод:

СхемаКомпоновки = Отчеты.ОстаткиТоваровНаСкладах.ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);
НастройкиКомпоновки = СхемаКомпоновки.НастройкиПоУмолчанию;

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);

Пока Истина Цикл

ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата = Неопределено Тогда
Прервать;
Иначе
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;

Этот код выводит отдельно каждый элемент результата компоновки данных. Это не обязательно строка будет.

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

Добрый день!
Несколько лет назад проходил Ваш курс.
Но как часто бывает, со сложными вопросами столкнулся только сейчас.
Если сможете ответить, буду очень признателен.
1. Автопозиция ресурсов – прекрасно работает, когда в отчете только детальные записи. Но когда есть несколько уровней группировки, в том числе без детальных записей, вывести ресурсы и группировочные поля в произвольном порядке – непонятно как. То есть, допустим, “через один” группировочное поле, ресурс и тд. Пробовал добавлять в нужном порядке все поля на вкладке Выбранные поля – не помогает, система выводит поля как ей вздумается. Даже письмо в 1с написал. Вы с такой проблемой не сталкивались?
2. Можно ли, используя язык системы компоновки данных, организовать следующий расчет ресурса в такой задаче: нужно посчитать количество листов прикрепленных файлов (в бп 3, к договорам, поступлениям и счетам-фактурам). Само количество у каждого файла посчитано и хранится отдельным реквизитом. При этом у каждого файла также есть реквизиты Вид, дата и номер файла (например, УПД, 1, 01.01.20). С одной стороны, к договору прикреплен Договор и доп. соглашение и оба помечены как “договор” от одной даты. С другой стороны, один и тот же УПД прикреплен к поступлению товаров и к счет фактуре и посчитать количество страниц по такому файлу нужно только один раз. То есть, я сначала бы рассмотрел файлы каждого отдельного документа, там сгруппировал их по полям вид, номер и дата, а количество страниц просуммировал (решается проблема договор+доп. соглашение). Дальше, на уровне контрагент+договор я бы взял максимум по каждому виду, номеру и дате (решается проблема двух одинаковых упд, количество страниц посчитается один раз). А затем, на уровне других группировок и общего итога, снова бы просуммировал количество страниц. Задать два выражения для ресурса (у вида, номера, даты, контрагента и договора как Максимум, в другой группировке у остальных полей – как Сумма) не получается – пишет Неоднозначное выражение. Хочется написать “вычислить с группировкой таблица значений”, а потом эту таблицу значений передать в следующее выражение и еще раз, чтобы посчитать сумма+максимум+сумма. Но похоже такое выражение не составить. Тут можете помочь? Спасибо.

Источник

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

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

Молочников Олег Spb. 2012.

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов.

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

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

Сформировать программно заголовок отчета нам поможет следующий код:

Настройки = КомпоновщикНастроек . Настройки ;
ЗаголовокНастроек = Настройки . ПараметрыВывода . НайтиЗначениеПараметра (Новый ПараметрКомпоновкиДанных ( «Title» ));
ЗаголовокНастроек . Значение = «Сравнение остатков по взаиморасчетам в базе » + СокрНаимБазы1 + » и » + СокрНаимБазы2 ;

Для формирования заголовков колонок используем заголовки из схемы в качестве шаблонов (“_1” и “_2” будут позже заменены на сокращенные наименования баз данных в примере ниже):

Тогда формирование имен колонок в любых выбранных пользователем полях можно сформировать простейшим кодом:

Для Каждого ВыбранноеПоле из Настройки . Выбор . Элементы Цикл
ДоступноеПоле = Настройки . ПользовательскиеПоля . ДоступныеПоляЗначений . НайтиПоле ( ВыбранноеПоле . Поле );
ТекстЗаголовка = ДоступноеПоле . Заголовок ;
ТекстЗаголовка = СтрЗаменить ( ТекстЗаголовка , «_1» , СокрНаимБазы1 );
ВыбранноеПоле . Заголовок = СтрЗаменить ( ТекстЗаголовка , «_2» , СокрНаимБазы2 );
КонецЦикла;

Источник

Фиксируем колонку в отчете на СКД

Задача

. достаточно простая. Нужно создать отчет на СКД, который выводит остатки по номенклатуре в разрезе складов. Рассмотрим два варианта решения.

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

Стандартные возможности

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

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

Таким образом, без единой строчки кода, используя только стандартные возможности СКД, мы решили задачу с фиксацией колонки в отчете. Но что, если нам нужно зафиксировать не только первую колонку «Номенклатура», но и первую колонку склада (в нашем случае это «Главный склад»). Стандартные возможности СКД тут не помогут, пойдем другим путем.

Другой путь

Используя отчет из предыдущей части статьи зафиксируем первую колонку «Склад» в выводимом табличном документе. Для этого программно сформируем отчет в обработке «ПриКомпоновкеРезультата» модуля объекта отчета. Листинг этой процедуры-обработчика представлен на следующем листинге:

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

Почему фиксация имеет значение именно 3? Обратимся к следующему скриншоту:

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

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

В результате формирования отчета мы увидим следующий результат:

Заключение

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

Источник

Оцените статью