| 
    
            
         
         | 
    
  | 
Тип не может быть выбран в запросе | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        yanejsh    
     06.11.13 
            ✎
    10:00 
 | 
         
        Есть ТЗ с колонкой, в которой может быть два типа
 
        Массив = Новый Массив; Массив.Добавить(Новый ОписаниеТипов("СправочникСсылка.Материалы")); Массив.Добавить(Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ОписаниеТипаМатерИНомен = Новый ОписаниеТипов(Массив, , ); ТаблицаРасходаМатериалов.Колонки.Добавить("Материал",ОписаниеТипаМатерИНомен); Далее в запросе эта таблица подставляется во временную и выбирается |ВЫРАЗИТЬ(ТаблицаМатериалов.Материал КАК Справочник.Номенклатура) КАК Материал, Когда был один тип - все понятно. Сейчас надо добавить два типа, а как это сделать в запросе?  | 
|||
| 
    1
    
        yanejsh    
     06.11.13 
            ✎
    10:19 
 | 
         
        как-то так пробую 
 
        http://kb.mista.ru/article.php?id=526 - неоплучается, говорит, что Несовместимые типы "ВЫРАЗИТЬ" <<?>>ВЫРАЗИТЬ(НЕОПРЕДЕЛЕНО КАК Справочник.Номенклатура) КАК Ссылка  | 
|||
| 
    2
    
        yanejsh    
     06.11.13 
            ✎
    10:43 
 | 
         
        Обошелся этим
 
        ВЫРАЗИТЬ(ТаблицаМатериалов.Материал КАК Строка(100)) КАК Материал,  | 
|||
| 
    3
    
        Галахад    
     гуру 
    06.11.13 
            ✎
    10:45 
 | 
         
        Как это? Справочник в строку преобразовывает?     
         | 
|||
| 
    4
    
        Feunoir    
     06.11.13 
            ✎
    10:51 
 | 
         
        (2) А какая цель типизации в этом случае?     
         | 
|||
| 
    5
    
        yanejsh    
     06.11.13 
            ✎
    11:00 
 | 
         
        в ТЗ могло добавляться два типа справочника. теперь добавляется имя элемента справочника.
 
        А цель - чтобы в запросе выбирать, он без типизации не может  | 
|||
| 
    6
    
        yanejsh    
     06.11.13 
            ✎
    11:01 
 | 
         
        ну и вместо 
 
        ТаблицаРасходаМатериалов.Колонки.Добавить("Материал",ОписаниеТипаМатерИНомен); стало ТаблицаРасходаМатериалов.Колонки.Добавить("Материал",Новый ОписаниеТипов(Массив, , Новый КвалификаторыСтроки(100)));  | 
|||
| 
    7
    
        Feunoir    
     06.11.13 
            ✎
    11:09 
 | 
         
        (5) Да ладно? Прямо так и не может? У параметра - таблицы значения должны быть все колонки явно типизированы, а в запросе уже больше ничего не требуется. Оно там само разберется. Но если уж тебе очень хочется, тогда через ВЫБОР.
 
        ВЫБОР КОГДА (... ССЫЛКА Справочник.Материалы) ТОГДА ВЫРАЗИТЬ(... КАК Справочник.Материалы) ... КОНЕЦ  | 
|||
| 
    8
    
        yanejsh    
     06.11.13 
            ✎
    11:25 
 | 
         
        что-то ОНО САМО не разбиралось.
 
        через выбор тоже понятно.  | 
|||
| 
    9
    
        Defender aka LINN    
     06.11.13 
            ✎
    11:31 
 | 
         
        (2) То есть ты нам вот так вот запросто рассказываешь, что 1С преобразовывает типы в запросе, да?     
         | 
|||
| 
    10
    
        hhhh    
     06.11.13 
            ✎
    11:42 
 | 
         
        (8) сделайте 2 колонки
 
        ТаблицаРасходаМатериалов.Колонки.Добавить("Материал",ОписаниеТипаМатер); ТаблицаРасходаМатериалов.Колонки.Добавить("Номенклатура",ОписаниеТипаНомен); чего вы паритесь из-за фигни?  | 
|||
| 
    11
    
        Sammo    
     06.11.13 
            ✎
    11:49 
 | 
         
        1. Зачем в запросе делать Выразить если колонка итак типизированная?
 
        2. Если колонка составного типа, она и в запросе будет составного типа  | 
|||
| 
    12
    
        Sammo    
     06.11.13 
            ✎
    11:51 
 | 
         
        +11 Спокойно можно было использовать .Представление или Код или наименование. 
 
        С нюансами (про неявное соединение)  | 
|||
| 
    13
    
        Rovan    
     гуру 
    06.11.13 
            ✎
    12:15 
 | 
         
        (1) НЕОПРЕДЕЛЕНО - волшебная вещь!
 
        использовать его надо только в крайнем случае  | 
|||
| 
    14
    
        Feunoir    
     06.11.13 
            ✎
    13:07 
 | 
         
        (8) см. (13) НЕОПРЕДЕЛЕНО это нетипизированное значение. Что-то я не сложу, как у тебя связаны тип колонки в таблице и ВЫРАЗИТЬ(НЕОПРЕДЕЛЕНО КАК Справочник.Номенклатура)     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |