Всем привет!
Есть типовой отчет ОборотноСальдоваяВедомостьПоСчету из БП 2.0, работает на СКД.
Задача такая: требуется выводить полное наименование контрагента вместо сокращенного наименования.

На закладке "Наборы данных" для поля ""Субконто1" в колонке "Выражение представления" в этот код

```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе Субконто1 Конец
```

пытаюсь внести изменения таким образом:

```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Субконто1.Тип = ТИП(Справочник.Контрагенты) ТОГДА Субконто1.НаименованиеПолное ИНАЧЕ Субконто1 КОНЕЦ
    Конец
```
, но не взлетает.

Подскажите как правильно установить условие на значение Субконто?
Спасибо.
---
Должно работать, видимо какие-то другие настройки сбились.
Если в типовом отчете в выражении представления аккуратно написать
```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" КОГДА ВЫРАЗИТЬ(Субконто1, "Справочник.Контрагенты") ЕСТЬ НЕ NULL
    ТОГДА Субконто1.НаименованиеПолное
    Иначе Субконто1 Конец
```

то все работает.
---
"ссылка " используй
---
написал следующее:

```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Субконто1 Ссылка Справочник.Контрагенты ТОГДА Субконто1.НаименованиеПолное ИНАЧЕ Субконто1 КОНЕЦ
    Конец
```

но результат тот же: выводится общий оборот по выбранному счету (62.01) без группировки по контрагентам (то есть по субконто1).
---
а где у тебя группировка в коде? и где в теме от тебя была фраза, что нужна группировка?
---
это типовой отчет из типовой БП 2.0, то есть там уже все прописано, я пытаюсь поменять только представление субконто1, не меняя при этом все остальное. Это возможно?
---
Представление для поля можно указать в самой СКД, не обязательно для этого запрос менять (поле "Выражение представления" в описании полей СКД)..
---
Подскажите как это сделать?
---
https://its.1c.ru/db/metod8dev/content/1583/hdoc
---
по аналогии написал следующий код (в колонке "Выражение представления"):

```1c
    ВЫБОР
    КОГДА ВЫРАЗИТЬ(Субконто1, "Справочник.Контрагенты") ЕСТЬ НЕ NULL
    ТОГДА Субконто1.НаименованиеПолное
    ИНАЧЕ Субконто1
    КОНЕЦ
```

Ошибка другая:
Отчет не сформирован!
Повторяющееся поле итога "Субконто1".

При этом дублей ресурса Субконто1 не вижу. Менял только представление, основной запрос не трогал.
---
Должно работать, видимо какие-то другие настройки сбились.
Если в типовом отчете в выражении представления аккуратно написать
```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" КОГДА ВЫРАЗИТЬ(Субконто1, "Справочник.Контрагенты") ЕСТЬ НЕ NULL
    ТОГДА Субконто1.НаименованиеПолное
    Иначе Субконто1 Конец
```

то все работает.
---
Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "" КОГДА ВЫРАЗИТЬ(Субконто1, "Справочник.Контрагенты") ЕСТЬ НЕ NULL
ТОГДА Субконто1.НаименованиеПолное
Иначе Субконто1 Конец
БОЛЬШОЕ СПАСИБО, заработало!!! Я неправильно писал текст запроса.
---
пытаюсь поменять представление в самом запросе. Вот исходный код:

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ОстаткиИОбороты.Счет КАК Счет,
    ОстаткиИОбороты.Субконто1 КАК Субконто1,
    ...
```

вторую строку меняю на следующее:

```1c
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ОстаткиИОбороты.Субконто1) = ТИП(Справочник.Контрагенты)
    ТОГДА ОстаткиИОбороты.Субконто1.НаименованиеПолное
    ИНАЧЕ ОстаткиИОбороты.Субконто1
    КОНЕЦ КАК Субконто1,
```

В результате постоянно получаю ошибку:
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 2)}: Несовместимые типы "ВЫБОР"
<<?>>ВЫБОР

Не понимаю в чем ошибка.
---
КОГДА ТИПЗНАЧЕНИЯ(ОстаткиИОбороты.Субконто1) = ТИП(Справочник.Контрагенты)

меняй на ссылка. писали тебе уже про это
---
написал так:

```1c
    ВЫБОР
    КОГДА ОстаткиИОбороты.Субконто1 ССЫЛКА Справочник.Контрагенты
    ТОГДА ОстаткиИОбороты.Субконто1.НаименованиеПолное
    ИНАЧЕ ОстаткиИОбороты.Субконто1
    КОНЕЦ КАК Субконто1,
```

Ошибка почти та же:
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 2)}: Несовместимые типы "ВЫБОР"
<<?>>ВЫБОР
---
а может вообще у счета нет субконто?
---
дело не в этом, так как:
1. ошибка синтаксическая;
2. изначально в запросе не было никакой проверки на Null и все работало.

Не могу понять причину этой ошибки.
---
а что тебе мешает использовать ЕСТЬNULL(<Выражение>, <Выражение>)?
---
блин, это какая-то хрень. Что бы я не писал, все равно та же ошибка, так как выражение начинается с ключевого слова ВЫБОР.
---
попробуй в условном оформлении поставить условие
---
В Запросе

```1c
    Выбор Когда ТИПЗНАЧЕНИЯ(Поле)=Тип(НужныйТип) ТОГДА что то делаем
```
---
так тоже пробовал.
---
```1c
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе ЕстьNULL(Субконто1.НаименованиеПолное, Субконто1.Наименование) Конец
```

На БП 3.0 выводит. Правда будет выводить все полные наименования у всех субконт.
---
Большое спасибо всем, кто откликнулся!