Выводятся неправильные данные в отчёте СКД
Доброго времени суток! Столкнулся с проблемой вывода одних и тех же данных для разных документов (для каждого документа должно выводиться своё). Суть в том, что на основании Справочник.Запросы создаётся Документ.Телефонный звонок, потом уже на его основании создаётся Справочник.СделкиСКлиентами. Так вот в отчёте я прослеживаю ключевые показатели переходящие из одного в другое. Со связью Справочник.Запрос и Документ.ТелефонныйЗвонок проблем нет (выводятся для каждого документа и запроса правильные значения (связанные между собой)). Однако Документ.ТелефонныйЗвонок и Справочник.СделкиСКлиентами связать нормально не получается. В отчёте получается, что для разных телефонных звонок присваивается одно и тоже значение из Справочник.СделкиСКлиентами. Как исправить понять не могу, уже сломал голову. Подскажите, пожалуйста, варианты решения.
Прилагаю скриншот "Связи" в СКД
Вот код (и скриншот того, как это выглядит):
Прилагаю скриншот "Связи" в СКД
Вот код (и скриншот того, как это выглядит):
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Запросы.Наименование,
Запросы.ДатаСоздания,
Запросы.Источник КАК ИсточникЗапроса,
Запросы.Статус,
Запросы.Ответственный КАК ОтветственныйМенеджер,
Запросы.Ссылка КАК НаименованиеЗапроса,
Запросы.Компания,
Запросы.РегионКлиента,
ТелефонныйЗвонок.Ссылка КАК СсылкаТелефон,
ТелефонныйЗвонок.Дата,
ТелефонныйЗвонок.Описание,
Запросы.Телефон КАК ТелефонКлиента,
СделкиСКлиентами.Статус КАК СтатусСделкиСКлиентом,
СделкиСКлиентами.Ссылка КАК СделкаСКлиентом,
СделкиСКлиентами.Менеджер,
СделкиСКлиентами.Организация,
СделкиСКлиентами.Партнер КАК Клиент
ИЗ
Справочник.СделкиСКлиентами КАК СделкиСКлиентами
ПОЛНОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
ПО (СделкиСКлиентами.Источник = Запросы.Источник)
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Найденные решения
(13)Отказаться от создания справочника на основании документа не получится, такое задание)
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
///////////////////////////////////
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);
ТипДанныхЗаполнения = Тип("ДокументСсылка.ТелефонныйЗвонок");
ЗаполнитьПоЗапросу(
ДанныеЗаполнения,
ДанныеЗаполнения);
//////////////////////////////////КонецПроцедуры
ПоказатьПроцедура ЗаполнитьПоЗапросу(Знач Основание, ДанныеЗаполнения)
Запрос = Новый Запрос("ВЫБРАТЬ
| ТелефонныйЗвонок.Ссылка КАК Ссылка
|ИЗ
| Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
|ГДЕ
| ТелефонныйЗвонок.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", Основание);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
СсылкаНаДокТелЗвонок = Выборка.Ссылка;
КонецЕсли;
КонецПроцедуры
Показать
(14) масло мысленное. Зачем искать запросом эту же ссылку, которую и передаете в запрос? Она уже есть.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
///////////////////////////////////
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
СсылкаНаДокТелЗвонок = ДанныеЗаполнения;
КонецЕсли;
/////////////
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Не указана какая взаимосвязь между ними. У справочника СделкиСКлиентами есть реквизит, в котором хранится ссылка на документ? Вот по нему и связывать нужно.
Абстрактный пример:
Однако Документ.ТелефонныйЗвонок и Справочник.СделкиСКлиентами связать нормально не получается.
Не указана какая взаимосвязь между ними. У справочника СделкиСКлиентами есть реквизит, в котором хранится ссылка на документ? Вот по нему и связывать нужно.
Абстрактный пример:
ИЗ
Справочник.Запросы КАК Запросы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СделкиСКлиентами КАК СделкиСКлиентами
ПО (СделкиСКлиентами.ИмяРеквизитаНаДокументОснование = ТелефонныйЗвонок.Ссылка)
ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
(11) Я посмотрел в справочник.СделкиСКлиентами, насколько я понял в этом справочнике нет реквизита, в котором бы хранилась ссылка на документ.Телефонный звонок. Я так понимаю надо такой реквизит созлать и потом на его основании связывать. Вот только не могу понять, как его создать, чтобы там была ссылка на документ основание (Документ.ТелефонныйЗвонок). Не подскажите?
(13)Отказаться от создания справочника на основании документа не получится, такое задание)
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:
Но я уже реализовал выполнение (вроде всё работает) нужной мне задачи с помощью вот такого кода:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
///////////////////////////////////
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);
ТипДанныхЗаполнения = Тип("ДокументСсылка.ТелефонныйЗвонок");
ЗаполнитьПоЗапросу(
ДанныеЗаполнения,
ДанныеЗаполнения);
//////////////////////////////////КонецПроцедуры
ПоказатьПроцедура ЗаполнитьПоЗапросу(Знач Основание, ДанныеЗаполнения)
Запрос = Новый Запрос("ВЫБРАТЬ
| ТелефонныйЗвонок.Ссылка КАК Ссылка
|ИЗ
| Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
|ГДЕ
| ТелефонныйЗвонок.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", Основание);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
СсылкаНаДокТелЗвонок = Выборка.Ссылка;
КонецЕсли;
КонецПроцедуры
Показать
(14) масло мысленное. Зачем искать запросом эту же ссылку, которую и передаете в запрос? Она уже есть.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
///////////////////////////////////
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
СсылкаНаДокТелЗвонок = ДанныеЗаполнения;
КонецЕсли;
/////////////
Попробуйте так:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Запросы.Наименование,
Запросы.ДатаСоздания,
Запросы.Источник КАК ИсточникЗапроса,
Запросы.Статус,
Запросы.Ответственный КАК ОтветственныйМенеджер,
Запросы.Ссылка КАК НаименованиеЗапроса,
Запросы.Компания,
Запросы.РегионКлиента,
ТелефонныйЗвонок.Ссылка КАК СсылкаТелефон,
ТелефонныйЗвонок.Дата,
ТелефонныйЗвонок.Описание,
Запросы.Телефон КАК ТелефонКлиента,
СделкиСКлиентами.Статус КАК СтатусСделкиСКлиентом,
СделкиСКлиентами.Ссылка КАК СделкаСКлиентом,
СделкиСКлиентами.Менеджер,
СделкиСКлиентами.Организация,
СделкиСКлиентами.Партнер КАК Клиент
ИЗ
Справочник.СделкиСКлиентами КАК СделкиСКлиентами
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
ПО (СделкиСКлиентами.Источник = Запросы.Источник)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
Показать
(6)
а так?
ИЗ
Справочник.СделкиСКлиентами КАК СделкиСКлиентами
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
ПО (СделкиСКлиентами.Источник = Запросы.Источник)
а так?
ИЗ
Справочник.СделкиСКлиентами КАК СделкиСКлиентами
ПОЛНОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Запросы КАК Запросы
ПО ТелефонныйЗвонок.ВзаимодействиеОснование = Запросы.Ссылка
И (СделкиСКлиентами.Источник = Запросы.Источник)
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот