1С 8.3 Подставить параметры в строку - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Подставить параметры в строку

Данные > Примеры кода 1С > 1С 8.3 Строка, текст, буквы
Перейти в раздел примеры кода 1С 8.3:
Аналог типовой функции ПодставитьПараметрыВСтроку в 1С 8.3:
Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодст,
   Знач Пар1,
   Знач Пар2 = Неопределено,
   Знач Пар3 = Неопределено,
   Знач Пар4 = Неопределено,
   Знач Пар5 = Неопределено,
   Знач Пар6 = Неопределено,
   Знач Пар7 = Неопределено,
   Знач Пар8 = Неопределено,
   Знач Пар9 = Неопределено) Экспорт

   // Оптимизированный вариант типовой функции ПодставитьПараметрыВСтроку (подставить параметры в строку в 1С 8.3)
   // Работает значительно быстрее
  // Пример использования из общ.модуля:
  // СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1 знает код %2'"), "Артур", "1С") = "Артур знает код 1С".

   Если СтрокаПодст = Неопределено Или СтрДлина(СтрокаПодст) = 0 Тогда
       Возврат "";
   КонецЕсли;

   РезультатФункции = "";
   НачальнаяПозиция = 1;
   Поз = Найти(СтрокаПодст, "%");

   Пока Поз > 0 Цикл
       СимволСтроки = Сред(СтрокаПодст, Поз, 1);
       Если СимволСтроки <> "%" Тогда
           Поз = Поз + 1;
           Продолжить;
       КонецЕсли;
       РезультатФункции = РезультатФункции + Сред(СтрокаПодст, НачальнаяПозиция, Поз - НачальнаяПозиция);

       Поз = Поз + 1;
       СимволСтроки = Сред(СтрокаПодст, Поз, 1);

       Если СимволСтроки = "1" Тогда
           ЗначПараметра = Пар1;
       ИначеЕсли СимволСтроки = "2" Тогда
           ЗначПараметра = Пар2;
       ИначеЕсли СимволСтроки = "3" Тогда
           ЗначПараметра = Пар3;
       ИначеЕсли СимволСтроки = "4" Тогда
           ЗначПараметра = Пар4;
       ИначеЕсли СимволСтроки = "5" Тогда
           ЗначПараметра = Пар5;
       ИначеЕсли СимволСтроки = "6" Тогда
           ЗначПараметра = Пар6;
       ИначеЕсли СимволСтроки = "7" Тогда
           ЗначПараметра = Пар7;
       ИначеЕсли СимволСтроки = "8" Тогда
           ЗначПараметра = Пар8;
       ИначеЕсли СимволСтроки = "9" Тогда
           ЗначПараметра = Пар9;
       ИначеЕсли СимволСтроки = "%" Тогда
           ЗначПараметра = "%";
       Иначе
           ВызватьИсключение НСтр("Входная строка СтрокаПодстановки имеет неверный формат: " + ЗначПараметра);
       КонецЕсли;

       Если ЗначПараметра = Неопределено Тогда
           ЗначПараметра = "";
       Иначе
           ЗначПараметра = Строка(ЗначПараметра);
       КонецЕсли;

       РезультатФункции = РезультатФункции + ЗначПараметра;

       Поз = Поз + 1;
       СтрокаПодст = Сред(СтрокаПодст, Поз);
       Поз = Найти(СтрокаПодст, "%");
   КонецЦикла;

   Если (НачальнаяПозиция <= СтрДлина(СтрокаПодст)) Тогда
       РезультатФункции = РезультатФункции + Сред(СтрокаПодст, НачальнаяПозиция, СтрДлина(СтрокаПодст) - НачальнаяПозиция + 1);
   КонецЕсли;

   Возврат РезультатФункции;

КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 25.05.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому