UDT в интеграции с Microsoft SQL Server

31.08.2017

А вы знаете, что такое UDT в Microsoft SQL Server? UDT - это User-Defined Type, т.е. тип определенный пользователем, в который может быть преобразовано значение возвращаемое в поле записи. Иначе говоря, в поле записи может быть не только простой тип типа строка, число, дата и т.п., но и сложная структура со своими полями и коллекциями!
Мы взяли и использовали UDT в модуле интеграции easla.com c Microsoft SQL Server. Теперь, когда вы выполняете запрос к easla.com с помощью процедур getObjectref и getObjectrefs, то в ответе получаете записи, в полях attributes и status которых возвращаются структуры с данными. Обращаться к их значениям можно как в обычном объектно-ориентированном языке.
Например:
SELECT [attributerefs].Item('crs_management_outgoing_responsiblegroup').value.AsGroup(0).ToString() FROM [dbo].[getObjectref](98715);
означает - вернуть первое значение атрибута crs_management_outgoing_responsiblegroup как группу.
Например:
SELECT [attributerefs].Item('crs_management_outgoing_attachments').value.AsFile(1).consist.Item(0).ToString() FROM [dbo].[getObjectref](98715);
означает - вернуть состав второго файла в атрибуте crs_management_outgoing_attachments.
Подробнее в мануале.

Tweet