+ код на 7.7 на всякий случай:
Код 1C v 7.x
Процедура КопироватьЭлементСправочника(Конт) Экспорт
//*****
Перем К;
//*****
Если Конт.Выбран()=0 Тогда
Предупреждение("Копировать можно только сохраненный элемент");
Возврат;
КонецЕсли;
Если (Конт.ПометкаУдаления()=1) тогда
Предупреждение("Элемент помечен на удаление");
Возврат;
КонецЕсли;
ИмяСправочника = Строка(Конт.Вид());
Справ = СоздатьОбъект("Справочник."+ИмяСправочника);
Справ.Новый();
Если Конт.Уровень()>1 Тогда
Справ.Родитель = Конт.Родитель;
КонецЕсли;
Справ.Наименование=Конт.Наименование+"1";
Для К=1 to Метаданные.Справочник(ИмяСправочника).Реквизит() Цикл
Если Метаданные.Справочник(ИмяСправочника).Реквизит(К).Периодический =0 Тогда
ИмяРеквизита=Строка(Метаданные.Справочник(ИмяСправочника).Реквизит(К).Идентификатор);
Справ.УстановитьАтрибут(ИмяРеквизита,Конт.ПолучитьАтрибут(ИмяРеквизита));
КонецЕсли;
КонецЦикла;
Справ.Записать();
Образец = Конт.ТекущийЭлемент();
Копия=Справ.ТекущийЭлемент();
П = СоздатьОбъект("Периодический");
ПКоп = СоздатьОбъект("Периодический");
Тмп=Вопрос("Копировать историю периодических реквизитов?",4);
Для К=1 to Метаданные.Справочник(ИмяСправочника).Реквизит() Цикл
Если Метаданные.Справочник(ИмяСправочника).Реквизит(К).Периодический = 0 Тогда
Продолжить;
КонецЕсли;
ИмяРеквизита=Строка(Метаданные.Справочник(ИмяСправочника).Реквизит(К).Идентификатор);
ТипЗнач=Метаданные.Справочник(ИмяСправочника).Реквизит(К).Тип;
ТочнЗнач=Метаданные.Справочник(ИмяСправочника).Реквизит(К).Точность;
ДлинаЗнач=Метаданные.Справочник(ИмяСправочника).Реквизит(К).Длина;
П.ИспользоватьОбъект(ИмяРеквизита, Образец);
ПКоп.ИспользоватьОбъект(ИмяРеквизита, Копия);
П.ВыбратьЗначения();
Пока П.ПолучитьЗначение() = 1 Цикл
Если Тмп = 6 Тогда
ПКоп.ДатаЗнач = П.ДатаЗнач;
ПКоп.Значение = П.Значение;
Иначе
ПКоп.ДатаЗнач = '01.01.80';
ПКоп.Значение = П.ЗначениеНаДату(РабочаяДата());
КонецЕсли;
Если ТипЗнач <> "" Тогда
ПКоп.НазначитьТип(ТипЗнач,ДлинаЗнач,ТочнЗнач);
КонецЕсли;
ПКоп.Записать();
КонецЦикла;
КонецЦикла;
Тмп=Вопрос("Копировать элементы из подчиненных справочников?",4);
Если Тмп = 6 Тогда
глКопироватьПодчиненныеСправочники(Образец, Копия ,1);
КонецЕсли;
КонецПроцедуры
// ИЛИ проще
Процедура КопироватьЭлементСправочника(Конт, групппа) Экспорт
Перем К;
ИмяСправочника = Строка(Конт.Вид());
Если Конт.Выбран()=0 Тогда
Предупреждение("Копировать можно только сохраненный элемент");
Возврат;
КонецЕсли;
Если (Конт.ПометкаУдаления()=1) тогда
Предупреждение("Элемент помечен на удаление");
Возврат;
КонецЕсли;
Справ = СоздатьОбъект("Справочник."+Строка(Конт.Вид()));
Справ.Новый();
Справ.Наименование=Конт.Наименование;
Для К=1 to Метаданные.Справочник(ИмяСправочника).Реквизит() Цикл
Если Метаданные.Справочник(ИмяСправочника).Реквизит(К).Периодический =0 Тогда
ИмяРеквизита=Строка(Метаданные.Справочник(ИмяСправочника).Реквизит(К).Идентификатор);
Справ.УстановитьАтрибут(ИмяРеквизита,Конт.ПолучитьАтрибут(ИмяРеквизита));
КонецЕсли;
КонецЦикла;
Справ.Родитель=Группа;
Справ.УстановитьНовыйКод();
Справ.Записать();
Образец = Конт.ТекущийЭлемент();
Копия=Справ.ТекущийЭлемент();
КонецПроцедуры