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