// Функция Дополняет переданную в качестве первого параметра строку символами слева\справа до заданной длины и возвращает ее // Незначащие символы слева и справа удаляются // По умолчанию функция добавляет строку нулями слева // // Параметры: // Строка - Строка - исходная строка, которую необходимо дополнить символами до заданной длины // ДлинаСтроки - Число - требуемая конечная длина строки // Символ - Строка - (необязательный) значение символа, которым необходимо дополнить строку // Режим - Строка - (необязательный) [Слева|Справа] режим добавления символов к исходной строке: слева или справа // // Пример 1: // Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" // Возврат: "0000001234" // // Пример 2: // Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" // Возврат: "1234######" // // Возвращаемое значение: // Строка - строка, дополненная символами слева или справа // Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт Если ПустаяСтрока(Символ) Тогда Символ = "0"; КонецЕсли; // длина символа не должна превышать единицы Символ = Лев(Символ, 1); // удаляем крайние пробелы слева и справа строки Строка = СокрЛП(Строка); КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); Если КоличествоСимволовНадоДобавить > 0 Тогда СтрокаДляДобавления = ""; Пока СтрДлина(СтрокаДляДобавления) < КоличествоСимволовНадоДобавить Цикл СтрокаДляДобавления = СтрокаДляДобавления + Символ; КонецЦикла; Если ВРег(Режим) = "СЛЕВА" Тогда Строка = СтрокаДляДобавления + Строка; ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда Строка = Строка + СтрокаДляДобавления; КонецЕсли; КонецЕсли; Возврат Строка; КонецФункции
Функция ДополнитьСтрокуПробелами(Строка, Длина) Пока СтрДлина(Строка) < Длина Цикл Пробел = Символ(0); Строка = Строка + Пробел; КонецЦикла; Возврат Строка; КонецФункции