1С Предприятие 7.7. Документация

       

ЗначениеВСтрокуВнутр


Преобразование значения объекта агрегатного типа из внутреннего представления в строковое.

Синтаксис:

ЗначениеВСтрокуВнутр(<Выражение>)

Англоязычный синоним:

ValueToStringInternal

Параметры:

<Выражение>

Выражение, вычисленное значение которого следует перевести в строковое представление. В качестве параметра для данного метода допускается передавать значения любых типов данных, доступных в конфигурации, как базовых, так и агрегатных типов данных, за исключением тех типов данных, которые не имеют собственно значения — это касается таких объектов как «Периодический», «Таблица», «ФС», «Запрос», «XBase» и т. п. Однако, объекты типа «СписокЗначений» и «ТаблицаЗначений» использовать можно — они преобразуются в строковое представление.

Возвращаемое значение:



Результирующее строковое значение.

Описание:

Применять функцию ЗначениеВСтрокуВнутр имеет смысл только в особых случаях. Например, если в рамках одной конфигурации требуется несколько объектов упаковать в одну строку. При помощи функции ЗначениеВСтрокуВнутр объекты можно преобразовать в строковые значения, которые затем можно объединить в единую строку операцией конкатенации. В дальнейшем эту строку можно будет разобрать на составляющие и сделать обратное преобразование при помощи функции ЗначениеИзСтрокиВнутр.

Замечание: Строковое представление агрегатного типа данных имеет специальный системный формат, т. к. предназначено не для отображения, а просто для возможности выполнения строковых операций с объектами (в рамках одной конфигурации), например при упаковке нескольких объектов в одну строку. Данный системный формат использует внутренний системный идентификатор данных, поэтому этот формат предназначен для работы в рамках единой информационной базы. При распаковке такого строкового представления функция ЗначениеИзСтрокиВнутр восстанавливает значение объекта по его системному идентификатору.

Пример:

* Допустим, в конфигурации формируется отчет с использованием объекта «Таблица». Для обеспечения возможности получать дополнительные сведения по отчету, в таблицах есть возможность в каждой ячейке хранить вычисляемое значение, которое можно затем использовать для обработки. Однако, в ячейке таблицы можно хранить только одно значение. В случае, если все же для обработки необходимо иметь несколько значений, то их можно с помощью метода ЗначениеВСтрокуВнутр упаковать в одну строку. Например, в ячейке таблицы запишем формулу значения ячейки в следующем виде:

ЗначениеВСтрокуВнутр(Запрос.Клиент) + РазделительСтрок +  

ЗначениеВСтрокуВнутр(Запрос.Товар)

Процедура обработки значения ячейки должна в себе содержать алгоритм распаковки значений с использованием метода ЗначениеИзСтрокиВнутр.

Процедура ОбработкаЯчейкиТаблицы(Значение, ФлагСтандартнойОбработки)

   Если ТипЗначенияСтр(Значение) = "Строка" Тогда

      Орг = ЗначениеИзСтрокиВнутр(СтрПолучитьСтроку(Значение, 1));

      Тов = ЗначениеИзСтрокиВнутр(СтрПолучитьСтроку(Значение, 2));

      Если Тов.Выбран() = 0 Тогда

         Возврат;

      КонецЕсли;

      Карт(Орг, Тов);

      ФлагСтандартнойОбработки = 0;

      Возврат;

   КонецЕсли;

   ФлагСтандартнойОбработки = 1;

КонецПроцедуры

См. также: ЗначениеИзСтрокиВнутр, ЗначениеТекущейЯчейки, ОбработкаЯчейкиТаблицы



Содержание раздела