1с строка
Что понимается под строкой в 1с
Строки в 1с, как отличить строку от других типов ведь в модуле все символы – текст, а следовательно строка. Каждый непрерывный набор символов обрамленный двойными кавычками («») считается строкой, по умолчанию в конфигураторе он черного цвета.
Сообщить(«Хелло, ворлд!»);
Также следует помнить, что некоторые методы, как системные так и самописные, могут возвращать строковое значение.
Чтобы узнать является ли интересующее нас значение строкой можно сравнить его тип с типом "Строка":
Если ТипЗнч("Какой-то текст") = Тип("Строка") Тогда
Сообщить("Тип значения - Строка");
КонецЕсли;
Существуют несколько специальных функций для работы со строкой преобразующих другие типы в строку и наоборот. Вот несколько примеров:
Строка в Число
Число(«123,45»);
Или так:
Число(«123.45»);
Если в параметре будут недопустимые знаки, например буквы, то это вызовет ошибку.
Строку в Дату
Дата("20101220235959");
Время указывать не обязательно(последние 6 символов).
Проверка на пустую строку
ПустаяСтрока() – это функция проверяет содержит ли переданная строка параметром значимые символы(незначимые символы - это в основном невидимые на экране: пробел, перенос строки и т.д.)
ПустаяСтрока(" ");
ПустаяСтрока(" а ");
Число в Строку
Строка(123.45); Формат(1253.25);
Для сравнение строк можно просто использовать знак равенства
Если "Четверг" = "Четверг" Тогда
КонецЕсли;
Для соединения строк используется знак плюс(+). Соединение строк в программировании называется конкатенацией.
Хитрость! Если складываются несколько разнотипных переменных то программа будет брать за основу тип первой переменной. Следовательно чтобы точно получить значение строкового типа можно использовать следующую запись:
КакаяТоСтрока = ""+ДеньГода(ТекущаяДата())+ДеньНедели(ТекущаяДата());
Если Вы получите результат из предыдущего листинга, то вид будет примерно такой:
3574
Как видно не хватает пробела разделяющего день года и день недели, для этого можно добавить пробел (« ») следующим образом:
КакаяТоСтрока = ""+ДеньГода(ТекущаяДата())+ " " + ДеньНедели(ТекущаяДата());
Перенос строки
Для переноса строки можно использовать либо символ переноса:
КакаяТоСтрока = ""+ДеньГода(ТекущаяДата())+ Символы.ПС + ДеньНедели(ТекущаяДата());
либо прямую черту
КакаяТоСтрока = ""+ДеньГода(ТекущаяДата())+ "
|"+ ДеньНедели(ТекущаяДата());