Заполнение настроек по умолчанию в СКД , а также полное соединение наборов СКД

18.12.12

Разработка - СКД

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отчет Остатки,Продажи,Сток
.erf 22,07Kb
62 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Итак задача передо мной стояла в УПП получить отчет собирающий Остатки +Продажи за разные периоды и соответственно сток(на сколько дней хватит товара на складе при таких продажах).

Все это нужно было предоставить в определенном виде.

Так как рабочие контрагенты (Покупатели) и рабочая номенклатура собраны у нас в определенных папках(группах), то нужно было чтобы отчет открывался с предустановленными фильтрами.

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

Начнем

В начале создадим Схему компоновки данных (определенные тонкости создания опишу позже).

Затем создадим форму . При создании формы обязательно установить флаг Использовать систему компоновки данных.

Затем создав форму разместим на ней табличное поле и в свойстве этого поля Данные укажем –ОтчетОбъект.КомпоновщикНастроек.Отбор. Таким же образом на форме можно создать и ВыборПоля и Указание порядка и Т.Д . Пользуйтесь этим методом для создания удобных форм отчетов.

Затем создал Реквизиты для дат. К изменению реквизита установки текущей даты привязал событие установки Параметров связанных с датами.

При открытии формы так же устанавливаются все необходимые даты относительно текущей.

 

ТекДата=НачалоДня(ВыбранноеЗначение);
Период=ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("Период") );
Период.Значение=КонецДня(ТекДата);
Период.Использование=Истина;
пТекДата=ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("ТекДата") );
пТекДата.Значение=ТекДата;
пТекДата.Использование=Истина;

ДатаМесяц=ОпределитьКалендарнуюДату(ТекДата,-30);
пДатаМесяц=ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("месДата") );
пДатаМесяц.Значение=ДатаМесяц;
ДатаКвартал=ОпределитьКалендарнуюДату(ТекДата,-90);
пДатаКвартал=ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("квДата") );
пДатаКвартал.Значение=ДатаКвартал;
ДатаГод=ОпределитьКалендарнуюДату(ТекДата,-365);
пДатаГод=ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("годДата") );
пДатаГод.Значение=ДатаГод;

 

В событие формы ПриОткрытии() я поместил вызов процедуры из модуля объекта   УстановитьНастройкиПоУмолчанию();

В которой устанавливаются все необходимые настройки Параметров и Отборов.

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

так и для каждой группы отдельно(Рис.2).

Тоже очень полезный прием.

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

ЭлементОтбора=ПолучитьЭлементОтбора(Новый ПолеКомпоновкиДанных("ИмяОтбора"));

Если же нужен отбор который вы назначили на отдельную группу в структуре настроек то к его отбору нужно обращаться как элементу дерева по индексу, где в корне строки называются «Структура».

Пример:

найдфСклад8=Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Склад 8",истина,,);
Если Не(
найдфСклад=Справочники.ЗначенияСвойствОбъектов.ПустаяСсылка()) Тогда
Для каждого
ЭлементОтбора Из КомпоновщикНастроек.Настройки.Структура[0].Колонки[2].Отбор.Элементы Цикл
Если
ЭлементОтбора.ЛевоеЗначение =Новый ПолеКомпоновкиДанных("ФактСклад8") Тогда
ЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение=найдфСклад8;
ЭлементОтбора.Использование=Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;

 

Это означает, что устанавливаем Отбор в первой по счету таблице (Структура[0]) к третьей колонке(Рис.3).

По настройкам схемы СКД .

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

В СКД тоже можно использовать связи наборов данных, но в связях не настроишь полное соединение. К примеру отчет План-Факт . Могут быть товары (мелкие партии) которые не входят в планы, но продаются. Соответственно хорошо бы в отчете увидеть и их. Но если мы присоединяем левым соединением факт к плану, то эти товары мы не увидим. Значит нам нужно полное соединение.

Так вот в схеме СКД для полного соединения можно создать Набор Объединение и уже внутри его создаем соединяемые наборы. Соединятся будет по полям имеющим одинаковое Имя. Ресурсы с одинаковым именем тоже будут складываться.

В принципе это все чем я хотел поделиться. Надеюсь это кому то сократит время на поиски.

Более подробно можно посмотреть в прилагаемом отчете.

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

Если кто-то захочет использовать то поясню структуру.

Есть основной физический склад8 для продаж. Он разделен на два логических Оптовики и Сетевики для того чтобы эти склады объединить я создал свойство Факт_склад которое используется в отчете. Так же есть удаленные склады ОХ, остатки на которых используются для получения итоговых данных по и по стоку относительно годовых продаж. 

 


Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    248853    1381    421    

1137

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5544    299    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    16708    ovetgana    112    

107

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9640    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8920    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15825    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

24.12.2024    13416    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

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

20.08.2024    9946    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikhailovaew 127 17.12.12 12:31 Сейчас в теме
Статья интересная.
Прошу поправить везде по тексту компОновнку (компОновщика и т.п.) - некрасиво делать ошибки в профессиональных терминах.
3. Finder_S 44 18.12.12 17:01 Сейчас в теме
(2) CagoBHuK,
В тех статьях которые выдает yandex по вашей ссылке только часть моей статьи.
Если вы прочитали хотя бы анонс, то увидели бы что я так и написал.
С разных ссылок собрал в одну.
Кроме установки параметров иногда необходимо установить Отбор по умолч.
А еще есть ситуации когда отбор нужен не в главном отчете, а во вложенной структуре настройки схемы.
Будьте пожалуйста внимательны, читая статью.
А уж потом давайте отзыв.
Уважаемый Садовник.
4. CagoBHuK 32 18.12.12 17:51 Сейчас в теме
(3) Отбор по умолчанию позволяет делать сама СКД в своих же настройках. Там даже программировать ничего не нужно. То же самое можно сделать по каждой группировке, если не устраивает общий отбор. Не вводите людей в заблуждение. Пусть они сначала ознакомятся с этим изданием: http://for1c.com/knigi-1c8/platform-1c-80/2--1-8.html
5. Finder_S 44 19.12.12 10:11 Сейчас в теме
(4) CagoBHuK,
Добрый день!
1. Я не пойму цель вашего комментария. Я занял ваше личное простаранство или ресурс? Модераторы infostart.ru эту статью одобрили значит она кому-то пригодится. Хотите читайте - хотите не читайте.
2. В настройках на уровне схемы не всегда можно настроить отбор. А на уровне пользователя - нужно настраивать под каждым пользователем. И не факт что этот пользователь потом эти настройки не собьет.
3. Вы предлагаете людям вместо моей статьи прочитать книгу. Это не совсем рационально.
6. mehalyna 04.01.14 16:22 Сейчас в теме
Статья интересная. Спасибо!
Для отправки сообщения требуется регистрация/авторизация