1С 8.3 Вставить параметры в строку
Данные > Примеры кода 1С > 1С 8.3 Строка, текст, буквы
Перейти в раздел примеры кода 1С 8.3:
- Работает только со структурами и соответствиями (не передать, например, строку таблицы значений)
- Внутри перебирает все свойства коллекции (в шаблоне может нужно только одно свойство, а перебираться будут все)
- Делает множество замен (строка меняется столько раз, сколько свойств в коллекции, хотя может они не все и нужны)
В указанный ниже метод можно передать любой объект и будут использованы только те свойства, которые есть в шаблоне.
Для отличия метод использует другой (допустимый в стандартах) формат именованных параметров: %Свойство%
Вставить параметры в строку в 1С 8.3:
// Заменяет в строке именованные параметры на значения свойств объекта (по формату %ИмяСвойства%)
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/1
//
// Параметры:
// ШаблонСтроки - Строка - Строка, в которую необходимо всавить свойства объекта
// Объект - Произвольный - Произвольный объект, свойства которого необходимо вставить в строку
//
// Возвращаемое значение:
// Строка
Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, Знач Объект) Экспорт
Разделитель = "%";
ЭтоПараметр = Ложь;
ЧастиСтроки = СтрРазделить(ШаблонСтроки, Разделитель, Истина);
Для Индекс = 0 По ЧастиСтроки.Количество() - 1 Цикл
Если ЭтоПараметр Тогда
ИмяСвойства = ЧастиСтроки[Индекс];
ЧастиСтроки[Индекс] = Строка(Объект[ИмяСвойства]);
ЭтоПараметр = Ложь;
Иначе
ЭтоПараметр = Истина;
КонецЕсли;
КонецЦикла;
Возврат СтрСоединить(ЧастиСтроки, "");
КонецФункции
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/1
//
// Параметры:
// ШаблонСтроки - Строка - Строка, в которую необходимо всавить свойства объекта
// Объект - Произвольный - Произвольный объект, свойства которого необходимо вставить в строку
//
// Возвращаемое значение:
// Строка
Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, Знач Объект) Экспорт
Разделитель = "%";
ЭтоПараметр = Ложь;
ЧастиСтроки = СтрРазделить(ШаблонСтроки, Разделитель, Истина);
Для Индекс = 0 По ЧастиСтроки.Количество() - 1 Цикл
Если ЭтоПараметр Тогда
ИмяСвойства = ЧастиСтроки[Индекс];
ЧастиСтроки[Индекс] = Строка(Объект[ИмяСвойства]);
ЭтоПараметр = Ложь;
Иначе
ЭтоПараметр = Истина;
КонецЕсли;
КонецЦикла;
Возврат СтрСоединить(ЧастиСтроки, "");
КонецФункции
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник