Версия для печати темы (https://pro1c.org.ua/index.php?s=6cb9583024ec7b30d6bbb41aa94aa898&showtopic=5538)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Отчеты / Обработки _ Конструктор выражений для СКД 8.2

Автор: Batchir 05.12.11, 13:01

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

Конструктор выражений для СКД

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

"
ВЫБОР  

   КОГДА &Периодичность = 6 ТОГДА Формат(Период, "ДФ=dd.MM.yy")  

   КОГДА &Периодичность = 7 ТОГДА Формат(НачалоПериода(Период, "Неделя"), "ДФ=dd.MM.yy")  + " - " + Формат(КонецПериода(Период, "Неделя"), "ДФ=dd.MM.yy")

   КОГДА &Периодичность = 8 ТОГДА Формат(НачалоПериода(Период, "Декада"), "ДФ=dd.MM.yy")  + " - " + Формат(КонецПериода(Период, "Декада"), "ДФ=dd.MM.yy")

   КОГДА &Периодичность = 9 ТОГДА Формат(Период, "ДФ = 'MMMM yy'")

   КОГДА &Периодичность = 10 ТОГДА Формат(Период, "ДФ='к ""кв."" yyyy'")

   КОГДА &Периодичность = 11 ТОГДА

      ВЫБОР

         КОГДА Квартал(Период) < 2 ТОГДА Формат(Период, "ДФ = '""1 полугодие"" yy'")

         ИНАЧЕ Формат(Период, "ДФ = '""2 полугодие"" yy'")

      КОНЕЦ

   КОГДА &Периодичность = 12 ТОГДА Формат(Период, "ДФ = 'yyyy'")

КОНЕЦ
"

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

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

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



Чтобы воспользоваться Конструктором, нужно:

а) выгрузить схему компоновки данных, для которой нужно построить выражения, в xml-файл (стандартная операция СКД);

б) загрузить этот xml-файл в макет ОСНОВНАЯ_СХЕМА_КОМПОНОВКИ_ДАННЫХ внешнего отчета Конструктор выражений СКД;

в) сохранить отчет Конструктор выражений СКД;

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



После запуска отчета в режиме 1С:Предприятие появляется форма, которая содержит:

а) списки доступных полей загруженной схемы компоновки данных (доступные поля выбора, порядка, а также параметры данных);

б) список конструкций языка СКД;

в) текстовое поле для формирования выражения, в которое можно перетаскивать указанные элементы выражений мышью (drag'n'drop):



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

По нажатию соответствующей кнопки на форме открывается Конструктор форматной строки, в котором можно настроить формат; после его закрытия форматная строка появляется в тексте выражения - в том месте, где стоял текстовый курсор.

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

Если перед нажатием кнопки копирования в буфер обмена некий фрагмент текста был выделен, то в буфер обмена копируется выделенный фрагмент, если выделения не было, то копируется весь текст выражения.

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

Скачать "Конструктор выражений для СКД 8.2" : http://pro1c.org.ua/redirect.php?http://ifolder.ru/27379651
Скачать "Деморолик - пример работы с Конструктором выражений" : http://pro1c.org.ua/redirect.php?http://ifolder.ru/27379652

Скачать с форума:
Скачать "Конструктор выражений для СКД 8.2" :  DCS_ExpressionDesigner.rar ( 30,66 килобайт ) : 292

Скачать "Деморолик - пример работы с Конструктором выражений" :  DemoFilm.rar ( 1,61 мегабайт ) : 192

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua