И еще нам потребуется макет для вывода отчета и его расшифровки в нашем случае он получился универсальный, но обычно макет отчета и макет расшифровки различаются, и требуется создавать макеты отдельно.
1С скд количество записей в группировке
В этой статье я расскажу про закладку «Другие настройки» в 1С СКД. Рассмотрим все параметры кроме тех, которые относятся к диаграмме.
Состав параметров зависит от уровня настройки. Параметры могут быть заданы для:
При установке какого либо параметра как обычно принято в СКД этот параметр наследуется с верхнего уровня на нижний, с уровня отчета в таблицу, с уровня таблицы на уровень группировки, с родительской группировки на подчиненную группировку. Наследование происходит в случае если у элемента структуры нижнего уровня параметр не установлен.
Параметр доступен только для группировок. В том числе для группировок строк и колонок таблицы. Если параметр задан, то выводятся не все записи группировки, а только указанное количество
Параметр доступен только для группировок. В том числе для группировок строк и колонок таблицы. Если параметр задан, то выводятся не все записи группировки, а только указанный процент от общего количества
Параметр доступен только для группировки. Не доступен для группировок строк и колонок таблицы. Отвечает за направление вывода ячеек записи группировки.
Данный параметр имеет отношение к группировке. Чтобы понять смысл работы этого параметра нужно представить запись по группировке как итог по подчиненным группировкам (даже в том случае если подчиненных нет). Варианты значения параметра:
- Нет. Отключает вывод значений ресурсов.
- Начало. В начале выводится одна группировочная запись (для подчиненных)
- Начало и Конец. К группировочной записи в начале добавляется ее копия, но уже после всех записей подчиненных группировок (то есть в конце)
- Конец. Отключает вывод значений ресурсов в начальной записи. Но сама начальная запись добавляется
- Авто. Работает как «Начало»
Интересный параметр, который влияет на расположение подчиненной группировки относительно родительской. Причем действует этот параметр на группировки строк(или просто группировки без таблицы) и группировки по колонок по-разному.
Промокоды на Займер на скидки
- Вместе. Работает как значение по умолчанию. Дочерняя группировка выводится под родительской группировкой в одной колонке
- Отдельно. Дочерняя группировка выводится в отдельной колонке. Значение родительских группировок дублируются для подчиненной.
- Отдельно и только в итогах. Дочерняя группировка выводится в отдельной колонке. Значение родительских группировок не дублируется для подчиненной
- Вместе. Колонка текущей группировки выводится в той же строке что и родительская
- Отдельно. Колонка текущей группировки выводится на новой строке. Значение родительских группировок повторяется
- Отдельно и только в итогах. Колонка текущей группировки выводится на новой строке. Значение родительских группировок не повторяется.
Параметр работает в некотором смысле аналогично параметру «Расположение итогов», но есть отличия в работе значений:
1C Схема Компоновки Данных Детальные Записи
- Нет – итоги не выводятся
- Начало – итоги выводятся в начале
- Конец – итоги выводятся в конце (по умолчанию)
- Начало и конец – итоги выводятся в начале и в конце
- Авто – работает как «Конец»
Программирование как созидательный процесс.
1С СКД: Суммирование значений на различных уровнях группировок
ВычислитьВыражениеСГруппировкойМассив(«Сумма(СуммаОборот)», «Контрагент»)
Компоновщик макета сгенерирует для вывода следующее выражение:
Тип: Строка. Выражение, которое нужно вычислить. Строка, например, Сумма(СуммаОборот).
Тип: Строка. Выражения полей группировки – выражения полей группировки, перечисленные через запятую. Например, Контрагент, Партия.
Тип: Строка. Выражение, описывающее отбор, применяемый к детальным записям. В выражении не поддерживается использование агрегатных функций. Например,ПометкаУдаления = Ложь.
Тип: Строка. Выражение, описывающее отбор, применяемый к групповым записям. Например, Сумма(СуммаОборот) > &Параметр1.
Пример:
Максимум(ВычислитьВыражениеСГруппировкойМассив («Сумма(СуммаОборот)», «Контрагент»));
Подробное описание синтаксиса функции можно найти по адресу http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Теперь для расчета, продублируем поле «Заказать», с различными значениями «Рассчитывать по…», используя следующие выражения, обратите внимание, что в каждом выше стоящем уровне используются значения уровней ниже стоящих группировок.
1С СКД: Суммирование значений на различных уровнях группировок
В СКД можно использовать функции глобальных и неглобальных общих модулей в вычисляемых полях при условии что функция объявлена как экспортная.
Реализация расшифровки в отчете, созданном без использования СКД
Сначала создадим в конфигураторе новый отчет. Назовем его «ОтчетСРасшифровкойБезСКД». В этом отчете создадим новую форму и добавим в диалоге формы поле табличного документа:
В разделе «События» свойств поля табличного документа назначаем процедуру обработки расшифровки (см. на рисунке — выделено в рамку).
На вкладке модуля формы, во-первых, создаем процедуру-обработчик нажатия на кнопку «Сформировать», во вторых, пишем код процедуры обработки расшифровки:
И еще нам потребуется макет для вывода отчета и его расшифровки (в нашем случае он получился универсальный, но обычно макет отчета и макет расшифровки различаются, и требуется создавать макеты отдельно):
Рис.2. Создание макета отчета и макета расшифровки отчета.
Для того, чтобы появлялся специальный курсор и была возможность расшифровать ячейку при наведении мышки на ячейку и двойном щелчке, должны быть соблюдены два условия: в свойствах этой ячейки нужно установить защиту и у нее должен быть определен параметр расшифровки (см. рисунок, поля обведены в рамочку).
Вот и все. Теперь можно открыть 1С:Предприятие и убедиться, что разработанный отчет покажет требуемую расшифровку:
Вид расчета | Сумма |
Начисление 1 | 3 |
Начисление 2 | 4 |
Начисление 3 | 6 |
Начисление 1 | 9 |
Настройка отчетов в 1С 8.3 (основные понятия) В Смоленске в Легасофт.
Реализация отчета с использованием Системы Компоновки Данных (СКД)
В прилагаемой в качестве примера конфигурации отчет назван «ОтчетСРасшифровкойСКД».
Итак, последовательность разработки отчета следующая.
Создаем новый отчет. Назначаем ему новую схему компоновки данных (см. рисунок — отмечено цифрой 1). Создаем в ней новый набор данных — запрос (см. рис — отметка 2). Пишем текст запроса(см. рисунок — отметка 3):
Переходим на вкладку «Настройки» схемы компоновки и с помощью конструктора настроек определяем список выводимых полей:
Для нашего примера проверка имени этого поля выполняется вот в таком операторе сравнения:
У любой формы любого отчета среди свойств есть свойство «ДанныеРасшифровки». Посмотрим, что об этом говорится в синтакс-помощнике конфигуратора. Расширение формы отчета:
ВосстанавливатьЗначенияПриОткрытии (RestoreValuesOnOpen)
ДанныеРасшифровки (DetailsData)
РезультатОтчета (ReportResult)
ПередСохранениемЗначений (BeforeSaveValues)
ПослеВосстановленияЗначений (AfterRestoreValues)
Посмотрим, что это за тип такой, ДанныеРасшифровкиКомпоновкиДанных:
Объект, содержащий информацию о расшифровке.
XML-сериализация. Поддержка отображения в XDTO; пространство имен: . Имя типа XDTO: DetailsInformation.
Т.е. из описания видим, что у этого типа есть свойство «Элементы». Посмотрим описание этого свойства:
Посмотрим описание типа «ЭлементыРасшифровкиКомпоновкиДанных», чтобы выяснить, какие методы к нему применимы:
ЭлементРасшифровкиКомпоновкиДанныхПоля, ЭлементРасшифровкиКомпоновкиДанныхГруппировка
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы расшифровки.
Возможно обращение к элементу посредством оператора […]. В качестве аргумента передается индекс (нумерация с 0), идентификатор расшифровки.
Как видим из описания, к элементу расшифровки компоновки данных применим метод «Получить». Посмотрим его описание в синтакс-помощнике Конфигуратора::
*Примечание. Текст, выделенный серым цветом, отсутствует в синтакс-помощнике конфигуратора, что является ошибкой, и вводит в заблуждение неопытных программистов. Однако некоторым пытливым умам удалось выявить эту ошибку, поэтому приводим тут исправленный вариант. Теперь посмотрим, что это за тип — ЭлементРасшифровкиКомпоновкиДанныхПоля:
Итак, мы добрались до идентификатора «Идентификатор (ID)» и метода «ПолучитьПоля». Тип значения параметра «Расшифровка» в случае расшифровки поля, заполняемого с помощью СКД, — «ИдентификаторРасшифровкиКомпоновкиДанных». Посмотрим описание этого типа в синтакс-помощнике Конфигуратора:
Представляет собой специальный объект для идентификации объекта расшифровки.
Поддержка отображения в XDTO; пространство имен: . Имя типа XDTO: DetailsID.
Посмотрим описание типа «ЗначенияПолейРасшифровкиКомпоновкиДанных»:
ЗначениеПоляРасшифровкиКомпоновкиДанных
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения полей.
Возможно обращение к значению посредством оператора […]. В качестве аргумента передается имя, индекс (нумерация с 0).
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы