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

12.02.13

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Конвертер схемы СКД
.erf 51,66Kb
869
869 Скачать (1 SM) Купить за 1 850 руб.

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


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

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

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

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

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159405    872    399    

861

SALE! 15%

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7766    55    22    

66

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23431    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10415    36    21    

61

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15395    35    7    

70

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    187972    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17302    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. maxis33 45 12.02.13 10:13 Сейчас в теме
Интересная разработка, попробую на досуге!
2. mxm2 1268 12.02.13 14:58 Сейчас в теме
плюс за идею.
belas; lmm; semario; +3 Ответить
3. Yashazz 4790 12.02.13 21:25 Сейчас в теме
Мощно. Идея лежала на поверхности, но её надо было воплотить.
Единственно, интерфейс бы дорихтовать - "Группа отбор" это так и задумано, или не поменян заголовок?
4. kiruha 388 12.02.13 21:26 Сейчас в теме
Да ляп,спасибо - поправлю.
5. semario 11 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 3515 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 131 14.02.13 10:11 Сейчас в теме
А для обычных форм можете выложить?
19. amadeus2011 18.02.13 10:21 Сейчас в теме
спасибо автору за интересную разработку, очень помогает при разработке отчетов
20. wowik 890 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 10 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 4577 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 1913 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. Светлый ум 415 20.09.13 10:00 Сейчас в теме
Ковертирует только основной макет, а если у меня составной отчет из 8 схем - то не видит.
52. Светлый ум 415 20.09.13 10:03 Сейчас в теме
dyak84, Если управляемую обработку (отчет) поместить в дерево конфигурации - то её можно будет открыть в обычном режиме (псевдоуправляемый).
53. andpyxa 10.10.13 13:43 Сейчас в теме
Вместо обычных форм можно использовать толстый клиент, или сделать обычную форму самому примерно за час.
54. ЧИА 169 13.04.14 21:05 Сейчас в теме
Скачал, хотел посмотреть, как генерятся программно пользовательские поля.
ПользовательскоеПолеВыражениеКомпоновкиДанных
К сожалению, заголовки выбрало, а формулы - нет
55. васисубатор 68 14.05.14 22:01 Сейчас в теме
По описанию вещь полезная, жаль посмотреть нет денег
56. kiruha 388 15.05.14 10:12 Сейчас в теме
Новые публикации невозможно сделать "без смартмани" - это к админам сайта
Также сейчас нет времени на поддержку - на днях выложу с открытым кодом , чтобы править могли все кто пожелает
57. pumbaE 13.06.14 13:09 Сейчас в теме
(56) а можно по просить "на днях" поскорей, хоть сырой вариант?
58. stas1kbob 60 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 3515 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см
Оставьте свое сообщение