A1sS.AsString
Надёжно превращает любое значение в строку. Умеет добавлять префикс/суффикс и принимать настройки форматирования чисел/дат/булевых. Безопасен для Неопределено.
Назначение
Упрощает приведение к строке при формировании заголовков, логов, сообщений пользователю, экспортов. Позволяет централизованно управлять форматами и не писать каждый раз
Формат(...) вручную.
Сигнатура
Функция AsString(
Value,
Prefix = "",
Suffix = "",
FormatOptions = Неопределено,
ConfigPerformanceLog = Ложь,
ConfigDebugMode = Ложь
) Экспорт // Возврат: Строка
Параметры
Возврат
Возвращает: Строка. Пустая строка для Неопределено или по NullText в параметрах форматирования.
Value— любое значение (число, дата, булево, строка, ссылка и т.д.).Prefix/Suffix— строки, добавляемые слева/справа. Как правило применяются, когда результат не пустой.FormatOptions—Структурас настройками форматирования (см. ниже). Можно не передавать.ConfigPerformanceLog—Булево. Включить лёгкий лог времени выполнения (для диагностики).ConfigDebugMode—Булево. Расширенная отладочная печать (если включено в модуле).
Поддерживаемые ключи FormatOptions (рекомендации)
NumberFormat— формат чисел дляФормат(например,"ЧГ=0; ЧД=2; N=,; T= ").DateFormat— формат дат (например,"ДФ=dd.MM.yyyy").BoolYes/BoolNo— как представлятьИстина/Ложь(по умолчанию «Да»/«Нет»).NullText— что вернуть дляНеопределено(по умолчанию пустая строка).Trim—Булево, обрезать пробелы у результата.
Поведение
- Неопределено → возвращает
NullTextили пустую строку. - Для чисел и дат используется
Форматс заданными опциями. - Булево: «Да»/«Нет» либо значения из
BoolYes/BoolNo. - Строки — возвращаются как есть (с опциональным
Trim). - Prefix/Suffix добавляются, если результирующая строка не пустая.
Примеры (от простого к сложному)
1) Базовые случаи
A1sS.AsString(123); // "123"
A1sS.AsString(Неопределено); // ""
A1sS.AsString(Истина); // "Да"
A1sS.AsString(Ложь); // "Нет"
A1sS.AsString(ТекущаяДата()); // "12.08.2025 14:32" (пример)
2) Префикс/суффикс
A1sS.AsString(42, "№", " шт."); // "№42 шт."
A1sS.AsString("", "Цена: "); // "" — префикс не добавится, т.к. значение пустое
3) Формат чисел и дат
Опции = Новый Структура;
Опции.Вставить("NumberFormat", "ЧГ=0; ЧД=2; N=,; T= ");
Опции.Вставить("DateFormat", "ДФ=dd.MM.yyyy");
A1sS.AsString(12345.678, "", " ₽", Опции); // "12 345,68 ₽"
A1sS.AsString('2025-08-12', "Дата: ", "", Опции); // "Дата: 12.08.2025"
4) Булево и NullText
Опции = Новый Структура("BoolYes,BoolNo,NullText", "✔", "✖", "—");
A1sS.AsString(Истина, "", "", Опции); // "✔"
A1sS.AsString(Ложь, "", "", Опции); // "✖"
A1sS.AsString(Неопределено, "", "", Опции); // "—"
5) В связке с A1sQ и печатью
// Получим сумму и красиво выведем
Сумма = A1sQ.ValueQ(
A1sQ.QT("СУММА(Количество * Цена)", "Документ.ЗаказПокупателя.Товары", "Ссылка = &Заказ"),
СсылкаЗаказа
);
Опции = Новый Структура("NumberFormat", "ЧГ=0; ЧД=2; N=,; T= ");
A1sS.Print( A1sS.AsString(Сумма, "Итого: ", " ₽", Опции) );
Подводные камни
- Для сложных объектов (таблицы/массивы/структуры) предварительно подготовьте строку сами — AsString предназначен для примитивных типов.
- Если используете
Prefix/Suffix, убедитесь, что они не содержат лишних пробелов — при необходимости применяйте NormalizeWhitespace.
Смотрите также
- A1sS.NormalizeWhitespace — подчистить строку после форматирования.
- A1sS.IsBlank — проверить, что строка не пустая перед добавлением префикса.
- A1sS.Subst — шаблоны с параметрами.
- A1sS.GetTemplate — работа с текстовыми шаблонами.