diff --git a/src/ru/OPI/src/CommonModules/OPI_TCP/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_TCP/Module.bsl index d12dc185b8..9ccdc16f84 100644 --- a/src/ru/OPI/src/CommonModules/OPI_TCP/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_TCP/Module.bsl @@ -198,26 +198,19 @@ // Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки // // Параметры: -// Адрес - Строка - Адрес и порт для подключения - address -// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data -// ОтветСтрокой - Булево - Признак получения ответа как строки - string -// Перенос - Булево - Завершить сообщение символом переноса строки - nl +// Адрес - Строка - Адрес и порт для подключения - address +// Данные - Строка, ДвоичныеДанные - Данные или текст для отправки - data +// ОтветСтрокой - Булево - Признак получения ответа как строки - string // // Возвращаемое значение: // ДвоичныеДанные, Строка - Ответ на запрос -Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина, Знач Перенос = Истина) Экспорт +Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина) Экспорт OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина); OPI_ПреобразованиеТипов.ПолучитьБулево(ОтветСтрокой); - OPI_ПреобразованиеТипов.ПолучитьБулево(Перенос); Соединение = ОткрытьСоединение(Адрес); - - Если Перенос Тогда - Данные = OPI_Инструменты.СклеитьДанные(Данные, ПолучитьДвоичныеДанныеИзСтроки(Символы.ПС)); - КонецЕсли; - - Результат = ОтправитьДвоичныеДанные(Соединение, Данные); + Результат = ОтправитьДвоичныеДанные(Соединение, Данные); Если Результат Тогда diff --git a/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl index a77cde2abc..66afe3808c 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Инструменты/Module.bsl @@ -973,6 +973,23 @@ КонецПроцедуры +Процедура ЗаменитьУправляющиеПоследовательности(Текст) Экспорт + + СоответствиеСимволов = Новый Соответствие; + СоответствиеСимволов.Вставить("\n", Символы.ПС); + СоответствиеСимволов.Вставить("\r", Символы.ВК); + СоответствиеСимволов.Вставить("\f", Символы.ПФ); + СоответствиеСимволов.Вставить("\v", Символы.ВТаб); + + Для Каждого Символ Из СоответствиеСимволов Цикл + + Текст = СтрЗаменить(Текст, Символ.Ключ, Символ.Значение); + Текст = СтрЗаменить(Текст, "\" + Символ.Значение, Символ.Ключ); + + КонецЦикла; + +КонецПроцедуры + Функция ЧислоВСтроку(Знач Число) Экспорт Возврат СтрЗаменить(Строка(Число), Символы.НПП, ""); КонецФункции diff --git a/src/ru/cli/core/Classes/app.os b/src/ru/cli/core/Classes/app.os index 740e8ddd5a..00f65cc326 100644 --- a/src/ru/cli/core/Classes/app.os +++ b/src/ru/cli/core/Classes/app.os @@ -187,7 +187,17 @@ Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда - ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_"); + ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_"); + ФайлПараметра = Новый Файл(ЗначениеПараметра); + ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра); + + Если Не СтрНачинаетсяС(ЗначениеПараметраСокр, "{") + И Не СтрНачинаетсяС(ЗначениеПараметраСокр, "[") + И Не ФайлПараметра.Существует() Тогда + + OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(ЗначениеПараметра); + + КонецЕсли; ТекстВыполнения = ТекстВыполнения + Символы.ПС