Автоматическое преобразование схемы СКД в программный код

12.02.13

Разработка - Инструментарий разработчика

Программное заполнение СКД - это просто )

Скачать файлы

Наименование Файл Версия Размер
Конвертер схемы СКД
.erf 51,66Kb
869
.erf 51,66Kb 869 Скачать

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


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

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

Примечание - при модификации своего отчета(например группировок) нужно не забывать очищать замещаемые параметры, а также учитывать связанные с ними параметры. В формируемом коде очистка автоматом не ставится.

Также конечно интересно - насколько корректен полученный код - для этого в отчете предусмотрены функции сохранения в файл компоновки и сравнения программно-формируемой и исходной.
Сравнение происходит по файлам XML .
Выгруженную схему можно загрузить в свой отчет и проверить "вживую".
При сравнении возможно сообщения несоответствия, связанные с тем, что строковые параметры 1С иногда хранит в своем формате -  на функциональности это не сказывается. В любом случае, при наличии таких сообщений нужно откорректировать код вручную.
Код минимизирован - параметры, которые будут сформированы автоматически идентично схеме - не заполняются.
Пользовательские идентификаторы оставлены для возможности сравнения.
 
Ошибки отлавливаю - и они будут исправлены в будущих версиях, если отчет будет востребован.
Спасибо всем, кто не поленился дочитать этот текст )

См. также

SALE! 20%

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

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122167    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7293    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3539    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177751    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23602    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. maxis33 45 12.02.13 10:13 Сейчас в теме
Интересная разработка, попробую на досуге!
2. mxm2 1263 12.02.13 14:58 Сейчас в теме
плюс за идею.
belas; lmm; semario; +3 Ответить
3. Yashazz 4709 12.02.13 21:25 Сейчас в теме
Мощно. Идея лежала на поверхности, но её надо было воплотить.
Единственно, интерфейс бы дорихтовать - "Группа отбор" это так и задумано, или не поменян заголовок?
4. kiruha 388 12.02.13 21:26 Сейчас в теме
Да ляп,спасибо - поправлю.
5. semario 10 13.02.13 06:17 Сейчас в теме
+1 за идею и реализацию... а то в "кишках" копаться иногда ой как неохота)
6. sanches 256 13.02.13 06:58 Сейчас в теме
Спасибо, интересно. Обработка только для управляемых форм?
8. kiruha 388 13.02.13 11:20 Сейчас в теме
(6) sanches,

Да, для управляемых - но добавить обычную не проблема - если кому тонужно
33. AlexO 135 15.03.13 10:57 Сейчас в теме
(8)
Да, для управляемых

(20) wowik,
На 8.2.13 не работает.

(21)
на предыудищих релизах может не работать, если в платформе были изменения в компоновке

- хоть стой, хоть падай. Привет от 1с.
7. 0vrcr 57 13.02.13 09:45 Сейчас в теме
На скринах не увидел (портянку с кодом не изучал) формирует ли она сам процессор компоновки. Формирует? :) Определение внешних источников данных?
9. kiruha 388 13.02.13 11:24 Сейчас в теме
(7) 0vrcr,

Нет, она формирует программно только схему компоновки
Дальше я же не знаю что захочет сделать с ней программист
В режиме отбора надо самостоятельно вставить кусок кода куда нужно - т.е. получить схему, очистить например группировки,
потом скопировать и отредактировать код, далее отправить по назначению.
32. AlexO 135 15.03.13 10:00 Сейчас в теме
(9)
Нет, она формирует программно только схему компоновки

Т.е. "иммитирует" программное создание Отбора, Настроек, Добавление полей, Параметры, Запрос и все?
Т.е. основного кода принципа создания и "контроля" за СКД - не формирует?
(13) SeiOkami,
Чтобы обработка создала файл отчета на основе готового на СКД

Какого "готового" СКД? Здесь нет создания самого отчета, его обработки и вывода. Только - схема.
(3) Yashazz,
Мощно. Идея лежала на поверхности, но её надо было воплотить.

Если мощно - то надо написать, что не сам СКД делает программно, а схему настроек.
(22) integragirl,
хоть увидеть все кишки скд-шки можно

нет, не можно. Это не тот конвертер.
(24) revril,
станет более понятнее механизм СКД!

более понятным не станет.
Применение обработки - поменять/добавить параметры и подобное (при том, что еще нужно знать, в какое место этот код добавлять, и где). Но не "сделать отчет на СКД".
10. Arvend 23 13.02.13 11:40 Сейчас в теме
Спасибо, сильная вещь.
kuzyara; alekseineputin; +2 Ответить
11. Pechenuych_ka 13.02.13 17:55 Сейчас в теме
12. DoctorRoza 13.02.13 19:12 Сейчас в теме
Поддерживаю, нужная вещица! :)
13. SeiOkami 3423 13.02.13 21:37 Сейчас в теме
Плюс!
Автор, можно реализовать своего рода "конвертёр" отчетов. Чтобы обработка создала файл отчета на основе готового на СКД (ну или просто на основе СКД) и туда прописала этот код. Это так, идея такая в голову пришла)
15. kiruha 388 13.02.13 22:21 Сейчас в теме
(13) SeiOkami,
да, интересно, надо обмозговать как это сделать получше...
Все таки отчет не только схема
23. Yran 20.02.13 19:11 Сейчас в теме
(15)
Плюс однозначно, а если еще реализует "конвертёр" (13)SeiOkami тогда 5 плюсов.
14. Rebel2007 13.02.13 21:49 Сейчас в теме
Попробую протестить на досуге.
За идею плюс (+)!
16. Матрос 14.02.13 04:39 Сейчас в теме
"Плюс".
Спасибо все кто не поленился дочитать этот текст )

Не поленился.
17. masik85 21 14.02.13 09:29 Сейчас в теме
офигеть +, одно дело мысль, другое дело -реализовать, просто преклоняюсь...
18. psih12 132 14.02.13 10:11 Сейчас в теме
А для обычных форм можете выложить?
19. amadeus2011 18.02.13 10:21 Сейчас в теме
спасибо автору за интересную разработку, очень помогает при разработке отчетов
20. wowik 885 18.02.13 16:42 Сейчас в теме
21. kiruha 388 19.02.13 22:57 Сейчас в теме
(20)
8.2.17
на предыудищих релизах может не работать, если в платформе были изменения в компоновке
22. integragirl 20.02.13 15:23 Сейчас в теме
Респект автору! Очень полезная вещь, хоть увидеть все кишки скд-шки можно.
24. revril 21.02.13 15:26 Сейчас в теме
Начала изучать СКД. Долго получилась с программной установкой отбора! Думаю с помощью вашей разработки станет более понятнее механизм СКД! Спасибо!
25. Al-X 22.02.13 15:33 Сейчас в теме
+ !!! Мне эта обработка точно пригодиться !!! ;)
34. AlexO 135 15.03.13 10:58 Сейчас в теме
(25) Al-X,
Мне эта обработка точно пригодиться !

судя по аватаре - нет, не пригодится.
Уже ничего не поможет.
26. zba 48 24.02.13 17:06 Сейчас в теме
27. Alister 9 24.02.13 17:10 Сейчас в теме
для обычных форм можете выложить?

Присоединяюсь к просьбе.
28. amiralnar 9 09.03.13 17:33 Сейчас в теме
Крута! Спасибо, пригодилась!
29. sheff161 2 10.03.13 19:02 Сейчас в теме
выложите для обычных форм
35. AlexO 135 15.03.13 10:59 Сейчас в теме
(29) mi4asib,
выложите для обычных форм

на самом деле, kiruha, доделайте уж страждущим. Пусть радуются :)
30. oberonm 9 11.03.13 11:33 Сейчас в теме
31. ivanov660 4330 12.03.13 11:48 Сейчас в теме
Интересная идея. Будет время попробую поискать с практической точки зрения, вроде и задачка похожая есть.
36. kiruha 388 16.03.13 12:25 Сейчас в теме
Так она же для разработчиков - запустил режим управляемого приложения - переконвертировал и все.
Минимум усилий
37. lamelioss 143 25.06.13 18:01 Сейчас в теме
Мощная штуковина =)) автору большое спасибо! )))
38. lamelioss 143 25.06.13 18:02 Сейчас в теме
если будут обновления под нее - вообще шоколад, а то галки по скд искать всесто привычного кода - это сатанизм =))
39. vasiliy_b 284 26.06.13 08:30 Сейчас в теме
Не работает, в клиент серверном варианте.
Файл(отчет), нужно передавать на сервер через временное хранилище.
40. kiruha 388 02.07.13 18:00 Сейчас в теме
(39)
Ок, спасибо - поправлю как только с работой разгребусь
41. kruglay 110 19.07.13 13:56 Сейчас в теме
ТОже плюсану!!!Много работы проделано
42. chmv 24.07.13 15:14 Сейчас в теме
43. ixijixi 1775 07.08.13 16:34 Сейчас в теме
(0) Обычные формы, плизззз! Заранее плюс и спасибо!
44. alex_sear 08.08.13 05:36 Сейчас в теме
За работу жирный плюс, думаю некоторые вещи можно допилить =)
Вопрос автору, разработка данной обработки будет продолжаться?
45. Sabfir 14.08.13 13:27 Сейчас в теме
Классная штука.
Попробовал - очень полезно, не надо вспоминать что да как делается.
Еще бы код вставить который формирует программно отчет.
46. пользователь 14.08.13 17:48
Сообщение было скрыто модератором.
...
47. GreenFox 16.08.13 13:48 Сейчас в теме
Да обычных форм не хватает, а код который формирует программно отчет можно и самому написать и в себе в шаблонах сохранить. Автор - молодец.
48. dyak84 19.08.13 15:54 Сейчас в теме
Автор ваша работа вещь знатная слов нет. Только есть к вам небольшая прозьба все ето дело виложить для обычных форм. Буду очень и очень признательным. Зарание спасибо
49. mixa_gr 54 05.09.13 11:07 Сейчас в теме
Заметил, что при использовании нескольких групп полей в исходном отчете получается не несколько групп на одном уровне, а группы вложенные одна в другую. Хотя вряд ли кто будет так программно выводить. Как правило достаточно получить результирующую табличку. Отличная разработка. Неплохо бы добавить НЕ управляемую форму.
50. andpyxa 07.09.13 14:59 Сейчас в теме
Хорошая обработка, но ... хотел добавить обычную форму, открываю управляемую и вижу, что ВыполнитьПреобразованиеСервер() для преобразование вызывает вот такой вот хлам:

Функция bf8ca7868f0b46ca8e0aff9842ca2f2e
(a4bc2cc3040f4a127185588664e56,b3c8d32b68439b8ceb9de3cc700a94,af5874c967904edb82d0ebdf07778a4a,e7f008e4c48e6a042534817346cbc,da9c9c8b78411f9975155bdaac975c,aac765476383f42f6f21678844,d5e02ed4aa386614f3035c50060,bda8d53b5c464b38ade2958a60674b0e,ea312c14e25a862559cbcd8af79,b892134c74215a0dbae7dd491ebd8,df79010b;
...
... и так далее.
Просьба заменить на адекватный текст, нам тут шифроваться не от кого !
51. Светлый ум 406 20.09.13 10:00 Сейчас в теме
Ковертирует только основной макет, а если у меня составной отчет из 8 схем - то не видит.
52. Светлый ум 406 20.09.13 10:03 Сейчас в теме
dyak84, Если управляемую обработку (отчет) поместить в дерево конфигурации - то её можно будет открыть в обычном режиме (псевдоуправляемый).
53. andpyxa 10.10.13 13:43 Сейчас в теме
Вместо обычных форм можно использовать толстый клиент, или сделать обычную форму самому примерно за час.
54. ЧИА 169 13.04.14 21:05 Сейчас в теме
Скачал, хотел посмотреть, как генерятся программно пользовательские поля.
ПользовательскоеПолеВыражениеКомпоновкиДанных
К сожалению, заголовки выбрало, а формулы - нет
55. васисубатор 67 14.05.14 22:01 Сейчас в теме
По описанию вещь полезная, жаль посмотреть нет денег
56. kiruha 388 15.05.14 10:12 Сейчас в теме
Новые публикации невозможно сделать "без смартмани" - это к админам сайта
Также сейчас нет времени на поддержку - на днях выложу с открытым кодом , чтобы править могли все кто пожелает
57. pumbaE 13.06.14 13:09 Сейчас в теме
(56) а можно по просить "на днях" поскорей, хоть сырой вариант?
58. stas1kbob 59 10.07.14 12:44 Сейчас в теме
выглядит круто, не пробовал
59. andpyxa 25.10.14 22:33 Сейчас в теме
ест уже вариант для загрузки без обсфукации, или пока ещё ждём ?
60. Voffffka 29 14.07.15 15:15 Сейчас в теме
Нужная вещь, то что искал! Только вот ошибочки бы поправить или код открыть,)
61. vpaoli 26 06.11.19 17:06 Сейчас в теме
Хотел посмотреть, что там ...
но получаю ошибку

Каталог не обнаружен 'C:\Users\Иванов\Documents\_БухКОРП\Отчеты\ОтчетОДвиженииТМЦ_БП­Корп.erf'
{ВнешнийОтчет.КонверторСхемыСКД.Форма.ФормаОтчета.Форма(128)}: ОбъектОтчет=ВнешниеОтчеты.Создать(ПутьКФайлуКомпоновки);
{ВнешнийОтчет.КонверторСхемыСКД.Форма.ФормаОтчета.Форма(150)}: ЗаполнитьМакеты();

по причине:
Ошибка подключения внешних метаданных
по причине:
Каталог не обнаружен 'C:\Users\Иванов\Documents\_БухКОРП\Отчеты\ОтчетОДвиженииТМЦ_БП­Корп.erf'
63. SeiOkami 3423 06.11.19 18:01 Сейчас в теме
(61) скорее всего открываете с каталога, который недоступен на сервере. На серверных базах лучше всегда открывать инструменты с общедоступного каталога.
65. vpaoli 26 07.11.19 15:23 Сейчас в теме
(63) Спасибо. Вы оказались правы. В БД на моем компьютере все открылось без проблем. Автору респект!
62. vpaoli 26 06.11.19 17:11 Сейчас в теме
Я так тоже хочу стартмани зарабатывать , "чтобы править могли все кто пожелает" ... )))
64. kiruha 388 06.11.19 19:04 Сейчас в теме
(62)
Это уже устаревшая разработка - уже не поддерживается.

Скачал у вас также обработку за 1см
Оставьте свое сообщение