1с скд ресурсы в середине отчета
8.3. Делаю внешний отчет с макетом в СКД. Нужно вывести итоги по некоторым полям. Все, кроме итогов выводится нормально. Как только не пытался сделать: Через макет с типом "Общий итог . ", группировки в настройках разные делал, с именем тоже.
Кучу уроков нашел по этому вопросу, но так ничего и не сработало. Что делать?
В СКД вывести итоги по количеству физлиц в подразделении
Добрый день, такая проблема, как вывести итоги количества физлиц в подразделении и организации и.
Итоги в СКД
Сделал суммирование столбцов через вкладку Ресурсы в СКД. Подскажите пожалуйста, как убрать слово.
Группировка и Итоги на СКД
Здравствуйте. Отчет на СКД. Строится кросс-таблица. В строках группировки по контрагентам и.
Получить итоги из отчета СКД
Есть отчет в СКД,где формируются автоматически Общие итоги в столбцах(4 столбца).Можно ли выбрать.
GreenkO, другие настройки выставил как там написано, тип макета - подвал. Выводит "итог" под каждой строкой для нее. Это если Расположение общих итогов выставлено на Конец. Иначе вообще ничего. С типом макета Общий итог . просто копируется каждая строка.
duk337, мне бы хоть макет итога вывести.
вода в радиаторе не закипит? Попробуй без макета с вычисляемыми полями. То, что предложила GreenkO, очень полезно и важно, макет позволяет рисовать сложные формы в СКД. А сейчас надо всего лишь найти среднее по итогам.
duk337, в ресурсах у меня по нужным полям и так сумма, так что если выбрать расположение общих итогов по вертикали, то итог-таки выводится по "выбранным полям", но криво и не так, как мне надо.
Ошибка исполнения отчета
по причине:
Ошибка в выражении "(Сумма((Сумма(ВсегоНаГод))))"
по причине:
Использование вложенных агрегатных функций не допускается
duk337, Объясните словами пожалуйста, зачем в моем отчете, где не считается никакая скидка, нет цен, прайсов и уценок, а ресурс, которому нужно вывести итог и так имеет выражение "Сумма()" вычислять какую-то скидку?
Добавлено через 44 минуты
Разобрался сам. Для вывода итогов:
1. Убираем все итоги в настройках;
2. Убеждаемся, что у всех нужных итогов нужные выражения;
3. В настройках добавляем группировку по нужному полю (или без поля - дет. записи), задаем имя;
4. Добавляем макет заголовка с соответствующим именем (или полем);
5. Профит.
Загвоздка была в том, что группировка у меня была по 2 полям таблицы и когда я пытался вывести для нее итоги, они выводились для каждой строки. И с группировкой только по нужному полю выведется нужная сумма. И еще: не вкладывать одну группировку в другую при работе с макетами.
GreenkO, проблема-то в другом была. Ну а в принципе там правильно написано. Этот пример лучше подойдет когда только одна область заменяется.
Еще проблемка появилась - зазор, лишняя пустая строка между таблицей и итогом. Как ее убрать?
Я бы сделал как тут, но у меня нет такого удобного слова для поиска.
Как настроить схему компоновки данных в 1С 8, чтобы колонки ресурсов не выводились последними, после колонок измерений.
Кому подойдет информация: Программист 1С
Пожалуй, наиболее популярный вопрос, который возникает у программистов 1С при работе со схемой компоновки данных.
Когда создается отчет на СКД, то, пока не определены ресурсы, показатели будут выводиться в той последовательности, которая определена на вкладке "Выбранные поля" вкладки "Настройки".
Нажатие на изображении увеличит его
Рис.1. Пример вывода полей (колонок) отчета на СКД , пока не определены ресурсы.
Если определить, какие из полей будут ресурсами, то колонки ресурсов будут выведены схемой компоновки данных после всех полей. Для определенных задач, не смотря на то, что все же данные в отчете есть, это может оказаться не удобным хотя бы в силу человеческого восприятия. Поэтому один из популярных вопросов, касающихся отчетов, созданных на СКД - "Как СКД вывести ресурсы не в конце?" Наиболее распространенный ответ на этот вопрос заключается в том, чтобы "нарисовать" макет для группировок отчета на вкладке "Макеты" - об этом на примере можно прочитать в книге "Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных" под авторством Е.Ю.Хрусталевой в Главе 5 - "Макеты", где приведены примеры для макетов полей, ресурсов, группировок, заголовков группировок и остального. Но это может оказаться трудоемким процессом, тем более тогда, когда макет определен, а нужно отчет дополнить новыми данными. Сделать то, конечно можно, но время будет израсходовано прилично, чтобы изменять макет, особенно если отчет и макет соответственно сложный.
Нажатие на изображении увеличит его
Рис. 2. Результат вывода полей(колонок) отчета после определения ресурсов.
Но есть одно простое, не идеальное, но доступное решение этой ситуации произвольного вывода колонок ресурсов. На вкладке "Другие настройки" формы схемы компоновки для параметра "Авто позиция ресурсов" выбрать значение "Не использовать". Не идеальность заключается в том, что неплохо работает для группировок, и может совсем плохо себя "повести" для таблицы.
Нажатие на изображении увеличит его
Рис. 3. Настройки схемы компоновки данных для изменения порядка вывода ресурсов.
Тогда порядок следования колонок ресурсов между колонками полей будет соответствовать порядку, установленному на вкладке "Выбранные поля" СКД.
Нажатие на изображении увеличит его
Рис. 4. Колонки ресурсов в отчете выведены между колонками полей СКД.
also Первые шаги Отзывов (24) В закладки
Пример был реализован на платформе 1С 8.2.11.232.
Где она вообще, эта СКД?
Сама СКД – это макет, с типом «Схема компоновки данных». Данный макет присущ отчетам. Новый отчет можно создать в ветке конфигурации отчеты, но мы, для простоты работы и отладки, будем работать с внешним отчетом.
Кстати! Разница между внешней обработкой и внешним отчетом как раз в наличии у отчета «Основной схемы компоновки данных» и «Основной формы настроек».
Отчет
Наша задача с помощью СКД, построить простой отчет по продажам с возможностью группировки по контрагентам. Отчет будем строить в демо-базе УПП.
Начнем…
Создадим новый внешний отчет (Файлà–>Новый–>Внешний отчет):
Рис.1 Форма нового отчета
По кнопке «Открыть основную схему компоновки данных» создадим новую схему. После создания, убедимся, что создан макет:
Рис.2 Основная схема компоновки данных располагается в ветке макеты
Итак, мы находимся в «Конструкторе схемы компоновки данных». Пока мы здесь видим много непонятных вкладок. Помним, что пример у нас самый простой, поэтому попробуем провести минимум действий, чтобы вывести простенький отчет. Для нашего примера, мы вкратце пробежим лишь по трем вкладкам: «Наборы данных», «Ресурсы» и «Настройки».
Наборы данных
Создадим новый набор данных – запрос. В данном примере, мы будем использовать всего один набор данных, и его название по сути ничего не значит, однако я призываю Вас делать, как и я, и давать набору данных осмысленное название. Хуже не будет :). Назовем его «Продажи»:
Рис. 3 Вкладка "Наборы данных"
Теперь необходимо создать запрос. Используем «Конструктор запроса»:
Рис.4 Кнопка "Конструктор запроса"
На закладке «Таблицы и поля» конструктора запроса выберем регистр накопления «Продажи». Из регистра последовательно выберем поля: «Контрагент», «Номенклатура», «Количество» и «Стоимость»:
Рис.5 Конструктор запроса
Нажмем «ОК». Так, как у нас была установлена галка «Автозаполнение», то доступные поля текущего набора данных заполнились автоматически:
Рис.6 Вкладка "Наборы данных" с заполненными полями
О дополнительных настройках полей мы будем говорить позже. Итак, данные для отчета у нас имеются. Попробуем что-нибудь с ними сделать
Ресурсы
«Я что-то слышал про СКД и мне сказали, что там почти всегда необходимо определять ресурсы» – многие из начинающих могут так сказать. А что же это такое? Попробуем разобраться. Для этого сначала выведем отчет без указания ресурсов. Для этого перейдем сразу на вкладку настройки. Для того чтобы вывести данные в отчет без каких либо группировок, нужно все же создать группировку, но ничего не указывать. Таким образом, у нас будут выведены «детальные записи».
Что делаем? На вкладке «Настройки» жмем добавить –>новая группировка (или Ins), и в появившемся окне просто жмем «ОК»:
Рис.7 Создание новой группировки в настройках
Настроим выбранные поля для детальных записей (поле «Контрагент» пока выбирать не будем):
Рис. 8 Настройка группировки (Выбранные поля)
Теперь сохраняем наш внешний отчет, открываем его в предприятии, и формируем:
Рис. 9 Формирование отчета с одной группировкой "Детальные записи"
Уже что-то! Но, согласитесь не то… При формировании отчета, таким образом, получаем данные, которые наверняка не имеют особого смысла. Вот если бы мы знали, сколько всего продали холодильников и на какую стоимость, было бы лучше.
Отчет с одной группировкой
Итак, мы уяснили, что хотим сгруппировать наши данные по номенклатуре. Давайте спросим у СКД, умеет ли она это делать? Умею, конечно, – отвечает СКД. Вы мне только скажите, по каким полям, и по какому выражению вам вывести итоги. Так вот как раз ресурсы и есть – итоговые записи по группировкам.
Отлично, идем на вкладку ресурсы. Добавим в ресурсы «Количество» и «Стоимость». В графе выражения оставим значения по умолчанию, т.е. «Сумма(Поле)»:
Рис.10 Вкладка "Ресурсы"
Так…ресурсы указали, а группировку нет. Добавляем. Идем обратно на вкладку «Настройки» и видим нашу сиротливую группировку «Детальные записи». Отредактируем ее, указав в графе «Поле» группировку «Номенклатура» и нажмем «ОК». Заметим приятные интерфейсные изменения. Значки рядом с полями «Количество» и «Стоимость» превратились из унылых синих палочек в непонятные зеленые цилиндры J.
Сохраняем изменения и формируем отчет:
Рис.11 Отчет с одной группировкой "Номенклатура"
Ну, теперь мы уже видим сгруппированную информацию по продажам. И, обратите внимание, появились общие итоги. Это следствие того, что у нас появилась группировка, и у нее по умолчанию включен вывод общих итогов.
Отчет с группировкой по контрагентам
Немного усложним задачу, и сгруппируем отчет еще и по контрагентам. На вкладке «Настройка» удалим группировку «Номенклатура». Теперь создадим структуру отчета, используя «Конструктор настроек»:
Рис.12 Вызов конструктора настроек компоновки данных
Сначала выберем тип отчета. Нас вполне устраивает «Список». Далее. На следующем этапе необходимо указать поля, которые будут выводиться в отчете. Выбираем все. Далее. Необходимо выбрать группировки. Выбираем и «Контрагент» и «Номенклатура». Далее. Пункт с сортировкой пропускаем и нажимаем «ОК». У нас должна получиться примерно такая структура:
Рассмотрим, как в СКД вывести ресурс только по нужным уровням иерархии.
Имеем отчет с вот такой структурой:
Структура СКД
У нас есть ресурс «Количество», который вычисляется для всей иерархии:
Задача: необходимо выводить «Количество» только в верхнем уровне иерархии. Сейчас получаемый отчет выглядит так (красным выделены поля, которые должны быть пустыми):
Текущий макет
Что нужно сделать?
Все очень просто, хоть и не совсем очевидно.
Заходим в условное оформление нужной нам группировки и добавляем новое условие:
Новое условное оформление
В поле Оформление ставим флажок напротив «текст» и НИЧЕГО не пишем в текст. Таким образом мы говорим СКД, что надо выводить пустое поле. Выглядеть настройка будет вот так:
Пустой текст в оформлении
В условии используем системное поле «УровеньВГруппировке» и ставим «Не равно» «1». Таким образом мы говорим СКД, что наше оформление распространяется на все уровни группировки, кроме первого (соответственно, если вам надо выводить итоги только для первого и второго уровня, то вид сравнения ставите «Не в списке»,а в значение: «1,2»)
В оформляемых полях выбираем наш ресурс:
Оформляемые поля СКД
Все, больше ничего делать не нужно. Сохраняем наш отчет и проверяем результат:
Результат СКД
Готово! Теперь вы знаете, как в СКД вывести ресурс только по нужным уровням иерархии
Система компоновки данных – весьма удобная система создания отчётов без написания программного кода. Однако для того чтобы научиться в ней работать, необходимо иметь хотя бы элементарные представления о встроенных в систему функциях.
Что такое ресурсы и группировки в СКД
При создании отчёта в СКД из набора данных извлекаются записи. Эти детальные записи, которые возвращает сам запрос, обычно представляют собой набор элементов, связанных между собой иерархическими связями. Поэтому, для удобочитаемости отчёта его данные можно сгруппировать. Группировка отчёта в СКД – это операция размещения данных по группам, однородных по какому-либо признаку.
После того, как записи будут сгруппированы, СКД добавляет их в итоговый отчёт. Это такие данные, которых нет в готовом виде в базе, и создаются они только путём обработки детальных записей. Итоговые наборы данных, полученные путём группировки, называют ресурсами СКД.
Настройка ресурсов, группировка и сортировка данных
Чтобы выполнить настройки СКД и наглядно показать процесс группировки, сортировки и выведение итоговых ресурсов, рассмотрим создание внешнего отчёта. Отчёт будет результатом решения задачи, в которой будет рассчитываться расстояние между двумя остановками выбранного маршрута.
Итак, создаём периодический регистр сведений в СКД. Назовём его “Остановки по маршруту”. Добавляем сюда два измерения: Маршрут, Остановка и итоговый ресурс Расстояние. Зададим для них соответствующие типы данных: строковый и числовой. Все изменения сохраняем в новой конфигурации регистра сведений.
Создаём внешний отчёт в СКД. Для этого заходим в Меню, выбираем Файл ? Новый, находим вкладку «Внешний отчёт», даём ему имя «Расстояние между остановками». Далее, жмём кнопку «Открыть схему компоновки данных»:
В появившемся конструкторе СКД находим команду «Добавить набор данных – запрос»:
Чтобы решить поставленную задачу и по результатам её решения построить отчёт, находим в конфигураторе таблицу “ОстановкиПоМаршруту”
Так как наш отчёт рассчитывает расстояние между двумя, выбранными пользователем, остановками, то на вкладке «Наборы данных» формируем запрос. Требуемый запрос будет предоставлять данные в виде таблицы по осям X и Y с использованием полного внешнего соединения таблицы регистра:
ВЫБРАТЬ
ОстановкиПоМаршрутуX.Маршрут КАК Маршрут,
ОстановкиПоМаршрутуX.Остановка КАК ОстановкаX,
ОстановкиПоМаршрутуY.Остановка КАК ОстановкаY,
ОстановкиПоМаршрутуX.Расстояние КАК РасстояниеX,
ОстановкиПоМаршрутуY.Расстояние КАК РасстояниеY,
ВЫБОР
КОГДА ОстановкиПоМаршрутуX.Расстояние – ОстановкиПоМаршрутуY.Расстояние >= 0
ТОГДА ОстановкиПоМаршрутуX.Расстояние – ОстановкиПоМаршрутуY.Расстояние
КОГДА ОстановкиПоМаршрутуX.Расстояние – ОстановкиПоМаршрутуY.Расстояние < 0
ТОГДА ОстановкиПоМаршрутуY.Расстояние – ОстановкиПоМаршрутуX.Расстояние
КОНЕЦ КАК Расстояние
ИЗ
РегистрСведений.ОстановкиПоМаршруту КАК ОстановкиПоМаршрутуX
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОстановкиПоМаршруту КАК ОстановкиПоМаршрутуY
ПО ОстановкиПоМаршрутуX.Маршрут = ОстановкиПоМаршрутуY.Маршрут
Выполняем настройки СКД. Для этого на вкладке «Ресурсы» указываем поля для системы компоновки данных. Из окна со всеми доступными полями таблицы перекидываем поля Расстояние,РасстояниеX и РасстояниеY. Задаём выражения, которые нам необходимо вычислить:
Проводим дальнейшую настройку отчёта СКД. Для этого переходим на вкладку «Настройки», жмём «Открыть конструктор настроек», выделяем тип отчёта «Таблица»:
Далее выбираем поля для отчёта:
Нажав кнопку «Далее», выбираем поля для группировки:
Выбираем поля для сортировки отчёта:
Нажимаем кнопку ОК. Создаём пользовательские настройки, а также указываем, как будут располагаться ресурсы:
Отчёт готов. Если регистр сведений ещё не заполнен, то заходим в Предприятие и заполняем его:
На вкладке Меню выбираем Файл, находим наш сохранённый отчёт, жмём “Сформировать” и видим готовое решение задачи:
СКД позволяет упрощать процедуру создания отчётов с помощью использования настроек СКД. К таким настройкам относятся: создание ресурсов, группировка, сортировка, настройка заголовка в отчёте. Настройки СКД производятся в режиме конфигуратора 1С на вкладке «Настройки» и на вкладке «Ресурсы». Данные операции позволяют привести отчёт к более удобному для чтения виду, а также упростить в нём поиск необходимых записей.
Читайте также: