Помощник создания внешних печатных форм

Опубликовал Виталий Черненко (SeiOkami) в раздел Программирование - Инструментарий

Простенькая обработка генерирует набросок кода модуля объекта внешней печатной формы. Прописывает переменные, соответствующие реквизитам выбранного типа документа и присваивает им значение "СсылкаНаОбъект.[ИмяРеквизита]".

   Простенькая обработка генерирует набросок кода модуля объекта внешней печатной формы. Прописывает переменные, соответствующие реквизитам выбранного типа документа и присваивает им значение "СсылкаНаОбъект.[ИмяРеквизита]".

   Полученный текст можно скопировать в буфер, либо сохранить как текстовик.

P.S.: Обработка простая, но не бесполезная. Мне пригодилась. Может кому-то тоже поможет)
P.S.2: Это моя первая обработка, тем более публикация на инфостарте. Просьба не тратить слишком много помидоров)

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

Наименование Файл Версия Размер
Обработка
.epf 7,95Kb
22.07.12
110
.epf 7,95Kb 110 Скачать

См. также

Комментарии
1. Михаил Ражиков (tango) 466 24.07.12 10:39 Сейчас в теме
+: когда встроенную фичу вытаскиваешь вовне, надо переопределить ссылки на реквизиты, предложенная шняга немножко здесь автоматизирует, респект
2. Андрей Вахрин (dolter) 116 27.07.12 08:56 Сейчас в теме
если уж так, то сделай структуру с реквизитами и заполняй запросом )
и красивше и быстрее ))
3. Виталий Черненко (SeiOkami) 575 27.07.12 09:26 Сейчас в теме
(2) dolter, ну не быстрее точно)
а может ли внешняя обработка создавать и сохранять внешнюю обработку?
4. Сергей Сергеев (SERJ_1CC) 45 27.07.12 10:08 Сейчас в теме
Хорошая мысль, думаю можно развить ее дальше...
5. Виталий Черненко (SeiOkami) 575 27.07.12 11:17 Сейчас в теме
(4) SERJ_1CC, Да, у меня уже есть идея как)
6. Дмитрий Глеков (glek) 111 04.10.12 12:16 Сейчас в теме
ей богу, наверное это все таки не ЕРТ
7. Алекс Ю (AlexO) 114 04.10.12 12:33 Сейчас в теме
Идея, лежащая на поверхности, но редко у кого хватает усидчивости её доделать вместо копи-паста из нужного места :)
А вообще, 1С с её тупым и уникальным на каждый объект кодом обработки давно пора сделать вот такой помощник ввода типовых конструкций - все равно это нагромождение "нужных" инструкций в 80% случаев есть копи-паст от одной до бесконечности строк...
8. Алекс Ю (AlexO) 114 04.10.12 12:37 Сейчас в теме
(3) SeiOkami,
только на диске если создавать её готовым файлом-копией уже существующей обработки и обращаться к ней как к временно созданному объекту... отсюда тормознутость и малоприменимость... а код и обработку событий объектов в 1С нельзя создать в принципе вне конфигуратора - здесь нет ООП.
(0)
Обработка простая, но не бесполезная.

Да, полностью согласен, одна из немногих подобных среди горы мусора и тысяч воинственных неучей от 1С на ис в последнее время... :(
9. Виталий Черненко (SeiOkami) 575 04.10.12 12:44 Сейчас в теме
(8) AlexO, я ничего не копипастил, просто пришла в голову идея - сделал обработку.
Можно в обработку поместить пустую шаблон-обработку с макетом "Параметры_Авторегистрации", реквизитом СсылкаНаОбъект составного типа, чтобы потом сохранять её. Но вот как изменить в ней модуль программно я не нашел. Неужели нет никаких способов?

А обработка эта уже не раз меня выручала ) хотя чуть еще доделать надо
10. Виталий Черненко (SeiOkami) 575 04.10.12 12:46 Сейчас в теме
(8) AlexO, я, можно сказать, неуч сам. 1С занимаюсь третий месяц, поэтому многого не знаю =)
11. Алекс Ю (AlexO) 114 04.10.12 12:48 Сейчас в теме
(9) SeiOkami,
Но вот как изменить в ней модуль программно я не нашел. Неужели нет никаких способов?

в 1С - нет, это не ООП.
Можно только в определенном месте задать инструкцию "Выполнить" и подсунуть кусок произвольного кода на выполнение.
Сами модули править программно нельзя.
12. Алекс Ю (AlexO) 114 04.10.12 12:52 Сейчас в теме
(10) SeiOkami,
я, можно сказать, неуч сам

воинствующие неучи появляются не от тяги к знаниям с позиции новичков, а от всеобщей деградации интеллектуального уровня в стране.
Плюс перевод всего и вся в плоскость денег.
13. Виталий Черненко (SeiOkami) 575 04.10.12 12:52 Сейчас в теме
(11) AlexO, ок, а можно ли программно вытянуть текст процедуры/функции из модуля документа?
14. Алекс Ю (AlexO) 114 04.10.12 12:59 Сейчас в теме
(13) SeiOkami,
нет, нельзя.
Это не ООП, где можно текст выгрузить, проанализировать, и снова загрузить обратно как текст :)
В 8.3 1С обещает загрузку-выгрузку конфигураций в XML, и студенты уже воем воют, как здорово будет править конфигурации в XML.
Но, думаю, там будет просто выгрузка навроде архива, без контроля и разрешения на изменение.
Ведь даже вопрос с поверхности - как проконтролировать синтаксис такой XML, ведь надо её развернуть в среде 1С и там уже сравнивать и смотреть по объектам и правильность использования синтаксиса (что и делает конфигуратор-платформа сейчас), - сразу ставит крест на возможности правки конфигураций в текстовом виде.
А ведь есть еще вопрос совместимости правок с исполнением кода... с предыдущим кодом.. т.е. нужен полноценный Конфигуратор на XML - вы думаете, 1С такое по плечу? :)
Даже если такая мысль и появится в голове разработчиков платформы, она будет в корне пресечена.
15. Евгений Сосна (pumbaE) 521 04.10.12 13:00 Сейчас в теме
(13) SeiOkami, v8unpack - пример V8Reader (с расширенным анализом форм) Upd.

Еще пример в ниверсальная консоль отчетов там на основании схемы компоновки данных формируется готовая обработка.
16. Алекс Ю (AlexO) 114 04.10.12 13:03 Сейчас в теме
(15) pumbaE,
вы V8Reader и консоль вне конфигуратора запускаете?
В текстовом редакторе? :)
Да и даже V8Reader не позволяет анализировать код, а только "подсовывать" в указанные места чуть-чуть своего :)
17. Евгений Сосна (pumbaE) 521 04.10.12 13:05 Сейчас в теме
(14) AlexO, при загрузке из xml структура объектов проверяется, код естественно нет, для этого есть отдельный пункт в конфигурации проверка модулей.
Конфигурация спокойно правиться в xml перенос добавленного объекта прошел на практике удачно(с ролями пришлось только повозиться все таки merge для xml файла затруднен).
18. Евгений Сосна (pumbaE) 521 04.10.12 13:07 Сейчас в теме
(16) AlexO, в конфигураторе я из снегопата с текстом работаю.

Анализировать код 1С - что вы имеете ввиду? Построить синтаксическое дерево ?
19. Алекс Ю (AlexO) 114 04.10.12 13:08 Сейчас в теме
(17) pumbaE,
для этого есть отдельный пункт в конфигурации проверка модулей.

правильнро, потому 1С - не ООП. И не может вне своей среды гибко воспринимать что-либо извне.
И это ставит крест на программном изменении кода в принципе.
перенос добавленного объекта прошел на практике удачно

это в 8.3 уже? так и сейчас копи-паст объекта из конфы в конфу проходит вполне удачно.
Ну тогда покажите, как 1С справилась с двумя проблемами, описанными выше :)
Наверное, полностью переделала Конфигуратор и поумнела? :))
20. Алекс Ю (AlexO) 114 04.10.12 13:13 Сейчас в теме
(18) pumbaE,
я из снегопата с текстом работаю

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

ну если код в виде дерева уже есть в 1С... :)
21. Евгений Сосна (pumbaE) 521 04.10.12 13:13 Сейчас в теме
(19) AlexO,
потому 1С - не ООП
я не спорю.
это в 8.3 уже? так и сейчас копи-паст объекта из конфы в конфу проходит вполне удачно
да в 8.3, копи-паст на заменит merge из git .
Ну тогда покажите, как 1С справилась с двумя проблемами, описанными выше :)
можно уточнить какие, а то я потерялся.
22. Алекс Ю (AlexO) 114 04.10.12 13:17 Сейчас в теме
(21) pumbaE,
можно уточнить какие, а то я потерялся.

вопросы из (14)
23. Алекс Ю (AlexO) 114 04.10.12 13:20 Сейчас в теме
Грубо говоря, в Конфигураторе 1С не предусмотрены "входы-выходы" для вмешательства извне в него. И предусмотрено никогда не будет. Иначе 1С должна полностью раскаяться, посыпать голову пеплом, и начать делать (впервые за все 20 лет своего существования) нормальные серьезные продукты, а не поделки.
Все. Этим вопрос изменения кода программно полностью закрывается.
24. Евгений Сосна (pumbaE) 521 04.10.12 13:25 Сейчас в теме
(23) AlexO, хм я плохо понимаю вашу мысль: извне редактировать теперь (8.3) можно , только инструментов нет, не считая текстового редактора, т.е. я имею ввиду - выгрузили файлы конфигурации, исправили, загрузили (compile :) ) , загрузка не прошла значит ошиблись где-то, редактируем правильно, загружаем - чем не редактирование извне ?
25. Алекс Ю (AlexO) 114 04.10.12 13:27 Сейчас в теме
(24) pumbaE,
выгрузили файлы конфигурации, исправили, загрузили

так и как собираетесь проверять корректность? Запускать каждый раз 1С-предприятие-конфигуратор, притом, что вы абсолютно не видите, что где и зачем меняете? :) так тогда разработка станет на два порядока дольше :)
загрузка не прошла значит ошиблись где-то, редактируем правильно

Поэтому и говорю - что да, делать вы это можете, но это будет аналогично тому, что вы разберете платформу на байты и в hex-редакторе исправите какую-то последовательность байтов на свой страх и риск.
Т.е. сделать-то можете, но это будет уже не работа с 1С :)
26. Алекс Ю (AlexO) 114 04.10.12 13:33 Сейчас в теме
(24) pumbaE,
только инструментов нет

и не будет, т.к. никто не напишет аналоог конфигуратора (платформы) 1С для разбора и работы с XML-конфигурацией (да плюс еще и данные же надо как-то подключать - иначе смысл такой конфы, не за ради же самой себя она пишется?), а сама 1С никогда не пустит никого в свои исходники. А без послабления "входа" в исходники - вмешательство в код платформы (и конфигуратора) невозможно.
27. Евгений Сосна (pumbaE) 521 04.10.12 13:39 Сейчас в теме
(25) AlexO, Я вижу где и что меняю. Почему вы считаете, что нельзя увидеть это модуль документа или модуль формы документа N я не знаю название говорит вроде само за себя Document.ФиксацияБюджетов.ObjectModule.txt
Как же тогда люди на c пишут программы в hex редакторе работают?

(26) Ну знаю по крайней мере одного человека, который пишет синтаксический анализ кода 1С и планирует плагин для emacs сделать :)
28. Алекс Ю (AlexO) 114 04.10.12 13:45 Сейчас в теме
(27) pumbaE,
Document.ФиксацияБюджетов.ObjectModule.txt

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

ну удачи ему после 10 лет работ над этим не получить в конце иск от 1С о нарушении прав :)
29. Алекс Ю (AlexO) 114 04.10.12 13:47 Сейчас в теме
(27) pumbaE, да что я вам рассказываю.. да предложите хотя бы тому же Сереге Осипову вот та вот в тексте разрабатывать конфы - узнаете тысячу способов, как далеко можно ходить, и много нового о себе (в том числе, и как о программисте) :))
(для тех, кто не знает - Сергей у нас на данный момент убежденный апологет и проповедник "RAD-разработка от 1С foreve").
30. Евгений Сосна (pumbaE) 521 04.10.12 13:55 Сейчас в теме
(28) AlexO, Не понимаю, я вам про текстовый файл, вы мне про байт в платформе.
(29) о себе всегда интересно узнать из чужих уст.

p.s.: Я вас не понимаю. Переходите на персоналии. Послать к Осипову, по моему мнению - это тоже самое что и послать на х... Давайте заканчивать наш спор неизвестно о чем.
31. Алекс Ю (AlexO) 114 04.10.12 14:17 Сейчас в теме
(30) pumbaE,
Послать к Осипову, это послать...

почему же так сразу? ну Евгению Люлюк предложите так конфы писать, что ли...
Я предложил обратится к Осипову по этому вопросу только потому, что я по поводу написания конфигураций в текстовом редакторе не так эмоционален, ибо даже и не собираюсь так делать :)
я вам про текстовый файл

вот именно, что ТЕКСТОВЫЙ РЕДАКТОР, написание конфигурации в котором чуть проще, чем на байтах :)
в конфигураторе я из снегопата

кстати, я предложил Орефкову не жадничать, и продать мне Снегопат дешевше - не уступил :)
Так что Снегопаты-телепаты - оно все и без них нормально пишется.... в рамках бардака 1С, естественно... :)
32. Виталий Черненко (SeiOkami) 575 08.10.12 20:28 Сейчас в теме
Выпустил новую версию http://infostart.ru/public/155206/
По навороченей будет) теперь еще и сама создает файл обработки с кодом модуля, макетом и параметрами_авторегистрации =)