1С8. Пример работы с javascript. Функция split() и регулярные выражения.

К сожалению, в 1С нет функции работы со строками split() и нет регулярных выражений. Зато эта функция есть в JavaScript. Она делит строку по строке-разделителю или регулярному выражению и возвращаем массив подстрок. Задействуем мощь JavaScript и регулярных выражений. Пример показывает как можно вызвать функцию JavaScript split() из кода 1С.
// строкаСоединения: "Srvr="serv3";Ref="zup";
Функция ПолучитьЗначения(строкаСоединения)
	
	ScrptCtrl = новый COMОбъект("MSScriptControl.ScriptControl");
	ScrptCtrl.Language="JScript"; // альтернатива: "vbscript";  			
	
	// строка-фрагмент кода на JavaScript
	strJsCode="
	|function GetValues(str,strKey){
        | var arr=str.split(/;/i);
        | return arr;
        |}";
	ScrptCtrl.AddCode(strJsCode);	

	//выполнить вызов функции на JavaScript из фрагмента 
	strExecute="GetValues('" + строкаСоединения + "');";
	
	сообщить("strExecute:" + strExecute);
	
	comArr = ScrptCtrl.Eval(strExecute);
	
	для каждого параметр из comArr цикл
		Сообщить("параметр:" + параметр);
	КонецЦикла;	

	Возврат comArr;	
КонецФункции				

Функция ПараметрыСоединения()
	
	// получим строку соединения с базой 1С
	СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
	
	//пример: строкаСоединения: "Srvr="serv3"¶Ref="zup"¶" 
	//("¶" - это Символ перевода строки (ПС))
	// Заменим его на ";"
	строкаСоединения=СтрЗаменить(строкаСоединения,Символы.ПС,";");	
	
	arr = ПолучитьЗначения(СтрокаСоединения);	
	
	Возврат arr;
КонецФункции	

ПараметрыСоединения();


1c_javascript_split_regexp_01 1c_javascript_split_regexp_02




Рекламный блок:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

Доработка и сопровождение 1С:

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Пишите: j008@j008.ru

Звоните: 8 916 710 83 51 Ольга