Процедуры и функции обработки значений
ЗначениеВСтрокуВнутр
Преобразование значения объекта агрегатного типа из внутреннего представления в строковое.
Синтаксис:
ЗначениеВСтрокуВнутр(<Выражение>)
Англоязычный синоним:
ValueToStringInternal
Параметры:
<Выражение> | Выражение, вычисленное значение которого следует перевести в строковое представление. В качестве параметра для данного метода допускается передавать значения любых типов данных, доступных в конфигурации, как базовых, так и агрегатных типов данных, за исключением тех типов данных, которые не имеют собственно значения – это касается таких объектов как "Периодический", "Таблица", "ФС", "Запрос", "XBase" и т. п. Однако, объекты типа "СписокЗначений" и "ТаблицаЗначений" использовать можно – они преобразуются в строковое представление. |
Возвращаемое значение:
Результирующее строковое значение.
Описание:
Применять функцию ЗначениеВСтрокуВнутр имеет смысл только в особых случаях. Например, если в рамках одной конфигурации требуется несколько объектов упаковать в одну строку. При помощи функции ЗначениеВСтрокуВнутр объекты можно преобразовать в строковые значения, которые затем можно объединить в единую строку операцией конкатенации. В дальнейшем эту строку можно будет разобрать на составляющие и сделать обратное преобразование при помощи функции ЗначениеИзСтрокиВнутр.
Замечание
Строковое представление агрегатного типа данных имеет специальный системный формат, т. к. предназначено не для отображения, а просто для возможности выполнения строковых операций с объектами (в рамках одной конфигурации), например при упаковке нескольких объектов в одну строку. Данный системный формат использует внутренний системный идентификатор данных, поэтому этот формат предназначен для работы в рамках единой информационной базы. При распаковке такого строкового представления функция ЗначениеИзСтрокиВнутр восстанавливает значение объекта по его системному идентификатору.
Пример:
Допустим, в конфигурации формируется отчет с использованием объекта "Таблица". Для обеспечения возможности получать дополнительные сведения по отчету, в таблицах есть возможность в каждой ячейке хранить вычисляемое значение, которое можно затем использовать для обработки. Однако, в ячейке таблицы можно хранить только одно значение. В случае, если все же для обработки необходимо иметь несколько значений, то их можно с помощью метода ЗначениеВСтрокуВнутр упаковать в одну строку. Например, в ячейке таблицы запишем формулу значения ячейки в следующем виде:
ЗначениеВСтрокуВнутр(Запрос.Клиент) + РазделительСтрок + ЗначениеВСтрокуВнутр(Запрос.Товар)
Процедура обработки значения ячейки должна в себе содержать алгоритм распаковки значений с использованием метода ЗначениеИзСтрокиВнутр.
Процедура ОбработкаЯчейкиТаблицы(Значение, ФлагСтандартнойОбработки) Если ТипЗначенияСтр(Значение) = "Строка" Тогда Орг = ЗначениеИзСтрокиВнутр(СтрПолучитьСтроку(Значение, 1)); Тов = ЗначениеИзСтрокиВнутр(СтрПолучитьСтроку(Значение, 2)); Если Тов.Выбран() = 0 Тогда Возврат; КонецЕсли; Карт(Орг, Тов); ФлагСтандартнойОбработки = 0; Возврат; КонецЕсли; ФлагСтандартнойОбработки = 1; КонецПроцедуры
См. также: ЗначениеИзСтрокиВнутр, ЗначениеТекущейЯчейки, ОбработкаЯчейкиТаблицы.