Такая проблема, не знаю как реализовать, помогите пожалуйста:
Есть список документов "МедОсмотры", в каждом документе несколько строк осмотра с №, временем, сотрудником и тд.
Как сделать так, чтобы при добавлении новой строки в документе запускался Отчет.ПоискСотрудника, куда вводился бы номер сотрудника сканером, а этот номер искался бы по справочникуФизическиеЛица.НомерБрелка и в строку докумена вставлялась бы только ФИО сотрудника из этого справочника.
Заранее спасибо !

http://zalil.ru/32828339
---
вот ссылка на конфигурацию, где все работает по механизму, описанному мною выше:
http://zalil.ru/32841046

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

```1c
    НомерБрелка = ";
    Подсказка = "Введите номер брелка";
    Если ВвестиСтроку(НомерБрелка, Подсказка, 0, Истина) Тогда
    // запомнить текст
    КонецЕсли
```

Если текст введен (считан сканером), ищем по этому номеру физлицо, и, если находим, добавляем в табличную часть документа:

```1c
    ПоискФизлица = Справочники.ФизическиеЛица.НайтиПоРеквизиту("НомерБрелка", НомерБрелка);
    Если НЕ ПоискФизлица.Пустая() Тогда
    СтрокаТабЧасти = ИмяТабЧасти.Добавить();
    СтрокаТабЧасти.Физлицо = ПоискФизлица.Ссылка;
    Иначе
    Сообщить("Физлицо не найдено по номеру брелка " + НомерБрелка);
    КонецЕсли;
```
---
Uncore,
Пробовал сделать как ты рекомендовал, получилось:

```1c
    {Документ.МедОсмотры.Форма.ФормаДокумента.Форма(29,16)}: Переменная не определена (Справочники)
    ПоискФизлица = <<?>>Справочники.ФизическиеЛица.НайтиПоРеквизиту("НомерБрелка", НомерБрелка); (Проверка: Тонкий клиент)
    {Документ.МедОсмотры.Форма.ФормаДокумента.Форма(31,18)}: Переменная не определена (ИмяТабЧасти)
    СтрокаТабЧасти = <<?>>ИмяТабЧасти.Добавить(); (Проверка: Тонкий клиент)
```

Парни, пытался как вы предлагаете, но не получается (( Гляньте, плиз, что не так ((

Уточнил у юзверов, им нужно чтобы в документе было окно типа "ввод значения" куда вводился бы "НомерБрелка" и по нему создается новая строка с ФИО сотрудника в соотв.поле...
Конфигурацию прилагаю. По возможности гляньте там, с 1с месяц знаком...

http://zalil.ru/32840962
---
вот ссылка на конфигурацию, где все работает по механизму, описанному мною выше:
http://zalil.ru/32841046

Добавил кнопку в табличной части документа с названием "Поиск физлица", при нажатии на которую выскакивает окошко с запросом номера брелка. После ввода туда значения со сканера (после считывания окошко должно закрыться автоматически) или вручную (нужно нажать кнопку ОК или с клавиатуры Enter) в базе будет произведен поиск физлица по введеному номеру брелка. Если физлицо найдено, будет добавлена новая строка с этим физлицом. Кстати, тип у физлица в табличной части документа был строковый, исправил на СправочникСсылка.ФизическиеЛица. Если Физлицо не найдено, будет выдано сообщение об ошибке. Если в табличной части уже имеется добавляемое физлицо, также будет сообщено об ошибке.
---
при добавлении новой строки в документе запускался Отчет.ПоискСотрудника - Смотреть событие ПриИзменении вашей ТабЧасти.
---
А нельзя сразу сканер привинтить к этой строке? Чтобы при нахождении по НомерБрелка уже и вставлялось ФИО?
---
alljoke,
А нельзя сразу сканер привинтить к этой строке? Чтобы при нахождении по НомерБрелка уже и вставлялось ФИО?
Желательно конечно чтобы через форму "Отчет.ПоискСотрудника"...
Ну можно и так, вот только как это сделать ?
---
А отчёт то зачем? О_о
---
doom2good, ну можно и без отчета, я это так написал как думал лучше...
Нужно чтоб при добавлении новой строки выходила форма "Номер Брелка"...
Но если легче без нее, то можно и без нее... :)
---
может я что то неправильно понял, но как понял предложу :)

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