Имя: Пароль:
1C
 
Несовместимые типы "ВЫБОР"
0 repin_mike
 
10.12.14
16:39
ВЫБРАТЬ
    ПоступлениеТоваровУслугУслуги.Ссылка,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугУслуги.Номенклатура = &ПустаяСсылка
            ТОГДА ПоступлениеТоваровУслугУслуги.Содержание
        ИНАЧЕ ПоступлениеТоваровУслугУслуги.Номенклатура
    КОНЕЦ
ИЗ
    Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги



Пишет "Несовместимые типы "ВЫБОР"". Почему?
1 Жан Пердежон
 
10.12.14
16:39
Содержание - строка неограниченной длины?
2 zbv
 
10.12.14
16:40
а что в &ПустаяСсылка ?
3 repin_mike
 
10.12.14
16:41
(1) Спасибо!
4 repin_mike
 
10.12.14
16:42
(2) В пустая ссылка - очевидно пустая ссылка на справочник номенклатуры
5 repin_mike
 
10.12.14
16:43
Правильно:
ВЫБРАТЬ
    ПоступлениеТоваровУслугУслуги.Ссылка,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугУслуги.Номенклатура = &ПустаяСсылка
            ТОГДА ВЫРАЗИТЬ(ПоступлениеТоваровУслугУслуги.Содержание КАК Строка(100))
        ИНАЧЕ ПоступлениеТоваровУслугУслуги.Номенклатура
    КОНЕЦ
6 spiller26
 
10.12.14
16:46
Замени &ПустаяСсылка на ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
7 spiller26
 
10.12.14
16:46
(6) ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
8 repin_mike
 
10.12.14
16:50
(7) И вам спасибо! Так действительно удобнее
9 spiller26
 
10.12.14
16:55
(5) ВЫРАЗИТЬ(ПоступлениеТоваровУслугУслуги.Содержание КАК Строка(100)) лучше использовать при сравнение различных типов данных. Например для связей.
10 mehfk
 
10.12.14
17:22
Кстати, подобная ошибка во множестве мест в типовых конфигурациях, проявляющаяся на MS SQL 2000
что-то вроде

SELECT
  TAB1.поленеограниченнойдлины
FROM
  TAB1 as TAB1
UNION ALL
SELECT
  TAB2.СтрокаДлина150
FROM
  TAB2 as TAB2
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший