Посты с тэгами "Отборы"

Курс по СКД для начинающих и не только…

Отзывов (12)FavoriteLoadingВ закладки

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

С уважением, Дмитрий Салихов.

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

Итак, кому интересно что внутри – жмем далее.

Были времена, сидел без работы, разработал курс по СКД, думал преподавать его в онлайн-режмие через инет. Сейчас времени не стало, преподавать его возможности нет. Увидел ваш проект, думаю, вам может это пригодиться С уважением, Дмитрий Салихов. В данном курсе присутствует как теоретическая, так и практическая сторона основ (и не только их) работы с компоновкой. По сути, в небольшом методическом пособии Дмитрия, собрано почти все, с чем сталкиваются программисты при использовании СКД. Итак, кому интересно что внутри – жмем далее. Что представляет из себя курс? Курс состоит из методического пособия в формате pdf на 63 листах. Главы пособия оформлены подобно статьям на данном ресурсе. Т.е. теореитеческая часть, подкрепленная скриншотами. Также к курсу прилагается выгрузка тестовой базы (формат .dt) и внешние отчеты, примеры которых рассмотрены в методическом пособии. Какие вопросы рассмотрены в курсе? Как я уже говорил, в курсе рассмотрено все то, что обязан знать программист, использующий СКД. Рассмотрены примеры от простого отчета без программирования, до программной работы с расшифровкой и т.д. Содержание: Шаг первый. Простой отчет без кодирования; Немного теории. Устройство системы компоновки данных; Шаг второй. Работа с параметрами и отборами; Шаг третий. Работа с различными наборами данных. Внешние наборы данных; Шаг четвертый. Макеты компоновки данных. Создание собственных макетов; Шаг пятый. Использование характеристик. Условное оформление. Вычисляемые поля; Шаг шестой. Расшифровка Скачать Забираем все одним архивом здесь(1.8 Мб)....

Далее

Использование СКД для хранения настроек (8.2)

Отзывов (3)FavoriteLoadingВ закладки

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

Скачать

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

Далее

Примеры отчетов на СКД

Отзывов (4)FavoriteLoadingВ закладки

О разработке

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

В данной публикации приведены следующие примеры отчетов на СКД:

1. Сортировка одного поля по другому (без вывода этого доп. поля)

2. СКД в обработке:
Пример ручного формирования отчета во внешней обработке (для возможности подключения как печ. форму)

3. СКД (Только отбор):
Использование отбора СКД при ручном формировании отчета

4. Защита СКД:
Схема храниться в макете в виде zip архива с паролем

5. Остатки и таблица значений:
Использование ролей полей для получения отчета по остакам с разворотом по дополнительным периодам

6. По всем контрагентам:
Дополнение отчета всеми контрагентами (через объединение наборов)

7. Вложенные схемы

8. Объединение наборов данных:
Вычисление разных ресурсов на разных уровнях

9. Два отчета в 1 схеме

10. Две схемы в одном отчете

11. Остатки и движения по вертикали
Дополнение движений строками: “Остатки на []”

12. Модуль “ПроцедурыРаботыСКомпоновкой”:

ПолучитьПараметрОтчета()
УстановитьПараметрОтчета()
НайтиГруппировку()
ОтборПоНепустым()
УстановитьПользовательскоеПолеИнтервал()

13. Подсистема “Шаблон типового отчета”:
Формы, модули, справочники и т.д. из БП 1.6.13 необходимые для работы
отчета “Шаблон типового отчета”

О разработке Отличный набор примеров по работе с СКД. В первые был опубликован здесь. В данной публикации приведены следующие примеры отчетов на СКД: 1. Сортировка одного поля по другому (без вывода этого доп. поля) 2. СКД в обработке: Пример ручного формирования отчета во внешней обработке (для возможности подключения как печ. форму) 3. СКД (Только отбор): Использование отбора СКД при ручном формировании отчета 4. Защита СКД: Схема храниться в макете в виде zip архива с паролем 5. Остатки и таблица значений: Использование ролей полей для получения отчета по остакам с разворотом по дополнительным периодам 6. По всем контрагентам: Дополнение отчета всеми контрагентами (через объединение наборов) 7. Вложенные схемы 8. Объединение наборов данных: Вычисление разных ресурсов на разных уровнях 9. Два отчета в 1 схеме 10. Две схемы в одном отчете 11. Остатки и движения по вертикали Дополнение движений строками: “Остатки на []” 12. Модуль “ПроцедурыРаботыСКомпоновкой”: ПолучитьПараметрОтчета() УстановитьПараметрОтчета() НайтиГруппировку() ОтборПоНепустым() УстановитьПользовательскоеПолеИнтервал() 13. Подсистема “Шаблон типового отчета”: Формы, модули, справочники и т.д. из БП 1.6.13 необходимые для работы отчета “Шаблон типового отчета” Скриншоты Скачать все файлы одним архивом...

Далее

Как изменить отбор программно

Ваш отзывFavoriteLoadingВ закладки

Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция:

КомпоновщикНастроек.Настройки.Отбор.Элементы

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

Приведу пример универсальной функции для изменения отбор компоновки данных:

Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция: КомпоновщикНастроек.Настройки.Отбор.Элементы в отличие от аналогичной коллекции параметров, не имеет метода Найти(). Можно конечно изменять отбор “в лоб”, т.е. по индексу, но это не есть хорошо. Самый оптимальный вариант, обходить все поля отбора в цикле. Приведу пример универсальной функции для изменения отбор компоновки данных: //Ищет отбор в компоновщике настроек по параметрам, заданным через //"СоответствиеПоискаОтбора", и заменяет //на отбор с параметрами, указанными в "СоответствиеНовогоОтбора" Процедура ИзменитьОтбор(ЭлементСтруктуры, СоответствиеПоискаОтбора = Неопределено, СоответствиеНовогоОтбора) Экспорт Если ТипЗнч(ЭлементСтруктуры) = Тип("КомпоновщикНастроекКомпоновкиДанных")  Тогда Отбор = ЭлементСтруктуры.Настройки.Отбор; Иначе Отбор = ЭлементСтруктуры; КонецЕсли; Если ТипЗнч(СоответствиеНовогоОтбора["ЛевоеЗначение"]) = Тип("Строка") Тогда нПоле = Новый ПолеКомпоновкиДанных(СоответствиеНовогоОтбора.ЛевоеЗначение); Иначе нПоле = СоответствиеНовогоОтбора["ЛевоеЗначение"]; КонецЕсли; Если СоответствиеНовогоОтбора.Получить("ВидСравнения") = Неопределено Тогда нВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Иначе нВидСравнения = СоответствиеНовогоОтбора["ВидСравнения"]; КонецЕсли; Если СоответствиеНовогоОтбора.Получить("Использование") = Неопределено Тогда нИспользование = Истина; Иначе нИспользование = СоответствиеНовогоОтбора["Использование"]; КонецЕсли; нЗначение = СоответствиеНовогоОтбора["Значение"]; ТолькоПоЛевомуЗначению = Ложь; Если СоответствиеПоискаОтбора = Неопределено Тогда ТолькоПоЛевомуЗначению = Истина; КонецЕсли; сЛевоеЗначение = СоответствиеПоискаОтбора.Получить("ЛевоеЗначение"); Если сЛевоеЗначение = Неопределено Тогда сЛевоеЗначение = нПоле; КонецЕсли; сВидСравнения = СоответствиеПоискаОтбора.Получить("ВидСравнения"); Если ВидСравнения = Неопределено Тогда сВидСравнения = ВидСравнения; КонецЕсли; сИспользование = СоответствиеПоискаОтбора.Получить("Использование"); Если сИспользование = Неопределено Тогда сИспользование = нИспользование; КонецЕсли; Для каждого ЭлементОтбора Из Отбор.Элементы Цикл Если ТолькоПоЛевомуЗначению Тогда НайденныйОтбор = ЭлементОтбора; Прервать; Иначе Если (ЭлементОтбора.ЛевоеЗначение = сЛевоеЗначение) И (ЭлементОтбора.ВидСравнения = сВидСравнения) И (ЭлементОтбора.Использование = сИспользование) Тогда НайденныйОтбор = ЭлементОтбора; Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Если НайденныйОтбор <> Неопределено Тогда НайденныйОтбор.ЛевоеЗначение = нПоле; НайденныйОтбор.Использование = нИспользование; НайденныйОтбор.ВидСравнения = нВидСравнения; НайденныйОтбор.ПравоеЗначение = нЗначение; КонецЕсли; КонецПроцедуры Пример вызова процедуры: СоответствиеПоискаОтбора = Новый Соответствие; СоответствиеПоискаОтбора.Вставить("ЛевоеЗначение",Новый ПолеКомпоновкиДанных("Наименование")); СоответствиеПоискаОтбора.Вставить("ВидСравнения",ВидСравненияКомпоновкиДанных.Содержит); СоответствиеПоискаОтбора.Вставить("Использование",Истина); СоответствиеНовогоОтбора = Новый Соответствие; СоответствиеНовогоОтбора.Вставить("ЛевоеЗначение",Новый ПолеКомпоновкиДанных("Наименование")); СоответствиеНовогоОтбора.Вставить("ВидСравнения",ВидСравненияКомпоновкиДанных.Содержит); СоответствиеНовогоОтбора.Вставить("Использование",Истина); СоответствиеНовогоОтбора.Вставить("Значение","бла-бла-бла"); ИзменитьОтбор(КомпоновщикНастроек,СоответствиеПоискаОтбора,СоответствиеНовогоОтбора);...

Далее

Как добавить отбор программно

Отзывов (4)FavoriteLoadingВ закладки

НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.
                     Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

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

НовыйЭлементОтбора.ЛевоеЗначение  = ПолеОтбора;
НовыйЭлементОтбора.Использование  = Истина;
НовыйЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = Значение;

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

Далее

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.