Здравствуйте, при активизации строки проходит проверка Контакта на оригинальность, соответственно вызывается экспортная процедура(т.к. во многих документах нужно реализовать). На выходе в процедуре имеем индикаторы(числовые) и соответственно данные что совпало(Имя,тел,ДР и тд) .

Не могу понять как сделать, чтобы при нажатии на кнопку на форме передались эти данные и вызвался отчет.
То есть нужно создать отчет в дереве и к нему обращаться или программно кодом писать отчет?

Сравниваем мы уже записанный справочник.КонтактныеЛица(Иванов И.И.) со всеми возможными Ивановыми в Справочник.КонтактныеЛица (если в 2 словах).

Может знает кто, Можно на кнопке 2 картинки отобразить? Или только картинку и рядом кнопку с картинкой?

В 1С недавно, прошу понять и простить, если что не так :)
---
Отчеты...Создать() на клиенте не работает. Уточнил.

```1c
    &НаСервереБезКонтекста
    Функция СКДНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.Настройки;
    КонецФункции

    &НаСервереБезКонтекста
    Функция СКДПользовательскиеНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.ПользовательскиеНастройки;
    КонецФункции

    &НаСервереБезКонтекста
    Функция СКДФиксированныеНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.ФиксированныеНастройки;
    КонецФункции

    &НаКлиенте
    Процедура СКДНастройкиУстановитьПараметр(Настройки,Параметр,Значение,Использовать=Истина) Экспорт
    Если ТипЗнч(Настройки)=Тип("НастройкиКомпоновкиДанных") Тогда
    Элементы=Настройки.ПараметрыДанных.Элементы;
    Иначе
    Элементы=Настройки.Элементы;
    КонецЕсли;
    Для каждого Пар Из Элементы Цикл
    Если "+Пар.Параметр=Параметр Тогда
    Пар.Использование=Использовать;
    Пар.Значение=Значение;
    Возврат;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    &НаКлиенте
    Процедура СКДОтчетОткрыть(ИмяОтчета, ПараметрыОтчета)

    Настройки=СКДНастройки("ИмяОтчета");
    ПользовательскиеНастройки=СКДПользовательскиеНастройки("ИмяОтчета");
    ФиксированныеНастройки=СКДФиксированныеНастройки("ИмяОтчета");

    Для каждого Параметр Из ПараметрыОтчета Цикл
    СКДНастройкиУстановитьПараметр(Настройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ПользовательскиеНастройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ФиксированныеНастройки,Параметр.Ключ,Параметр.Значение);
    КонецЦикла;

    ПараметрыФормы=Новый Структура("СформироватьПриОткрытии,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки",
    Истина,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки);
    Уникальность=ТекущаяДата();
    ОткрытьФорму("Отчет."+ИмяОтчета+".Форма",ПараметрыФормы,,Уникальность,,,,РежимОткрытияОкнаФормы.Независимый);

    КонецПроцедуры
```
---
Спасибо большое, мне помогли, но в итоге разобрался.

В модуле формы отчета выполняю запрос и передаю в отчет.

```1c
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДР", ДР);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ио", СокрИО);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", КонтактноеЛицо);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("почта", Почта);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("рабТел", РабТел);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("тел", Тел);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Фам", Фам);
```
---
картинка на кнопке может быть одна но никто не мешает ее на рисовать так что будет как будто их две, а уже в коде менять при разных условиях
---
Зачем такие сложности напиши отдельную обработку и пусть она выполняет эти процедуры если они экспортные если нет просто повтори их
---
```1c
    &НаКлиенте
    Процедура СКДНастройкиУстановитьПараметр(Настройки,Параметр,Значение,Использовать=Истина) Экспорт
    Если ТипЗнч(Настройки)=Тип("НастройкиКомпоновкиДанных") Тогда
    Элементы=Настройки.ПараметрыДанных.Элементы;
    Иначе
    Элементы=Настройки.Элементы;
    КонецЕсли;
    Для каждого Пар Из Элементы Цикл
    Если "+Пар.Параметр=Параметр Тогда
    Пар.Использование=Использовать;
    Пар.Значение=Значение;
    Возврат;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    &НаКлиенте
    Процедура СКДОтчетОткрыть(ИмяОтчета, ПараметрыОтчета) Экспорт

    Отчет=Отчеты["ИмяОтчета"].Создать();
    Настройки=Отчет.КомпоновщикНастроек.Настройки;
    ПользовательскиеНастройки=Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
    ФиксированныеНастройки=Отчет.КомпоновщикНастроек.ФиксированныеНастройки;

    Для каждого Параметр Из ПараметрыОтчета Цикл
    СКДНастройкиУстановитьПараметр(Настройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ПользовательскиеНастройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ФиксированныеНастройки,Параметр.Ключ,Параметр.Значение);
    КонецЦикла

    ПараметрыФормы=Новый Структура("СформироватьПриОткрытии,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки",
    Истина,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки);
    Уникальность=ТекущаяДата();
    ОткрытьФорму("Отчет."+ИмяОтчета+".Форма",ПараметрыФормы,,Уникальность,,,,РежимОткрытияОкнаФормы.Независимый);

    КонецПроцедуры
```
---
Отчеты...Создать() на клиенте не работает. Уточнил.

```1c
    &НаСервереБезКонтекста
    Функция СКДНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.Настройки;
    КонецФункции

    &НаСервереБезКонтекста
    Функция СКДПользовательскиеНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.ПользовательскиеНастройки;
    КонецФункции

    &НаСервереБезКонтекста
    Функция СКДФиксированныеНастройки(Отчет)
    О=Отчеты[Отчет].Создать();
    Возврат О.КомпоновщикНастроек.ФиксированныеНастройки;
    КонецФункции

    &НаКлиенте
    Процедура СКДНастройкиУстановитьПараметр(Настройки,Параметр,Значение,Использовать=Истина) Экспорт
    Если ТипЗнч(Настройки)=Тип("НастройкиКомпоновкиДанных") Тогда
    Элементы=Настройки.ПараметрыДанных.Элементы;
    Иначе
    Элементы=Настройки.Элементы;
    КонецЕсли;
    Для каждого Пар Из Элементы Цикл
    Если "+Пар.Параметр=Параметр Тогда
    Пар.Использование=Использовать;
    Пар.Значение=Значение;
    Возврат;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    &НаКлиенте
    Процедура СКДОтчетОткрыть(ИмяОтчета, ПараметрыОтчета)

    Настройки=СКДНастройки("ИмяОтчета");
    ПользовательскиеНастройки=СКДПользовательскиеНастройки("ИмяОтчета");
    ФиксированныеНастройки=СКДФиксированныеНастройки("ИмяОтчета");

    Для каждого Параметр Из ПараметрыОтчета Цикл
    СКДНастройкиУстановитьПараметр(Настройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ПользовательскиеНастройки,Параметр.Ключ,Параметр.Значение);
    СКДНастройкиУстановитьПараметр(ФиксированныеНастройки,Параметр.Ключ,Параметр.Значение);
    КонецЦикла;

    ПараметрыФормы=Новый Структура("СформироватьПриОткрытии,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки",
    Истина,ФиксированныеНастройки,ПользовательскиеНастройки,Настройки);
    Уникальность=ТекущаяДата();
    ОткрытьФорму("Отчет."+ИмяОтчета+".Форма",ПараметрыФормы,,Уникальность,,,,РежимОткрытияОкнаФормы.Независимый);

    КонецПроцедуры
```
---
Отчеты...Создать() на клиенте не работает. Уточнил.

Можно и не создавать отчет, а создать форму, у которой есть реквизит "Отчет", из него вытащить настройки, потом открыть форму.
---
Спасибо, но я все равно не очень понимаю.
Сейчас немного переигралось.
В общем нужно из документа передать параметр Код(код справочника) в реквизит отчета.
После использовать его в модуле объекта отчета. в экспортной процедуре, чтобы не дублировать процедуру в документ.

Тут будет проходить проверка.
По окончанию этой проверки будут получены данные(др,Фамилия, И.О. и тд.) по которым есть совпадения.

Так мне объяснил архитектор, но я застрял на этом параметре.
---
Тупанул.

Мне не нужен реквизит. Так как просто передаю его в процедуру.

Но все равно не очень понятно как передать данные в скд.
---
Что за процедура? Что за отчет (типовой, самописный)?
Если отчет СКД без своей формы отчета, то используется общая форма ФормаОтчета. При открытии формы программно можно в нее передать параметры (например, "код справочника"). Эти параметры обрабатываются в событии ПриСозданииНаСервере. Если форма отчета своя, то нужно самому в ней написать нужный код. Если своей формы нет, то смотрите, что делается в указанном событии в общей форме.
Предложенный мной код должен работать для отчета без своей формы отчета. Если Вы его воспроизвели и он не работает, то в каком месте?
---
Спасибо большое, мне помогли, но в итоге разобрался.

В модуле формы отчета выполняю запрос и передаю в отчет.

```1c
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДР", ДР);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ио", СокрИО);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", КонтактноеЛицо);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("почта", Почта);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("рабТел", РабТел);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("тел", Тел);
    Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Фам", Фам);
```