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