Есть такая процедура

```1c
    Процедура ИнвентарныйНомерПолеВводаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    ОчисткаПолейВвода(ИнвентарныйНомерПолеВвода);

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОсновныеСредства.Наименование,
    | ОсновныеСредства.ПервоначальнаяСтоимость,
    | ОсновныеСредства.КодПоОКОФ,
    | ОсновныеСредства.АмортизационнаяГруппа,
    | МестонахождениеОССрезПоследних.Состояние,
    | ОсновныеСредства.ЗаводскойНомер,
    | СобытияОСПринятоКУчету.ДатаСобытия КАК ПринятоКУчету,
    | ЕСТЬNULL(СобытияОССнятосУчета.ДатаСобытия, ДАТАВРЕМЯ(1, 1, 1)) КАК СнятоСУчета,
    | ОсновныеСредства.Код
    |ИЗ
    | РегистрСведений.МестонахождениеОС.СрезПоследних КАК МестонахождениеОССрезПоследних,
    | Справочник.ОсновныеСредства КАК ОсновныеСредства,
    | РегистрСведений.СобытияОС КАК СобытияОСПринятоКУчету
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СобытияОС КАК СобытияОССнятосУчета
    | ПО (СобытияОССнятосУчета.ИнвНомер = &СобИнвНомер)
    | И (СобытияОССнятосУчета.Событие = &Событие2)
    |ГДЕ
    | ОсновныеСредства.Код = &Код
    | И МестонахождениеОССрезПоследних.ИнвНомер.Ссылка = &ИнвНомер
    | И СобытияОСПринятоКУчету.ИнвНомер = &СобИнвНомер
    | И СобытияОСПринятоКУчету.Событие = &Событие1";

    Запрос.УстановитьПараметр("ИнвНомер", ВыбранноеЗначение);
    Запрос.УстановитьПараметр("Код", СокрЛП(ВыбранноеЗначение));

    Запрос.УстановитьПараметр("СобИнвНомер", ВыбранноеЗначение);
    Запрос.УстановитьПараметр("Событие1", Перечисления.ВидыСобытийОС.ПринятиеКУчету);
    Запрос.УстановитьПараметр("Событие2", Перечисления.ВидыСобытийОС.Списание);

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

    Пока Выборка.Следующий() Цикл
    НаименованиеОбъекта = Выборка.Наименование;
    ПервоначальнаяСтоимостьПолеВвода = Выборка.ПервоначальнаяСтоимость;
    ИдентификационныйНомерПолеВвода = Выборка.Код;
    ОКОФПолеВвода = Выборка.КодПоОКОФ;
    АмортизационнаяГруппаПолеВвода = Выборка.АмортизационнаяГруппа;
    ЗаводскойНомерПолеВвода = Выборка.ЗаводскойНомер;

    СостояниеОСПолеВвода = Выборка.Состояние;
    СрокПолезногоИспользованияПолеВвода = УправлениеНефинансовымиАктивами.РасчетСрокаПолезногоИспользования(Выборка.АмортизационнаяГруппа);

    ДатаПринятияКУчету = Выборка.ПринятоКУчету;
    ДатаСнятияСУчета = Выборка.СнятоСУчета;
    КонецЦикла;

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

Пробую вызвать ее из процедуры ТаблицаТоваровИнвНомерПриИзменении(Элемент) с такими параметрами
ИнвентарныйНомерПолеВводаОбработкаВыбора(Элемент, Элемент.Значение, СтандартнаяОбработка);

Получаю ошибку

Переменная не определена (СтандартнаяОбработка)
ИнвентарныйНомерПолеВводаОбработкаВыбора(Элемент, Элемент.Значение, <<?>>СтандартнаяОбработка);

(Проверка: Толстый клиент (обычное приложение))
---
Правильно ругается, потому что переменную СтандартнаяОбработка нигде не определили.

```1c
    ИнвентарныйНомерПолеВводаОбработкаВыбора(Элемент, Элемент.Значение, Истина)
```
---
Правильно ругается, потому что переменную СтандартнаяОбработка нигде не определили.

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

    Запрос.УстановитьПараметр("ИнвНомер", ВыбранноеЗначение); //Тут должна быть ссылка
    Запрос.УстановитьПараметр("Код", СокрЛП(ВыбранноеЗначение)); //Тут могу ошибиться но видимо ОбщегоНазначенияКлиентСервер.ЗначениеРеквизитаОбъекта(ВыбранноеЗначение,"код");
---
Да верно. В обработчике выбора номер выбирается из справочника. Но тут мне нужно его вводить вручную, т.к. поиск должен быть еще в одном справочнике
---
У вас все получится, не сдавайтесь.
---
Что нельзя ввести в поле ввода номер и запросом найти его в справочнике?
---
Можно.
P.S Я не знаю, что именно вы делаете и для чего.