Сделал демо конфигурацию для редактирования скриптов для Турбоконфа с ИР адаптером

tormozit Закрыто

Создать новую файловую базу и загрузить туда выгрузку приложенной базы.
Открыть модуль обработки "Скрипт" (туда для пример поместил скрипт ИР адаптера). Проверить что контекстная подсказка работает для указанных объектов.

Синтаксический контроль тоже работает с соблюдением разработчиком небольшого условия - в скрипте придется заменить все
Новый <ИмяКлассаТурбоконф>(<Параметры>)
на
Новый ("<ИмяКлассаТурбоконф>", <Параметры>)

Предлагаю разработчику Турбоконфа использовать эту конфигурацию как основную документацию по API.

Файлы

Скачать

Комментарии

bolsun
#1, ред. 11 ноября 2023 22:40

Хорошее начинание.
Я в принципе веду XMLDoc для API, постепенно пытаюсь актуализировать его.
Если в дальнейшем можно будет эти данные как-то автоматически загружать в конфигурацию или синхронизировать, то вообще будет замечательно.


bolsun
#2, ред. 11 ноября 2023 22:13

Вот как видно на скриншоте данные еще актуализировал.


tormozit
#3, 11 ноября 2023 22:45

Вынес весь внешний контекст из скрипта в модуль обычного приложения.

Перем Клавиши Экспорт;  
Перем Конфигуратор Экспорт;
Перем ТипЭлемента Экспорт; 
Перем РежимОткрытияВнешнегоОкна Экспорт;

//  Глобальный контекст ОСкрипт

Функция ТекущийКаталог() Экспорт 
КонецФункции

// Глобальный контекст Турбоконф

Конфигуратор = Обработки.Конфигуратор.Создать();
Клавиши = Перечисления.Клавиши;

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

#Если Сервер И Не Сервер Тогда
	ТурбоКонф = Обработки.ТурбоКонф.Создать();
#КонецЕсли

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

File?path=1165DFE919CB05373C26DFFD93BA26DF9DD382C5&filename=%D0%9E%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%94%D0%BB%D1%8F%D0%A2%D1%83%D1%80%D0%B1%D0%BE%D0%9A%D0%BE%D0%BD%D1%84%D0%B0.cf


tormozit
#4, 11 ноября 2023 22:49

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


tormozit
#5, ред. 16 ноября 2023 09:26

Для автоматического сохранения скрипта из модуля обработки в файл с расширением OS при нажатии CTRL+S мне нужно какое то событие
Например такое https://turboconf.ru/Tasks/8741 . Возможно ты предложишь другое решение задачи?
Пока сделал отдельную команду в ИР адаптере, но как то это некрасиво.


tormozit
#6, ред. 17 ноября 2023 08:51

Создал публикацию для этого редактора https://fastcode.im/Store/8815 и полностью перешел на разработку скрипта через него.


bolsun
#7, ред. 17 ноября 2023 21:57

(5) tormozit, можно сделать перехват комбинации Ctrl+S, и если модуль - это скрипт, то выполнять обработчик, иначе вызывать эту же комбинацию.


bolsun
#8, 17 ноября 2023 21:55

https://fastcode.im/Templates/8609/perenaznachenie-shtatnyx-kombinacij-goryachix-klavish-v-konfiguratore-1s


bolsun
#9, 17 ноября 2023 21:57

Пока нет события, можно такой способ использовать. Но я бы примерно такую же реализацию делал.


tormozit
#10, ред. 17 ноября 2023 22:00

Я уже привык сохранять скрипт отдельной командой, которая в частности отправляет нажатие CTRL+S. Мне пока текущих возможностей достаточно.


bolsun
#11, 17 ноября 2023 22:01

(10) tormozit, ну добавить поддержку Ctrl+S было бы очень полезно и делается быстро. Можно в этой команде просто вызывать твою готовую команду.


tormozit
#12, ред. 01 декабря 2023 22:28

Я не вешал эту команду на CTRL+S (даже в персональных настройках) из-за опасений побочных эффектов, т.к. сочетание клавиш очень ответственное и часто используемое. А при вызове этой команды другим сочетанием клавиш подобных перестраховок и не нужно.
Добавлю в начало обработчика

	ТурбоКонф.КонтролКлавиша(Клавиши.S);
	Если Истина
		И ТурбоКонф.ПолучитьВерсиюAPI() >= 6 
		И Не ТурбоКонф.ЭтоСкрипт 
	Тогда
		Возврат;
	КонецЕсли;


bolsun
#13, 01 декабря 2023 23:20

Для чего Если Истина в условии?


bolsun
#14, 03 декабря 2023 15:44

bolsun изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера