Добрый день! В модуле справочника ПриказОСоставеКомиссии есть процедура ПриКопировании. Данный процедура создает новый элемент справочника копируя сведения (из регистра сведений) принадлежащие старому элемента справочника. Так вот новый элемент создается, но не записывается, при записи из формы этого элемента создается новый элемент, а старый <Объект не найдет>. Подскажите пожалуйста как в этой процедуре записать и закрыть созданный элемент. Что бы при нажатие на кн Скопировать создавался один элемент справочника.

```1c
    Процедура ПриКопировании(ОбъектКопирования)

    КлючУникальности = Новый УникальныйИдентификатор();
    ТекущаяСсылка = Справочники.ПриказОСоставеКомиссии.ПолучитьСсылку(КлючУникальности);
    УстановитьСсылкуНового(ТекущаяСсылка);
    ПриказСсылка = ПолучитьСсылкуНового();

    Запрос = Новый Запрос
    ("ВЫБРАТЬ
    | ОтветственныеЛицаКомиссииСрезПоследних.Период,
    | ОтветственныеЛицаКомиссииСрезПоследних.Организация,
    | ОтветственныеЛицаКомиссииСрезПоследних.Подразделение,
    | ОтветственныеЛицаКомиссииСрезПоследних.Приказ,
    | ОтветственныеЛицаКомиссииСрезПоследних.Признак,
    | ОтветственныеЛицаКомиссииСрезПоследних.Строка,
    | ОтветственныеЛицаКомиссииСрезПоследних.ФизЛицо,
    | ОтветственныеЛицаКомиссииСрезПоследних.Должность
    |ИЗ
    | РегистрСведений.ОтветственныеЛицаКомиссии.СрезПоследних(, Приказ = &Приказ) КАК
    ОтветственныеЛицаКомиссииСрезПоследних");
    Запрос.УстановитьПараметр("Приказ",ОбъектКопирования.Ссылка);

    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() цикл
    НоваяЗаписьРегСведеней = РегистрыСведений._УГН_ОтветственныеЛицаКомиссии.СоздатьМенеджерЗаписи();
    НоваяЗаписьРегСведеней.Период = ТекущаяДата();
    НоваяЗаписьРегСведеней.Подразделение = Результат.Подразделение;
    НоваяЗаписьРегСведеней.Приказ = ПриказСсылка;
    НоваяЗаписьРегСведеней.Организация = Результат.Организация;
    НоваяЗаписьРегСведеней.Признак = Результат.Признак;
    НоваяЗаписьРегСведеней.Строка = Результат.Строка;
    НоваяЗаписьРегСведеней.ФизЛицо = Результат.ФизЛицо;
    НоваяЗаписьРегСведеней.Должность = Результат.Должность;
    НоваяЗаписьРегСведеней.Записать(истина);
    КонецЦикла;

    Справочники.ПриказОСоставеКомиссии.ОповеститьОКопировании();

    КонецПроцедуры
```

В менеджере этого справочника

```1c
    &НаКлиенте
    Процедура ОповеститьОКопировании () Экспорт

    Оповестить("Копирование_Приказа",,);

    КонецПроцедуры
```

и на форме списка

```1c
    &НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

    Если ИмяСобытия = "Копирование_Приказа" Тогда
    Элементы.Список.Обновить();
    КонецЕсли;

    КонецПроцедуры
```
---
Спасибо всем участвующим)! Мое решение:
На форме создала реквизит ЗначениеОбъектКопирования Справочник. ПриказОСоставеКомиссии.

В модуле

```1c
    Процедура ПриКопировании(ОбъектКопирования)

    ДополнительныеСвойства.Вставить("ЗначениеОбъектКопирования", ОбъектКопирования.Ссылка);

    КонецПроцедуры
```

В форме элемента

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если НЕ Параметры.ЗначениеКопирования.Пустая() И Параметры.Ключ.Пустая() Тогда

    Записать();

    Запрос = Новый Запрос
    ("ВЫБРАТЬ
    | ОтветственныеЛицаКомиссииСрезПоследних.Период,
    | ОтветственныеЛицаКомиссииСрезПоследних.Организация,
    | ОтветственныеЛицаКомиссииСрезПоследних.Подразделение,
    | ОтветственныеЛицаКомиссииСрезПоследних.Приказ,
    | ОтветственныеЛицаКомиссииСрезПоследних.Признак,
    | ОтветственныеЛицаКомиссииСрезПоследних.Строка,
    | ОтветственныеЛицаКомиссииСрезПоследних.ФизЛицо,
    | ОтветственныеЛицаКомиссииСрезПоследних.Должность
    |ИЗ
    | РегистрСведений.ОтветственныеЛицаКомиссии.СрезПоследних(, Приказ = &Приказ) КАК ОтветственныеЛицаКомиссииСрезПоследних");

    Запрос.УстановитьПараметр("Приказ", Параметры.ЗначениеОбъектКопирования.Ссылка);

    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() цикл
    НоваяЗаписьРегСведеней = РегистрыСведений.ОтветственныеЛицаКомиссии.СоздатьМенеджерЗаписи();
    НоваяЗаписьРегСведеней.Период = ТекущаяДата();
    НоваяЗаписьРегСведеней.Подразделение = Результат.Подразделение;
    НоваяЗаписьРегСведеней.Приказ = Объект.Ссылка;
    НоваяЗаписьРегСведеней.Организация = Результат.Организация;
    НоваяЗаписьРегСведеней.Признак = Результат.Признак;
    НоваяЗаписьРегСведеней.Строка = Результат.Строка;
    НоваяЗаписьРегСведеней.ФизЛицо = Результат.ФизЛицо;
    НоваяЗаписьРегСведеней.Должность = Результат.Должность;
    НоваяЗаписьРегСведеней.Записать(истина);
    КонецЦикла;

    Справочники.ПриказОСоставеКомиссии.ОповеститьОКопировании();
    КонецЕсли;

    КонецПроцедуры
```
---
ПриКопировании создает объект который ещё не записан в базу данных. Вам сначала надо его записать (например сразу при открытии формы с признаком копирования) и после этого скопировать для него движения из рс.
---
ПриОткрытии() на форме элемента? И еще вопрос признак копирования как установить?
---
```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    // Если Копирование тогда
    Если НЕ Параметры.ЗначениеКопирования.Пустая() И Объект.Ссылка.Пустая() Тогда

    // Записываем документ
    Записать();

    // Теперь имеем заполненную Объект.Ссылка и можешь создать запись в регистре сведений

    КонецЕсли;

    КонецПроцедуры
```
---
Я делала так мне необходимо было подчиненный справочник.чтобы копировался тоже... : В модуле объекта

```1c
    Функция ПолучитьРецептурыБлюдаОбъектаКопирования(ОбъектКопирования) Экспорт

    #Если Клиент Тогда
    ВыборкаРецептур = Справочники.РецептурыБлюд.Выбрать(, ОбъектКопирования.Ссылка);
    Если ВыборкаРецептур.Следующий() Тогда
    Если Вопрос("Копировать рецептуры блюда?",РежимДиалогаВопрос.ДаНет,60,КодВозвратаДиалога.Нет) = КодВозвратаДиалога.Нет Тогда
    Возврат Неопределено;
    КонецЕсли;

    ТзРецептурыБлюда = Новый ТаблицаЗначений;
    ТзРецептурыБлюда.Колонки.Добавить("Ссылка");

    СтрокаТзРецептурыБлюда = ТзРецептурыБлюда.Добавить();
    СтрокаТзРецептурыБлюда.Ссылка = ВыборкаРецептур.Ссылка;

    Пока ВыборкаРецептур.Следующий() Цикл
    СтрокаТзРецептурыБлюда = ТзРецептурыБлюда.Добавить();
    СтрокаТзРецептурыБлюда.Ссылка = ВыборкаРецептур.Ссылка;
    КонецЦикла;

    Возврат ТзРецептурыБлюда;
    Иначе
    Возврат Неопределено;
    КонецЕсли;
    #Иначе
    Возврат Неопределено;
    #КонецЕсли

    КонецФункции
```

При Записи в формеэлемента

```1c
    // Запись рецептур блюда из объекта копирования
    Если Не обПустоеЗначение(ТзРецептурыБлюда) Тогда
    Для Каждого СтрокаТзРецептурыБлюда Из ТзРецептурыБлюда Цикл
    // Запись рецептур блюда из объекта копирования
    РецептураБлюда = СтрокаТзРецептурыБлюда.Ссылка.Скопировать();
    РецептураБлюда.Владелец = Ссылка;
    РецептураБлюда.Записать();

    Если СтрокаТзРецептурыБлюда.Ссылка = ПараметрОбъектКопирования.ОсновнаяРецептураБлюда Тогда
    ОсновнаяРецептураБлюда = РецептураБлюда.Ссылка;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
```

И в приОткрытии

Перем ТзРецептурыБлюда ;

ТзРецептурыБлюда = ПолучитьРецептурыБлюдаОбъектаКопирования(ПараметрОбъектКопирования);
---
Спасибо всем участвующим)! Мое решение:
На форме создала реквизит ЗначениеОбъектКопирования Справочник. ПриказОСоставеКомиссии.

В модуле

```1c
    Процедура ПриКопировании(ОбъектКопирования)

    ДополнительныеСвойства.Вставить("ЗначениеОбъектКопирования", ОбъектКопирования.Ссылка);

    КонецПроцедуры
```

В форме элемента

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если НЕ Параметры.ЗначениеКопирования.Пустая() И Параметры.Ключ.Пустая() Тогда

    Записать();

    Запрос = Новый Запрос
    ("ВЫБРАТЬ
    | ОтветственныеЛицаКомиссииСрезПоследних.Период,
    | ОтветственныеЛицаКомиссииСрезПоследних.Организация,
    | ОтветственныеЛицаКомиссииСрезПоследних.Подразделение,
    | ОтветственныеЛицаКомиссииСрезПоследних.Приказ,
    | ОтветственныеЛицаКомиссииСрезПоследних.Признак,
    | ОтветственныеЛицаКомиссииСрезПоследних.Строка,
    | ОтветственныеЛицаКомиссииСрезПоследних.ФизЛицо,
    | ОтветственныеЛицаКомиссииСрезПоследних.Должность
    |ИЗ
    | РегистрСведений.ОтветственныеЛицаКомиссии.СрезПоследних(, Приказ = &Приказ) КАК ОтветственныеЛицаКомиссииСрезПоследних");

    Запрос.УстановитьПараметр("Приказ", Параметры.ЗначениеОбъектКопирования.Ссылка);

    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() цикл
    НоваяЗаписьРегСведеней = РегистрыСведений.ОтветственныеЛицаКомиссии.СоздатьМенеджерЗаписи();
    НоваяЗаписьРегСведеней.Период = ТекущаяДата();
    НоваяЗаписьРегСведеней.Подразделение = Результат.Подразделение;
    НоваяЗаписьРегСведеней.Приказ = Объект.Ссылка;
    НоваяЗаписьРегСведеней.Организация = Результат.Организация;
    НоваяЗаписьРегСведеней.Признак = Результат.Признак;
    НоваяЗаписьРегСведеней.Строка = Результат.Строка;
    НоваяЗаписьРегСведеней.ФизЛицо = Результат.ФизЛицо;
    НоваяЗаписьРегСведеней.Должность = Результат.Должность;
    НоваяЗаписьРегСведеней.Записать(истина);
    КонецЦикла;

    Справочники.ПриказОСоставеКомиссии.ОповеститьОКопировании();
    КонецЕсли;

    КонецПроцедуры
```