Имя: Пароль:
1C
 
Вернуть из запроса самое компактное описание типов колонки
0 TormozIT
 
гуру
25.12.15
11:13
Есть произвольный запрос с одной (для упрощения) колонкой составного типа, возвращающий 0 строк. Мне нужно получить из него результат в виде таблицы значений с минимального размера сериализацией, т.е. в XML она должна занимать минимальное число символов.

Достижения. Решил объединить исходный запрос с пустой таблицей, где колонка будет иметь тип ЛюбаяСсылка (AnyRef).

    Создал таблицу значений с одной колонкой типа ЛюбаяСсылка (AnyRef)

    Выполнил запрос выбрать Т.К1
    ПОМЕСТИТЬ Т
    ИЗ &Т КАК Т
    ;
    ВЫБРАТЬ Т.К1
    ОБЪЕДИНИТЬ
    <Произвольный запрос с одним полем типа (СправочникСсылка.Номенклатура, СправочникСсылка.Валюты)>

Но получил таблицу значений у которой описание типов сериализуется в

        <ValueType>
            <Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:CatalogRef.Номенклатура</Type>;
            <Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:CatalogRef.Валюты</Type>;
            <Type>Null</Type>
            <TypeSet xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:AnyRef</TypeSet>;
        </ValueType>

Как же все таки получить желанный

        <ValueType>
            <Type>Null</Type>
            <TypeSet xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:AnyRef</TypeSet>;
        </ValueType>

?
1 Лефмихалыч
 
25.12.15
11:28
при объединении тип приводится к первой таблице, а не к последней
2 TormozIT
 
гуру
25.12.15
11:32
(1) При объединении запросов состав описания типов объединяется, но объединяется тупо (как видно из достижения). А куда приводятся сами типы внутри описания типов - в задаче неважно.
3 apokrit
 
25.12.15
11:40
(0) Я думаю, ни как (если имеется ввиду - без самостоятельного анализа типов)

Пока TypeSet не развернут - это просто отдельный тип.
Такой же как СправочникСсылка.Валюты

Если его развернуть - вместо него появятся все ссылочные типы.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.