Простенькая обработка генерирует набросок кода модуля объекта внешней печатной формы. Прописывает переменные, соответствующие реквизитам выбранного типа документа и присваивает им значение "СсылкаНаОбъект.[ИмяРеквизита]".
Простенькая обработка генерирует набросок кода модуля объекта внешней печатной формы. Прописывает переменные, соответствующие реквизитам выбранного типа документа и присваивает им значение «СсылкаНаОбъект.[ИмяРеквизита]».
Полученный текст можно скопировать в буфер, либо сохранить как текстовик.
P.S.: Обработка простая, но не бесполезная. Мне пригодилась. Может кому-то тоже поможет)
P.S.2: Это моя первая обработка, тем более публикация на инфостарте. Просьба не тратить слишком много помидоров)
+: когда встроенную фичу вытаскиваешь вовне, надо переопределить ссылки на реквизиты, предложенная шняга немножко здесь автоматизирует, респект
если уж так, то сделай структуру с реквизитами и заполняй запросом )
и красивше и быстрее ))
(2) dolter, ну не быстрее точно)
а может ли внешняя обработка создавать и сохранять внешнюю обработку?
Хорошая мысль, думаю можно развить ее дальше…
(4) SERJ_1CC, Да, у меня уже есть идея как)
ей богу, наверное это все таки не ЕРТ
Идея, лежащая на поверхности, но редко у кого хватает усидчивости её доделать вместо копи-паста из нужного места 🙂
А вообще, 1С с её тупым и уникальным на каждый объект кодом обработки давно пора сделать вот такой помощник ввода типовых конструкций — все равно это нагромождение «нужных» инструкций в 80% случаев есть копи-паст от одной до бесконечности строк…
(3)
только на диске если создавать её готовым файлом-копией уже существующей обработки и обращаться к ней как к временно созданному объекту… отсюда тормознутость и малоприменимость… а код и обработку событий объектов в 1С нельзя создать в принципе вне конфигуратора — здесь нет ООП.
(0)
Да, полностью согласен, одна из немногих подобных среди горы мусора и тысяч воинственных неучей от 1С на ис в последнее время… 🙁
(8) AlexO, я ничего не копипастил, просто пришла в голову идея — сделал обработку.
Можно в обработку поместить пустую шаблон-обработку с макетом «Параметры_Авторегистрации», реквизитом СсылкаНаОбъект составного типа, чтобы потом сохранять её. Но вот как изменить в ней модуль программно я не нашел. Неужели нет никаких способов?
А обработка эта уже не раз меня выручала ) хотя чуть еще доделать надо
(8) AlexO, я, можно сказать, неуч сам. 1С занимаюсь третий месяц, поэтому многого не знаю =)
(9)
в 1С — нет, это не ООП.
Можно только в определенном месте задать инструкцию «Выполнить» и подсунуть кусок произвольного кода на выполнение.
Сами модули править программно нельзя.
(11) AlexO, ок, а можно ли программно вытянуть текст процедуры/функции из модуля документа?
(10)
воинствующие неучи появляются не от тяги к знаниям с позиции новичков, а от всеобщей деградации интеллектуального уровня в стране.
Плюс перевод всего и вся в плоскость денег.
(13)
нет, нельзя.
Это не ООП, где можно текст выгрузить, проанализировать, и снова загрузить обратно как текст 🙂
В 8.3 1С обещает загрузку-выгрузку конфигураций в XML, и студенты уже воем воют, как здорово будет править конфигурации в XML.
Но, думаю, там будет просто выгрузка навроде архива, без контроля и разрешения на изменение.
Ведь даже вопрос с поверхности — как проконтролировать синтаксис такой XML, ведь надо её развернуть в среде 1С и там уже сравнивать и смотреть по объектам и правильность использования синтаксиса (что и делает конфигуратор-платформа сейчас), — сразу ставит крест на возможности правки конфигураций в текстовом виде.
А ведь есть еще вопрос совместимости правок с исполнением кода… с предыдущим кодом.. т.е. нужен полноценный Конфигуратор на XML — вы думаете, 1С такое по плечу? 🙂
Даже если такая мысль и появится в голове разработчиков платформы, она будет в корне пресечена.
(13) v8unpack — примерV8Reader (с расширенным анализом форм) Upd.
Еще пример вниверсальная консоль отчетов там на основании схемы компоновки данных формируется готовая обработка.
(15) pumbaE,
вы V8Reader и консоль вне конфигуратора запускаете?
В текстовом редакторе? 🙂
Да и даже V8Reader не позволяет анализировать код, а только «подсовывать» в указанные места чуть-чуть своего 🙂
(14) AlexO, при загрузке из xml структура объектов проверяется, код естественно нет, для этого есть отдельный пункт в конфигурации проверка модулей.
Конфигурация спокойно правиться в xml перенос добавленного объекта прошел на практике удачно(с ролями пришлось только повозиться все таки merge для xml файла затруднен).
(16) AlexO, в конфигураторе я из снегопата с текстом работаю.
Анализировать код 1С — что вы имеете ввиду? Построить синтаксическое дерево ?
(17) pumbaE,
правильнро, потому 1С — не ООП. И не может вне своей среды гибко воспринимать что-либо извне.
И это ставит крест на программном изменении кода в принципе.
это в 8.3 уже? так и сейчас копи-паст объекта из конфы в конфу проходит вполне удачно.
Ну тогда покажите, как 1С справилась с двумя проблемами, описанными выше 🙂
Наверное, полностью переделала Конфигуратор и поумнела? :))
(19) AlexO,
я не спорю.
да в 8.3, копи-паст на заменит merge из git .
можно уточнить какие, а то я потерялся.
(18) pumbaE,
с текстом модуля? или просто с текстом из буфера ОС в режиме редактирования модуля?
Сделайте в Снегопате выгрузку модуля в текст, правку и загрузку обратно без привлечения конфигуратора
(без имитации действий пользователя «открыть конфигуратор — модуль — скопировать текст — править — сохранить конфу…»)
Да хотя о чем я.. вы разве не знаете, что это Снегопат встроен в Конфигуратор, а не конфигуратор — в Снегопат? 🙂
ну если код в виде дерева уже есть в 1С… 🙂
(21) pumbaE,
вопросы из (14)
Грубо говоря, в Конфигураторе 1С не предусмотрены «входы-выходы» для вмешательства извне в него. И предусмотрено никогда не будет. Иначе 1С должна полностью раскаяться, посыпать голову пеплом, и начать делать (впервые за все 20 лет своего существования) нормальные серьезные продукты, а не поделки.
Все. Этим вопрос изменения кода программно полностью закрывается.
(23) AlexO, хм я плохо понимаю вашу мысль: извне редактировать теперь (8.3) можно , только инструментов нет, не считая текстового редактора, т.е. я имею ввиду — выгрузили файлы конфигурации, исправили, загрузили (compile 🙂 ) , загрузка не прошла значит ошиблись где-то, редактируем правильно, загружаем — чем не редактирование извне ?
(24) pumbaE,
так и как собираетесь проверять корректность? Запускать каждый раз 1С-предприятие-конфигуратор, притом, что вы абсолютно не видите, что где и зачем меняете? 🙂 так тогда разработка станет на два порядока дольше 🙂
Поэтому и говорю — что да, делать вы это можете, но это будет аналогично тому, что вы разберете платформу на байты и в hex-редакторе исправите какую-то последовательность байтов на свой страх и риск.
Т.е. сделать-то можете, но это будет уже не работа с 1С 🙂
(24) pumbaE,
и не будет, т.к. никто не напишет аналоог конфигуратора (платформы) 1С для разбора и работы с XML-конфигурацией (да плюс еще и данные же надо как-то подключать — иначе смысл такой конфы, не за ради же самой себя она пишется?), а сама 1С никогда не пустит никого в свои исходники. А без послабления «входа» в исходники — вмешательство в код платформы (и конфигуратора) невозможно.
(25) AlexO, Я вижу где и что меняю. Почему вы считаете, что нельзя увидеть это модуль документа или модуль формы документа N я не знаю название говорит вроде само за себя Document.ФиксацияБюджетов.ObjectModule.txt
Как же тогда люди на c пишут программы в hex редакторе работают?
(26) Ну знаю по крайней мере одного человека, который пишет синтаксический анализ кода 1С и планирует плагин для emacs сделать 🙂
(27) pumbaE,
ну так я и байт один могу поменять в палатформе, и тоже ничего не будет 🙂
Но это если я знаю, что это именно тот самый байт. А вот чтобы это узнать — потребуется месяц на изучение.
А потом, чтобы узнать, где же другой байт находится — еще месяц…
ну удачи ему после 10 лет работ над этим не получить в конце иск от 1С о нарушении прав 🙂
(27) pumbaE, да что я вам рассказываю.. да предложите хотя бы тому же Сереге Осипову вот та вот в тексте разрабатывать конфы — узнаете тысячу способов, как далеко можно ходить, и много нового о себе (в том числе, и как о программисте) :))
(для тех, кто не знает — Сергей у нас на данный момент убежденный апологет и проповедник «RAD-разработка от 1С foreve»).
(28) AlexO, Не понимаю, я вам про текстовый файл, вы мне про байт в платформе.
(29) о себе всегда интересно узнать из чужих уст.
p.s.: Я вас не понимаю. Переходите на персоналии. Послать к Осипову, по моему мнению — это тоже самое что и послать на х… Давайте заканчивать наш спор неизвестно о чем.
(30) pumbaE,
почему же так сразу? ну Евгению Люлюк предложите так конфы писать, что ли…
Я предложил обратится к Осипову по этому вопросу только потому, что я по поводу написания конфигураций в текстовом редакторе не так эмоционален, ибо даже и не собираюсь так делать 🙂
вот именно, что ТЕКСТОВЫЙ РЕДАКТОР, написание конфигурации в котором чуть проще, чем на байтах 🙂
кстати, я предложил Орефкову не жадничать, и продать мне Снегопат дешевше — не уступил 🙂
Так что Снегопаты-телепаты — оно все и без них нормально пишется…. в рамках бардака 1С, естественно… 🙂
Выпустил новую версиюhttp://infostart.ru/public/155206/
По навороченей будет) теперь еще и сама создает файл обработки с кодом модуля, макетом и параметрами_авторегистрации =)