Снегопат https://snegopat.ru/forum/ |
|
Хотелки по скриптам https://snegopat.ru/forum/viewtopic.php?f=3&t=10 |
Страница 25 из 28 |
Автор: | boggonzikov [ 02 окт 2012, 14:22 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
Предлагаю создать скрипт «Отладчик:Тестирование кода» (debugCodeHelpers), по мотивам статьи http://infostart.ru/public/121612/ . Скрипт позволит отлаживать код во внешней обработке, что позволит увеличить скорость кодирования/отладки. Хотел сам реализовать, да знаний js не особенно много. Дошел до копирования кода в обработку (смотрел скрипты debugHelpers.js и refactoring.js). Что должен делать скрипт: При нажатии «перенести код для отладки» код из модуля конфигурации переносится во внешнюю обработку. Открывается модуль обработки с отлаживаемым кодом. Было бы хорошо чтобы заменялся код с реквизитами (РеквизитОбъекта на например _ЭтотОбъект.РеквизитОбъекта). Скорее всего достаточно было бы переносить целый модуль процедуры/функции, так же было бы замечательно, если при отладке некоторого количество кода, чтоб создавалась процедура с необходимыми параметрами, как в скрипте рефакторинг – выделить метод. При нажатии «перенести код отладки в модуль», происходит обратная обработка кода и код вставляется в модуль откуда был перенесен для отладки. |
Автор: | sosnae [ 02 окт 2012, 17:38 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
Что именно не получается? ИМХО для начала выбрал самые трудные скрипты для понимания. Для работы с текстом я бы советовал ознакомится с TextWindow и практикой применения методов в скриптах textEditorExt. Правильно ли я понимаю: 1. Выделили текст. 2. Создали новую обработку (скопировали из шаблона). 3. Открыли обработку, нашли определенную процедуру и там заменили/добавили выделенный код ранее. 4. Сохранили 5. и т.д. Распиши, дальше твое видение, что смогу подсоблю. |
Автор: | boggonzikov [ 03 окт 2012, 14:41 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
sosnae писал(а): Распиши, дальше твое видение, что смогу подсоблю. Как я это вижу. Например отлаживаем процедуру, в модуле формы. 1. Выделяем процедуру в модуле формы. 2. Кнопка скрипта «перенести код для отладки». 2.1. Открывается внешняя обработка, которая указана в настройках скрипта. 2.2. В модуль обработки копируется полностью код процедуры. Процедура делается экспортной, для вызова. 2.3. Было бы хорошо чтобы заменялся код с реквизитами, при отладке объектов (РеквизитОбъекта на например _ЭтотОбъект.РеквизитОбъекта). 3. Код процедуры в модуле формы заменяется на вызов процедуры во внешнюю обработку. Например Отладка = ВнешниеОбработки.Создать("<Путь к обработке для отладки из настроек скрипта>"); Отладка.<ПродедураОтладки>(); После отладки кода в обработке. Необходимо заменить код из конфигурации на код из обработки. 1. Выделяем процедуру. 2. Кнопка скрипта «перенести код отладки в модуль». 3. Обратная обработка кода. 4. Вставка кода в модуль формы конфигурации. Подскажи как решить или где глянуть примеры: 1. пункт 3. Замена кода процедуры на необходимый текст. Поиск имени процедуры – функции и ее параметров. 2. пункт пункт 2.3. Определение является переменная реквизитом объекта или формы? 3. пункт 4. Поиск модуля откуда код был перенес в обработку для отладки?. Может есть внутренний идентификатор каждого модуля. |
Автор: | sosnae [ 05 окт 2012, 09:43 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
boggonzikov писал(а): 1. пункт 3. Замена кода процедуры на необходимый текст. Поиск имени процедуры – функции и ее параметров. 2. пункт пункт 2.3. Определение является переменная реквизитом объекта или формы? 3. пункт 4. Поиск модуля откуда код был перенес в обработку для отладки?. Может есть внутренний идентификатор каждого модуля. 1. Замена кода процедуры на необходимый текст. Поиск имени процедуры – функции и ее параметров : смотри Libs\TextWindow.js и его использование, например в textEditorExt.js . Код: var w = GetTextWindow(); //для модуля получаем объект TextWindow , можем манипулировать текстом, курсором как душа пожелает. if (!w) return false; Парсинг модуля на процедуры/функции смотри в SyntaxAnalysis.js и пример использования в mdnavigator или funcpocpanel . Код: var text = mdObj.getModuleText(mdPropName); parseModule = SyntaxAnalysis.AnalyseModule(text, true); //Парсим модуль. _vtAllMethods - таблица со списком процедур или функций. for (var z=0; z<parseModule._vtAllMethods.Count(); z++){ var НоваяСтрока = vtModules.Add(); var RowMethod = parseModule._vtAllMethods.Get(z); НоваяСтрока.Модуль = mdPropName; НоваяСтрока.Наименование = RowMethod.Name; НоваяСтрока.Module1C = RowMethod._method; } 2. пункт пункт 2.3. Определение является переменная реквизитом объекта или формы? является переменная реквизитом - я бы из текущего окошка определял какой это объект метаданных и смотрел бы реквизиты и сопоставлял их, работа с метаданным является переменная реквизитом формы - это тебе надо к vikad обратиться, я из ее восмерочной обработки переносил в js определение подписок на события элементов формы в funcprocpanel. 3. Поиск модуля откуда код был перенес в обработку для отладки?. Может есть внутренний идентификатор каждого модуля. - есть идентификатор объекта (а там уже можешь получить текст модуля объекта, модуль менеджера) , при переборе метаданных, можешь посмотреть в extSearch в глобальном поиске. |
Автор: | artbear [ 06 окт 2012, 06:55 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
sosnae писал(а): является переменная реквизитом формы - это тебе надо к vikad обратиться, я из ее восьмерочной обработки переносил в js определение подписок на события элементов формы в funcprocpanel. что за обработка? |
Автор: | vikad [ 06 окт 2012, 08:34 ] | ||
Заголовок сообщения: | Re: Хотелки по скриптам | ||
artbear писал(а): sosnae писал(а): является переменная реквизитом формы - это тебе надо к vikad обратиться, я из ее восьмерочной обработки переносил в js определение подписок на события элементов формы в funcprocpanel. что за обработка? Я ее слепила из того, что было...
|
Автор: | artbear [ 06 окт 2012, 09:37 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
vikad писал(а): artbear писал(а): sosnae писал(а): является переменная реквизитом формы - это тебе надо к vikad обратиться, я из ее восьмерочной обработки переносил в js определение подписок на события элементов формы в funcprocpanel. что за обработка? Я ее слепила из того, что было... И как работает? ввожу произвольный текст, далее Выполнить, выдается ошибка Цитата: {Форма.Форма.Форма(318)}: Ошибка при вызове метода контекста (Прочитать)
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML); по причине: Ошибка разбора XML: - [1,1] Фатальная ошибка: Document is empty |
Автор: | sosnae [ 06 окт 2012, 09:47 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
Тебе надо внутреннее представление формы ввести, то которое {#,5c83cba4-7a20-4102-a5be-add0ee74f6a1и т.д. или v8unpack распаковать или же из снегопата записать в файл. |
Автор: | the1 [ 10 окт 2012, 14:21 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
Скажите, реализуемо ли получение параметров из табличного документа в модуль? То есть хотелось бы, чтобы скрипт анализировал ТабДок.Параметры и переносил в модуль в виде Макет.<ИмяПараметра> Все хотелки не читал))) |
Автор: | boggonzikov [ 12 окт 2012, 13:13 ] |
Заголовок сообщения: | Re: Хотелки по скриптам |
Сделал 1 релиз скрипт «Отладчик:Тестирование кода» (debugCodeHelpers). Как его положить в хранилище, может кто-нибудь будет пользоваться. |
Страница 25 из 28 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |