Помощь новичку

Версия для печатиPDF-версия

Платформа:

Как создать команду 1) для добавления записей в справочник из табличной части документа 2) для добавления записи в справочник из обычного поля и как проверить на дублирование записей

Как-то так:

// Обработчик команды создания элемента справочника по значению реквизита НаименованиеНовогоЭлемента
&НаКлиенте
Процедура СоздатьЭлементСправочника(Команда)
	Если ЗначениеЗаполнено(Объект.НаименованиеНовогоЭлемента) Тогда 
		СоздатьЭлементСправочникаНаСервере(Объект.НаименованиеНовогоЭлемента);
	КонецЕсли;
КонецПроцедуры

// Обработчик команды создания элементов справочника по табличной части ТабличнаяЧасть с колонкой Наименование
&НаКлиенте
Процедура СоздатьЭлементыСправочника(Команда)
	Если Объект.ТабличнаяЧасть.Количество() Тогда 
		СоздатьЭлементыСправочникаНаСервере();
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура СоздатьЭлементыСправочникаНаСервере()
	Для Каждого СтрокаТЧ Из Объект.ТабличнаяЧасть Цикл 
		Если ЗначениеЗаполнено(СтрокаТЧ.Наименование) Тогда 
			СоздатьЭлементСправочникаНаСервере(СтрокаТЧ.Наименование);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

&НаСервере
Процедура СоздатьЭлементСправочникаНаСервере(Наименование)
	Если ЭлементОтсутствует(Наименование) Тогда 
		НовыйЭлемент = Справочники.<ИмяСправочника>.СоздатьЭлемент();
		НовыйЭлемент.Наименование = Наименование;
		Попытка
			НовыйЭлемент.Записать();
		Исключение
			Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		КонецПопытки;
	КонецЕсли;
КонецПроцедуры

// Проверка наличия элемента справочника с таким же наименованием
&НаСервереБезКонтекста
Функция ЭлементОтсутствует(Наименование)
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Спр.Ссылка
		|ИЗ
		|	Справочник.<ИмяСправочника> КАК Спр
		|ГДЕ
		|	Спр.Наименование = &Наименование";
	Запрос.УстановитьПараметр("Наименование", Наименование);
	РезультатЗапроса = Запрос.Выполнить();
	Возврат РезультатЗапроса.Пустой();
КонецФункции