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

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КассыККМ.Ссылка КАК Ссылка,
    | КассыККМ.Наименование КАК Наименование
    |ИЗ
    | Справочник.КассыККМ КАК КассыККМ
    |ГДЕ
    | КассыККМ.РабочееМесто = &РабочееМесто
    | И НЕ КассыККМ.ПометкаУдаления";

    Запрос.УстановитьПараметр("РабочееМесто", ПараметрыСеанса.РабочееМестоКлиента);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Кмд = ЭтаФорма.Команды.Добавить(СтрЗаменить(ВыборкаДетальныеЗаписи.Наименование," ","));
    Кмд.Действие = "НажатиеКнопки";
    Кмд.Заголовок = ВыборкаДетальныеЗаписи.Наименование;

    //Добавляем новую кнопку
    Элемент2 = ЭтаФорма.Элементы.Добавить(СтрЗаменить(ВыборкаДетальныеЗаписи.Наименование," ","), Тип("КнопкаФормы"), ЭтаФорма);
    Элемент2.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
    Элемент2.ИмяКоманды = СтрЗаменить(ВыборкаДетальныеЗаписи.Наименование," ",");

    КонецЦикла;

    &НаКлиенте
    Процедура НажатиеКнопки(Элемент,здесь ПАРАМЕТР)

    Закрыть( Или здесь должен быть параметр из создаваемой программно кнопки\команды)

    КонецПроцедуры
```
---
```1c
    сч = 1;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ДобавляемыеРеквизиты = Новый Массив;

    ТипРеквизита = новый ОписаниеТипов(");

    РеквизитФормы = Новый РеквизитФормы(
    "КассаККМ" + сч, //Имя реквизита формы
    ТипРеквизита, //Тип
    ", //Путь (Пусто, "Объект", ИмяТЧ)
    // например "Объект.Товары"
    "Касса ККМ");//Заголовок

    ДобавляемыеРеквизиты.Добавить(РеквизитФормы);

    //Заставляем форму создать новые реквизиты
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

    //Обращение к реквизиту формы из кода
    ЭтаФорма.КассаККМ = ВыборкаДетальныеЗаписи.Ссылка;

    //Вывод реквизита на форму (при необходимости)
    ПолеВвода = Элементы.Добавить("ФормаКассаККМ + сч", Тип("ПолеФормы"), ЭтаФорма);
    ПолеВвода.Вид = ВидПоляФормы.ПолеНадписи;
    ПолеВвода.ПутьКДанным = "КассаККМ + сч";
    ПолеВвода.Гиперссылка = Истина;
    сч = сч +1;
    КонецЦикла;
```
---
Вместо кнопки создай гиперссылку (Декларация или полеНадписи) и при нажатии открывай ссылку
---
а хотя бы примерный код можете начиркать? Я не могу подобраться к реквизиту хоть какому нибудь.

Кнопка программно создается и отрабатывает, в заголовок команды передается наименование ккт, НО на клиенте заголовок недоступен, передать его на сервер чтобы запросом получить кассу по наименованию не получается, можно передать имя но у имени нет пробелов в итоге чтобы в запросе получить кассу по наименованию нужно городить запрос с подстрокой.

Вот и ищу хоть какой нибудь способ передать в "НажатиеКнопки" наименование или ссылку на ккт на которую нажимает пользователь.
---
```1c
    сч = 1;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ДобавляемыеРеквизиты = Новый Массив;

    ТипРеквизита = новый ОписаниеТипов(");

    РеквизитФормы = Новый РеквизитФормы(
    "КассаККМ" + сч, //Имя реквизита формы
    ТипРеквизита, //Тип
    ", //Путь (Пусто, "Объект", ИмяТЧ)
    // например "Объект.Товары"
    "Касса ККМ");//Заголовок

    ДобавляемыеРеквизиты.Добавить(РеквизитФормы);

    //Заставляем форму создать новые реквизиты
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);

    //Обращение к реквизиту формы из кода
    ЭтаФорма.КассаККМ = ВыборкаДетальныеЗаписи.Ссылка;

    //Вывод реквизита на форму (при необходимости)
    ПолеВвода = Элементы.Добавить("ФормаКассаККМ + сч", Тип("ПолеФормы"), ЭтаФорма);
    ПолеВвода.Вид = ВидПоляФормы.ПолеНадписи;
    ПолеВвода.ПутьКДанным = "КассаККМ + сч";
    ПолеВвода.Гиперссылка = Истина;
    сч = сч +1;
    КонецЦикла;
```
---
Именно в обработчике команды - никак.
Обработчик события выполнения команды на форме содержит один параметр, это сама команда.

Как уже сказали - храните отдельно параметр, или в самой процедуре его получайте, если это возможно.
---
или в самой процедуре его получайте, если это возможно Невозможно(
---
Сделайте реквизит формы, и положите параметр в него. Он доступен из любой процедуры формы, которой доступен контекст.
---
тут тоже не могу понять как сделать, получается что у меня команды создаются в цикле, а реквизит как создать? его значение в цикле перезапишется.
---
Создаете реквизит формы произвольного типа.
Создаете соответствие - где ключ - имя элемента формы (кнопки), а значение - ссылку на кассу.

Реквизиту формы присваиваете фиксированное соответствие, сформированное из этого соответствия.

Далее при нажатии на кнопку в обработчике команды находите текущий активный элемент - это будет кнопка, которую нажали. Берете имя этого элемента.

Из реквизита формы с фиксированным соответствием получаете ссылку на кассу по имени элемента.
Как-то так.