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