Цитата(logist @ 06.02.13, 18:09) необходимо зарегистрироваться для просмотра ссылки
Так это Вы изобретаете велосипед. Я бы просто изменил одну стандартную процедуру, добавив в нее три строчки:
Процедура ШтрихкодыПриНачалеРедактирования(Элемент, НоваяСтрока)
ТекущаяСтрока = Элемент.ТекущиеДанные;
Если НоваяСтрока Тогда
// Вставлено
НовыйШК = "";
ВвестиЗначение(НовыйШК);
ТекущаяСтрока.Штрихкод = НовыйШК;
// ---
ТекущаяСтрока.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
ТекущаяСтрока.Владелец = Ссылка;
ТекущаяСтрока.ЕдиницаИзмерения = ЕдиницаХраненияОстатков;
ТекущаяСтрока.Качество = Справочники.Качество.Новый;
КонецЕсли;
КонецПроцедуры // ШтрихкодыПриНачалеРедактирования()
Ваше решение теоретически верно, а практически не работает. А не работает потому что считанный сканером код не вставляется в выбранное поле как введенные данные с клавиатуры, а обробляется как внешнее событие, обробляется в другой процедуре, придется править и её, и потом опять же получается: нажал кнопку добавить, засканировал штрихкод, опять нажимай кнопку ок чтобы его добавить - слишком много движений.
Можно в принципе сделать проще, добавить к справочнику простую форму с написью "Просканируйте штрихкод", и в обработчике получившего новый штрих код, проверять открыта ли данная форма, если да то добавить новую запись, если нет, то изменить текущую активную запись.
Но все же хочется как-то попроще сделать.
Установкой
ЭтаФорма.ЭлементыФормы.Штрихкоды.ТекущаяСтрока - некатит, так как выскакивает ошибки - не обнаружен ключ записи. В отладчике видно - ЭтаФорма.ЭлементыФормы.Штрихкоды.ТекущаяСтрока - это тип РегистрСведенийКлючЗаписи.Штрихкоды.
Короче как решить незнаю пока, буду игратся. Если у кого-то будут идеи по решению данного вопроса, буду благодарен.