|   |   | 
| 
 | Зачем запрос умеет вычислять ЗНАЧЕНИЕ(<Имя типа>)? | ☑ | ||
|---|---|---|---|---|
| 0
    
        TormozIT гуру 09.02.19✎ 11:02 | 
        Если выполнить запрос
 ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Банки) то получим таблицу значений с колонкой с описанием типов NULL Тип с одной строкой, в единственной ячейке которой будет Неопределено. Хочется узнать зачем так сделано. Не лучше ли в таких случаях выдавать ошибку синтаксического контроля запроса? На всякий случай вот полный код Запрос = Новый Запрос; Запрос.Текст = "|ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Банки)|"; Результат = Запрос.Выполнить().Выгрузить(); | |||
| 1
    
        RomanYS 09.02.19✎ 11:18 | 
        Недавно тоже (здесь) столкнулся с такой конструкцией и тогда вроде бы пришел к тому, что возвращается пустая ссылка. Сейчас запустил в консоли (КА1, на построителе), вообще х#рня полная:
 https://ibb.co/3r6wdQs ТипЗначения в запросе от этой каки с ошибкой падает | |||
| 2
    
        TormozIT гуру 09.02.19✎ 11:22 | 
        (1) Консоль отчетов все таки опасно использовать для этого. Чище будет использовать консоль запросов и совсем чисто - отладчик. Скриншот с какой версии платформы и режима совместимости?     | |||
| 3
    
        ДенисЧ 09.02.19✎ 11:26 | ||||
| 4
    
        RomanYS 09.02.19✎ 11:30 | 
        (2) выборка показывает, что там двоичные данные
 https://ibb.co/r54pNJS платформа 8.3.13 режим совместимости 8.2 | |||
| 5
    
        RomanYS 09.02.19✎ 11:30 | 
        (3) может нет такого справочника?     | |||
| 6
    
        RomanYS 09.02.19✎ 11:31 | 
        (2) Выгрузить() получается тоже искажает, даже больше чем консоль)     | |||
| 7
    
        ДенисЧ 09.02.19✎ 11:34 | 
        (5) Да, действительно. Вертает неопределено...     | |||
| 8
    
        RomanYS 09.02.19✎ 11:36 | 
        (7) двоичные данные, а неопределено. "Неопределено" при выгрузить()  возникает     | |||
| 9
    
        TormozIT гуру 09.02.19✎ 11:39 | 
        Действительно, Выборка возвращает двоичные данные.     | |||
| 10
    
        TormozIT гуру 09.02.19✎ 11:40 | 
        Видимо это все таки тип возвращается, но какой то "недоделанный".     | |||
| 11
    
        RomanYS 09.02.19✎ 11:43 | 
        (10) +1
 Только одно напрягает, точно помню, что эта хрень меня зацепила. И я проверял и получил пустую ссылку. Старость - не радость) | |||
| 12
    
        Casey1984 09.02.19✎ 11:45 | 
        (0) Забавная не задокументированная возможность. Как-то так. Никому не нужная, просто поиграться :-/     | |||
| 13
    
        RomanYS 09.02.19✎ 11:46 | 
        (10) и запакованный в 5(!) байт. Может какой-то номер таблицы     | |||
| 14
    
        TormozIT гуру 09.02.19✎ 11:48 | 
        Написал в 1С багрепорт с просьбой удалить это безобразие и выдавать ошибку синтаксического контроля.     | |||
| 15
    
        TormozIT гуру 09.02.19✎ 11:48 | 
        По всем признакам такое поведение похоже на не до конца удаленный функционал.     | |||
| 16
    
        ДенисЧ 09.02.19✎ 12:08 | 
        (14) Если они послушаются, сколько всего полететь может.. )))     | |||
| 17
    
        TormozIT гуру 09.02.19✎ 12:20 | 
        (16) Если кто то использовал такую конструкцию в запросе, то она не могла приносить осмысленную пользу. Поэтому частота ее использования в конфигурациях наверняка крайне низкая. Думаю  из-за этого не станут оставлять эту некорректную возможность.     | |||
| 18
    
        GREENLAND 09.02.19✎ 12:24 | 
        Как вариант, добавление в запрос условие на сравнение с перечислениями.     | |||
| 19
    
        GREENLAND 09.02.19✎ 12:26 | 
        Есть другие варианты применения "Значение" в запросах...     | |||
| 20
    
        Aleksey 09.02.19✎ 12:31 | 
        (17) не факт к примеру универсальная обработка для разных конфигураций     | |||
| 21
    
        TormozIT гуру 09.02.19✎ 13:58 | 
        (20) Можешь конкретный пример привести? Осмысленная польза какая может быть?     | |||
| 22
    
        TormozIT гуру 09.02.19✎ 13:59 | 
        (18) Как вариант чего?     | |||
| 23
    
        Конструктор1С 09.02.19✎ 15:32 | 
        Справочник.Банки это не имя типа, это имя таблицы     | |||
| 24
    
        TormozIT гуру 09.02.19✎ 17:24 | 
        (23) Нет. Справочник.Банки это имя типа и одновременно имя таблицы. Ссылочные типы в языке запросов обозначаются именами их таблиц.     | |||
| 25
    
        Конструктор1С 10.02.19✎ 12:59 | 
        (24) так ведь нет типа "Справочник.Банки". Есть "СправочникСсылка.Банки", "СправочникОбъект.Банки" и иже с ними     | |||
| 26
    
        TormozIT гуру 10.02.19✎ 23:20 | 
        (25) Это верно для встроенного языка 1С. В языке запросов нет разделения на подтипы внутри одной таблицы (объекта метаданных).     | |||
| 27
    
        VladZ 11.02.19✎ 10:02 | 
        (0) Мое мнение: выражение ЗНАЧЕНИЕ(Справочник.Банки) не имеет смысла.  Зачем ЭТО выполнять в запросе?
 Вопрос из разряда: "Я в запросе выбираю какую-то хрень. И на выходе получаю хрень. Почему так происходит???" | |||
| 28
    
        TormozIT гуру 11.02.19✎ 10:09 | 
        (27) Красиво написал, но бесполезно.     | |||
| 29
    
        hhhh 11.02.19✎ 13:33 | 
        (26) так вы смотрите тип как раз во встроенном языке. Вы же не в языке запросов смотрите.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |