Здравствуйте, возник вопрос. Как реализовать так что бы когда я проводил документ он создавался в другом документе? Вот есть код. Он был на кнопке. Но после того как я его вставил в ОбработкаПроведения, оно не работает.

```1c
    Процедура ОбработкаПроведения(Отказ, РежимПроведения,МассивДокументов)
    // Вставить содержимое обработчика.
    РеализацияТоваровИУслугНаСервере(МассивДокументов);
    КонецПроцедуры

    Функция РеализацияТоваровИУслугНаСервере(МассивДокументов) // Вставить содержимое обработчика.
    СписокСообщений = Новый СписокЗначений;

    Запрос = Новый Запрос;
    Запрос.Текст = " ВЫБРАТЬ
    | ВложенныйЗапрос.Водители,
    | ВложенныйЗапрос.Номенклатура,
    | ВложенныйЗапрос.ЕдиницаИзмерения,
    | ВложенныйЗапрос.Коэффициент,
    | ВложенныйЗапрос.Количество,
    | ВложенныйЗапрос.Сумма,
    | ВложенныйЗапрос.ЦенаДоставки,
    | ВложенныйЗапрос.ЦенаДоставкиЗаМКАД,
    | ВложенныйЗапрос.Цена КАК Цена,
    | ВложенныйЗапрос.Брак КАК Брак,
    | ВложенныйЗапрос.Возврат как Возврат
    |ИЗ
    | (ВЫБРАТЬ
    | ДоставкаТовары.Водители как Водители,
    | ДоставкаТовары.Номенклатура КАК Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент КАК Коэффициент,
    | СУММА(ДоставкаТовары.Количество) КАК Количество,
    | СУММА(ДоставкаТовары.Сумма) КАК Сумма,
    // | ДоставкаТовары.Маршруты.Водители КАК Водители,
    | ДоставкаТовары.ЦенаДоставки Как ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД КАК ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Цена КАК Цена,
    | ДоставкаТовары.Брак КАК Брак,
    | ДоставкаТовары.Возврат как Возврат

    // | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0) КАК Цена
    | ИЗ
    // | Документ.Доставка.Товары как ДоставкаТовары
    | Документ.МаршрутПоездки.Маршруты КАК ДоставкаТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    | ПО ДоставкаТовары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура
    | И ДоставкаТовары.Водители = ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки.Контрагент
    | ГДЕ
    | ДоставкаТовары.Ссылка В(&МассивДокументов)
    | И Брак = &Брак
    | И Возврат = &Возврат
    // | И ДоставкаТовары.Водители <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    // | И НЕ ДоставкаТовары.Номенклатура.Услуга
    // |
    | СГРУППИРОВАТЬ ПО
    | ДоставкаТовары.ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент,
    | ДоставкаТовары.Водители,
    | ДоставкаТовары.Цена,
    | ДоставкаТовары.Брак,
    | ДоставкаТовары.Возврат,
    | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0)) КАК ВложенныйЗапрос
    |ИТОГИ ПО
    | Водители";

    Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
    Запрос.УстановитьПараметр("Брак",Ложь);
    Запрос.УстановитьПараметр("Возврат",Ложь);
    Результат = Запрос.Выполнить();
    ВыборкаДокументов = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДокументов.Следующий() Цикл

    Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    Док.Дата = ТекущаяДата();
    Док.Контрагент = ВыборкаДокументов.Водители;
    Док.Комментарий = "Сформирован по доставкам " + Док.Дата;

    Док.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация2");

    ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док, глЗначениеПеременной("глТекущийПользователь"), Константы.ВалютаРегламентированногоУчета.Получить(), "Покупка");

    ВыборкаТоваров = ВыборкаДокументов.Выбрать();
    Пока ВыборкаТоваров.Следующий() Цикл
    НоваяСтрока = Док.Товары.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаТоваров);
    // Выполнить общие действия для всех документов при изменении номенклатуры.
    // ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(НоваяСтрока, Док);
    // НоваяСтрока.ЕдиницаИзмерения = ВыборкаТоваров.Номенклатура.ЕдиницаХраненияОстатков;
    НоваяСтрока.Коэффициент = НоваяСтрока.ЕдиницаИзмерения.Коэффициент;
    НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;

    // НоваяСтрока.Номенклатура = ВыборкаТоваров.Маршруты(Номенклатура);
    // НоваяСтрока.ЦенаДоставки = ВыборкаТоваров.ЦенаДоставки;
    КонецЦикла;

    Если Док.Товары.Количество() > 0 Тогда
    Док.Записать(РежимЗаписиДокумента.Запись);
    СписокСообщений.Добавить("Создан документ: " + Док.Ссылка);
    КонецЕсли;

    КонецЦикла;
    Возврат СписокСообщений;
    КонецФункции
```
---
```1c
    Функция РеализацияТоваровИУслугНаСервере()//(МассивДокументов) // Вставить содержимое обработчика.
    СписокСообщений = Новый СписокЗначений;

    Запрос = Новый Запрос;
    Запрос.Текст = " ВЫБРАТЬ
    | ВложенныйЗапрос.Водители,
    | ВложенныйЗапрос.Номенклатура,
    | ВложенныйЗапрос.ЕдиницаИзмерения,
    | ВложенныйЗапрос.Коэффициент,
    | ВложенныйЗапрос.Количество,
    | ВложенныйЗапрос.Сумма,
    | ВложенныйЗапрос.ЦенаДоставки,
    | ВложенныйЗапрос.ЦенаДоставкиЗаМКАД,
    | ВложенныйЗапрос.Цена КАК Цена,
    | ВложенныйЗапрос.Брак КАК Брак,
    | ВложенныйЗапрос.Возврат как Возврат
    |ИЗ
    | (ВЫБРАТЬ
    | ДоставкаТовары.Водители как Водители,
    | ДоставкаТовары.Номенклатура КАК Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент КАК Коэффициент,
    | СУММА(ДоставкаТовары.Количество) КАК Количество,
    | СУММА(ДоставкаТовары.Сумма) КАК Сумма,
    // | ДоставкаТовары.Маршруты.Водители КАК Водители,
    | ДоставкаТовары.ЦенаДоставки Как ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД КАК ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Цена КАК Цена,
    | ДоставкаТовары.Брак КАК Брак,
    | ДоставкаТовары.Возврат как Возврат

    // | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0) КАК Цена
    | ИЗ
    // | Документ.Доставка.Товары как ДоставкаТовары
    | Документ.МаршрутПоездки.Маршруты КАК ДоставкаТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    | ПО ДоставкаТовары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура
    | И ДоставкаТовары.Водители = ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки.Контрагент
    | ГДЕ
    | ДоставкаТовары.Ссылка В(&Ссылка)
    | И Брак = &Брак
    | И Возврат = &Возврат
    // | И ДоставкаТовары.Водители <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    // | И НЕ ДоставкаТовары.Номенклатура.Услуга
    // |
    | СГРУППИРОВАТЬ ПО
    | ДоставкаТовары.ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент,
    | ДоставкаТовары.Водители,
    | ДоставкаТовары.Цена,
    | ДоставкаТовары.Брак,
    | ДоставкаТовары.Возврат,
    | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0)) КАК ВложенныйЗапрос
    |ИТОГИ ПО
    | Водители";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Брак",Ложь);
    Запрос.УстановитьПараметр("Возврат",Ложь);
    Результат = Запрос.Выполнить();
    ВыборкаДокументов = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДокументов.Следующий() Цикл

    Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    Док.Дата = ТекущаяДата();
    Док.Контрагент = ВыборкаДокументов.Водители;
    Док.Комментарий = "Сформирован по доставкам " + Док.Дата;

    Док.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация2");

    ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док, глЗначениеПеременной("глТекущийПользователь"), Константы.ВалютаРегламентированногоУчета.Получить(), "Покупка");

    ВыборкаТоваров = ВыборкаДокументов.Выбрать();
    Пока ВыборкаТоваров.Следующий() Цикл
    НоваяСтрока = Док.Товары.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаТоваров);
    // Выполнить общие действия для всех документов при изменении номенклатуры.
    // ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(НоваяСтрока, Док);
    // НоваяСтрока.ЕдиницаИзмерения = ВыборкаТоваров.Номенклатура.ЕдиницаХраненияОстатков;
    НоваяСтрока.Коэффициент = НоваяСтрока.ЕдиницаИзмерения.Коэффициент;
    НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;

    // НоваяСтрока.Номенклатура = ВыборкаТоваров.Маршруты(Номенклатура);
    // НоваяСтрока.ЦенаДоставки = ВыборкаТоваров.ЦенаДоставки;
    КонецЦикла;

    Если Док.Товары.Количество() > 0 Тогда
    Док.Записать(РежимЗаписиДокумента.Запись);
    СписокСообщений.Добавить("Создан документ: " + Док.Ссылка);
    КонецЕсли;

    КонецЦикла;
    Возврат СписокСообщений;
    КонецФункции
```
---
(2)
А не в обработке заполнения надо это делать?
---
Скажите в каком плане, он не срабатываете или не вызывается??Отладкой смотрели, может какая то ошибка? Процедура ОбработкаПроведения у вас срабатывает, в ней почему то странным образом появился третий параметр ОбработкаПроведения(Отказ, РежимПроведения,МассивДокументов)
---
Нет ошибки. Просто не появляется в другом документе.
---
Так давай те еще раз. У вас есть документ РеализацияТоваровУслуг, когда вы его проводите должно создаться какой документ?
---
нужно присвоить ссылку этого документа в нечто.

при проведении ссылка уже существует и ее можно куда-то "приткнуть", правда хорошо бы обработать ситуацию отказа проведения.
---
Есть документ "Маршрут поездок", когда я его провожу. То данные с этого документа должны попасть в документ "РеализацияТоваровУслуг".
---
Все порешал!)) Заменил "Массив документов" На ссылку!)
---
```1c
    Функция РеализацияТоваровИУслугНаСервере()//(МассивДокументов) // Вставить содержимое обработчика.
    СписокСообщений = Новый СписокЗначений;

    Запрос = Новый Запрос;
    Запрос.Текст = " ВЫБРАТЬ
    | ВложенныйЗапрос.Водители,
    | ВложенныйЗапрос.Номенклатура,
    | ВложенныйЗапрос.ЕдиницаИзмерения,
    | ВложенныйЗапрос.Коэффициент,
    | ВложенныйЗапрос.Количество,
    | ВложенныйЗапрос.Сумма,
    | ВложенныйЗапрос.ЦенаДоставки,
    | ВложенныйЗапрос.ЦенаДоставкиЗаМКАД,
    | ВложенныйЗапрос.Цена КАК Цена,
    | ВложенныйЗапрос.Брак КАК Брак,
    | ВложенныйЗапрос.Возврат как Возврат
    |ИЗ
    | (ВЫБРАТЬ
    | ДоставкаТовары.Водители как Водители,
    | ДоставкаТовары.Номенклатура КАК Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент КАК Коэффициент,
    | СУММА(ДоставкаТовары.Количество) КАК Количество,
    | СУММА(ДоставкаТовары.Сумма) КАК Сумма,
    // | ДоставкаТовары.Маршруты.Водители КАК Водители,
    | ДоставкаТовары.ЦенаДоставки Как ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД КАК ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Цена КАК Цена,
    | ДоставкаТовары.Брак КАК Брак,
    | ДоставкаТовары.Возврат как Возврат

    // | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0) КАК Цена
    | ИЗ
    // | Документ.Доставка.Товары как ДоставкаТовары
    | Документ.МаршрутПоездки.Маршруты КАК ДоставкаТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    | ПО ДоставкаТовары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура
    | И ДоставкаТовары.Водители = ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки.Контрагент
    | ГДЕ
    | ДоставкаТовары.Ссылка В(&Ссылка)
    | И Брак = &Брак
    | И Возврат = &Возврат
    // | И ДоставкаТовары.Водители <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    // | И НЕ ДоставкаТовары.Номенклатура.Услуга
    // |
    | СГРУППИРОВАТЬ ПО
    | ДоставкаТовары.ЦенаДоставки,
    | ДоставкаТовары.ЦенаДоставкиЗаМКАД,
    | ДоставкаТовары.Номенклатура,
    | ДоставкаТовары.ЕдиницаИзмерения,
    | ДоставкаТовары.Коэффициент,
    | ДоставкаТовары.Водители,
    | ДоставкаТовары.Цена,
    | ДоставкаТовары.Брак,
    | ДоставкаТовары.Возврат,
    | ЕСТЬNULL(ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал, 0)) КАК ВложенныйЗапрос
    |ИТОГИ ПО
    | Водители";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Брак",Ложь);
    Запрос.УстановитьПараметр("Возврат",Ложь);
    Результат = Запрос.Выполнить();
    ВыборкаДокументов = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДокументов.Следующий() Цикл

    Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    Док.Дата = ТекущаяДата();
    Док.Контрагент = ВыборкаДокументов.Водители;
    Док.Комментарий = "Сформирован по доставкам " + Док.Дата;

    Док.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация2");

    ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док, глЗначениеПеременной("глТекущийПользователь"), Константы.ВалютаРегламентированногоУчета.Получить(), "Покупка");

    ВыборкаТоваров = ВыборкаДокументов.Выбрать();
    Пока ВыборкаТоваров.Следующий() Цикл
    НоваяСтрока = Док.Товары.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаТоваров);
    // Выполнить общие действия для всех документов при изменении номенклатуры.
    // ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(НоваяСтрока, Док);
    // НоваяСтрока.ЕдиницаИзмерения = ВыборкаТоваров.Номенклатура.ЕдиницаХраненияОстатков;
    НоваяСтрока.Коэффициент = НоваяСтрока.ЕдиницаИзмерения.Коэффициент;
    НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;

    // НоваяСтрока.Номенклатура = ВыборкаТоваров.Маршруты(Номенклатура);
    // НоваяСтрока.ЦенаДоставки = ВыборкаТоваров.ЦенаДоставки;
    КонецЦикла;

    Если Док.Товары.Количество() > 0 Тогда
    Док.Записать(РежимЗаписиДокумента.Запись);
    СписокСообщений.Добавить("Создан документ: " + Док.Ссылка);
    КонецЕсли;

    КонецЦикла;
    Возврат СписокСообщений;
    КонецФункции
```