Пример работы с командной строкой TurboConf

Добавил: bolsun, 04 октября 2019 11:44, обновлено: 04 октября 2019 11:54

Раздел: Обсуждение TurboConf


Предположим, мы хотим создать конфигурацию, которая выполняет какие-то действия с Конфигуратором и обрабатывает результат. Например, выгружает в текущем конфигураторе файлы конфигурации в xml и отправляет в Git.

Создадим скрипт для вызова нашей конфигурации

//@script_name ExtAppExample
//@script_display_name Пример взаимодействия между Конфигуратором и 1С в режиме Предприятия
//@script_description В примере показано как передать данные из Конфигуратора в режим Предприятия и обратно
//@script_author m.bolsun
//@script_developer_url https://turboconf.ru
//@script_hotkey Control+Shift+E
//@turbomenu 1
//@retain_clipboard 0
//@enterprise_mode 0
//@hide_actions 0
//@text_documents_only 0

ТурбоКонф = Новый ТурбоКонф;

ОкноКонфигуратора = ТурбоКонф.ПолучитьАктивноеОкно();

//В данном примере предполагаем, что наша конфигурация уже открыта в режиме ОкноПредприятия
ОкноПредприятия = ТурбоКонф.НайтиОкноПоЗаголовку("Взаимодействие с конфигуратором");

//ToDo: если окна нет, то можно открыть конфигурацию через командную строку 1сv8.exe

ТурбоКонф.АктивироватьОкно(ОкноПредприятия);

Нажимаем в Конфигураторе комбинацию Ctrl+Shift+E которую мы назначили скрипту, или вызываем его через меню. Окно конфигурации активировалось.

Обработчики в режиме Предприятия

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

&НаКлиенте
Процедура ВыполнитьСкриптИзФайла(ТекстСкрипта, ВернутьФокусПоЗавершении = 0)
  
  ИмяФайла = ДиректорияТурбоКонф + "script.txt";
  
  ЗаписатьТекстовыйФайл(ИмяФайла, ТекстСкрипта);
  
  СтрокаЗапуска = ДиректорияТурбоКонф + "TurboConf.Application.exe --source=""" + ИмяФайла + """" + " --return=" +Строка(ВернутьФокусПоЗавершении);
  
  НачатьЗапускПриложения(Новый ОписаниеОповещения("НачатьЗапускПриложенияЗавершение", ЭтотОбъект), СтрокаЗапуска,, Истина);
  
КонецПроцедуры

&НаКлиенте
Процедура КомандаВыгрузитьКонфигурацию(Команда)
  
  ВыполнитьСкриптИзФайла(Скрипт, 1);
  
КонецПроцедуры

&НаКлиенте
Процедура НачатьЗапускПриложенияЗавершение(КодВозврата, ДополнительныеПараметры) Экспорт 
	
	Если КодВозврата = 1 Тогда
        Результат = ПрочитатьТекстовыйФайл(ДиректорияТурбоКонф +"log.txt");
        //Обрабатываем ошибку
	Иначе
        //Выгрузка завершилась без ошибок
        Результат = ПолучитьТекстИзБуфераОбмена();
        
        //Здесь обрабатываем наши файлы, вызываем git с командами

        //По завершении можем вызвать еще один скрипт, вернуть фокус конфигуратору и вывести в нем сообщение
	КонецЕсли;	
	
КонецПроцедуры // НачатьЗапускПриложенияЗавершение

Ну и собственно сам скрипт, который выгружает файлы конфигурации и который мы передаем в TurboConf для выполнения.

ТурбоКонф = Новый ТурбоКонф;

ТурбоКонф.OpenConfigurationMenu("Выгрузить конфигурацию в файлы...");

ОкноВопроса = ТурбоКонф.ЖдатьОкно("Слишком длинные имена объектов метаданных", 2000, Истина, Ложь);
Если ОкноВопроса <> 0 Тогда
  ТурбоКонф.Клавиша(Клавиши.Enter);
КонецЕсли;

Окно = ТурбоКонф.ЖдатьОкно("Выгрузить файлы конфигурации", 2000, Истина, Истина);

//Здесь можем вставить путь для выгрузки. ТурбоКонф.ВставитьТекст(НашПуть);

ТурбоКонф.КонтролКлавиша(Клавиши.Enter);

ТурбоКонф.ЖдатьЗакрытияОкна(Окно, "Выгрузить файлы конфигурации", 10000);

// В качестве демонстрации передадим сообщение через буфер
ТурбоКонф.УстановитьБуферОбмена("Выгрузка успешно завершена.");

Вот что получилось в итоге

Image https://turboconf.ru/Content/Files/31C694EEA2260A37464FB9F25FA7B436FB000A06/turboconf_sdk_cmd_save_conf_example.png

К списку тем

Комментарии

TurboConf

Расширение возможностей

Конфигуратора 1С

Скачать

Бесплатный пробный период 14 дней