Доброго времени суток! Столкнулся с проблемой вывода одних и тех же данных для разных документов (для каждого документа должно выводиться своё). Суть в том, что на основании Справочник.Запросы создаётся Документ.Телефонный звонок, потом уже на его основании создаётся Справочник.СделкиСКлиентами. Так вот в отчёте я прослеживаю ключевые показатели переходящие из одного в другое. Со связью Справочник.Запрос и Документ.ТелефонныйЗвонок проблем нет (выводятся для каждого документа и запроса правильные значения (связанные между собой)). Однако Документ.ТелефонныйЗвонок и Справочник.СделкиСКлиентами связать нормально не получается. В отчёте получается, что для разных телефонных звонок присваивается одно и тоже значение из Справочник.СделкиСКлиентами. Как исправить понять не могу, уже сломал голову. Подскажите, пожалуйста, варианты решения.

Прилагаю скриншот "Связи" в СКД

Вот код (и скриншот того, как это выглядит):

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Запросы.Наименование,
    Запросы.ДатаСоздания,
    Запросы.Источник КАК ИсточникЗапроса,
    Запросы.Статус,
    Запросы.Ответственный КАК ОтветственныйМенеджер,
    Запросы.Ссылка КАК НаименованиеЗапроса,
    Запросы.Компания,
    Запросы.РегионКлиента,
    ТелефонныйЗвонок.Ссылка КАК СсылкаТелефон,
    ТелефонныйЗвонок.Дата,
    ТелефонныйЗвонок.Описание,
    Запросы.Телефон КАК ТелефонКлиента,
    СделкиСКлиентами.Статус КАК СтатусСделкиСКлиентом,
    СделкиСКлиентами.Ссылка КАК СделкаСКлиентом,
    СделкиСКлиентами.Менеджер,
    СделкиСКлиентами.Организация,
    СделкиСКлиентами.Партнер КАК Клиент
    ИЗ
    Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
    ПО (СделкиСКлиентами.Источник = Запросы.Источник)
```
---
Отказаться от создания справочника на основании документа не получится, такое задание)
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:

```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    ///////////////////////////////////
    ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

    ТипДанныхЗаполнения = Тип("ДокументСсылка.ТелефонныйЗвонок");
    ЗаполнитьПоЗапросу(
    ДанныеЗаполнения,
    ДанныеЗаполнения);

    //////////////////////////////////КонецПроцедуры
```

```1c
    Процедура ЗаполнитьПоЗапросу(Знач Основание, ДанныеЗаполнения)

    Запрос = Новый Запрос("ВЫБРАТЬ
    | ТелефонныйЗвонок.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    |ГДЕ
    | ТелефонныйЗвонок.Ссылка = &Ссылка");
    Запрос.УстановитьПараметр("Ссылка", Основание);

    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда

    СсылкаНаДокТелЗвонок = Выборка.Ссылка;
    КонецЕсли;

    КонецПроцедуры
```
---
масло мысленное. Зачем искать запросом эту же ссылку, которую и передаете в запрос? Она уже есть.

```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    ///////////////////////////////////
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
    СсылкаНаДокТелЗвонок = ДанныеЗаполнения;
    КонецЕсли;
    /////////////
```
---
Однако Документ.ТелефонныйЗвонок и Справочник.СделкиСКлиентами связать нормально не получается.
Не указана какая взаимосвязь между ними. У справочника СделкиСКлиентами есть реквизит, в котором хранится ссылка на документ? Вот по нему и связывать нужно.
Абстрактный пример:

```1c
    ИЗ
    Справочник.Запросы КАК Запросы
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ПО (СделкиСКлиентами.ИмяРеквизитаНаДокументОснование = ТелефонныйЗвонок.Ссылка)
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
```
---
Я посмотрел в справочник.СделкиСКлиентами, насколько я понял в этом справочнике нет реквизита, в котором бы хранилась ссылка на документ.Телефонный звонок. Я так понимаю надо такой реквизит созлать и потом на его основании связывать. Вот только не могу понять, как его создать, чтобы там была ссылка на документ основание (Документ.ТелефонныйЗвонок). Не подскажите?
---
если тупо, то добавить реквизит типа Документ.ТелефонныйЗвонок и заполнять при создании на основании.
Но по хорошему нужно понимать бизнес логику всего этого решения. Самая идея создавать справочник на основании документа.... не однозначная.
---
Отказаться от создания справочника на основании документа не получится, такое задание)
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:

```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    ///////////////////////////////////
    ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

    ТипДанныхЗаполнения = Тип("ДокументСсылка.ТелефонныйЗвонок");
    ЗаполнитьПоЗапросу(
    ДанныеЗаполнения,
    ДанныеЗаполнения);

    //////////////////////////////////КонецПроцедуры
```

```1c
    Процедура ЗаполнитьПоЗапросу(Знач Основание, ДанныеЗаполнения)

    Запрос = Новый Запрос("ВЫБРАТЬ
    | ТелефонныйЗвонок.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    |ГДЕ
    | ТелефонныйЗвонок.Ссылка = &Ссылка");
    Запрос.УстановитьПараметр("Ссылка", Основание);

    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда

    СсылкаНаДокТелЗвонок = Выборка.Ссылка;
    КонецЕсли;

    КонецПроцедуры
```
---
масло мысленное. Зачем искать запросом эту же ссылку, которую и передаете в запрос? Она уже есть.

```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    ///////////////////////////////////
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
    СсылкаНаДокТелЗвонок = ДанныеЗаполнения;
    КонецЕсли;
    /////////////
```
---
может не полное соеденение надо использовать
---
Пробовал, наверно, все варианты и комбинации соединений. В противном случае либо ничего не выводится, либо тоже самое
---
Попробуйте так:

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Запросы.Наименование,
    Запросы.ДатаСоздания,
    Запросы.Источник КАК ИсточникЗапроса,
    Запросы.Статус,
    Запросы.Ответственный КАК ОтветственныйМенеджер,
    Запросы.Ссылка КАК НаименованиеЗапроса,
    Запросы.Компания,
    Запросы.РегионКлиента,
    ТелефонныйЗвонок.Ссылка КАК СсылкаТелефон,
    ТелефонныйЗвонок.Дата,
    ТелефонныйЗвонок.Описание,
    Запросы.Телефон КАК ТелефонКлиента,
    СделкиСКлиентами.Статус КАК СтатусСделкиСКлиентом,
    СделкиСКлиентами.Ссылка КАК СделкаСКлиентом,
    СделкиСКлиентами.Менеджер,
    СделкиСКлиентами.Организация,
    СделкиСКлиентами.Партнер КАК Клиент
    ИЗ
    Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ПО (СделкиСКлиентами.Источник = Запросы.Источник)
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
```
---
Выдаёт ошибку: Поле не найдено "Запросы.Источник"
---
```1c
    ИЗ
    Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ПО (СделкиСКлиентами.Источник = Запросы.Источник)
```

а так?
---
Ошибка
---
```1c
    ИЗ
    Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
    И (СделкиСКлиентами.Источник = Запросы.Источник)
```
---
Ошибка: Ожидается имя таблицы " И СделкиСКлиентами.Источник = Запросы.Источник"
---
```1c
    ИЗ
    Справочник.Запросы КАК Запросы
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
    ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
    ПОЛНОЕ СОЕДИНЕНИЕ Справочник.СделкиСКлиентами КАК СделкиСКлиентами
    ПО (СделкиСКлиентами.Источник = Запросы.Источник)
```