На основании заказа покупателя создаю расходную накладную и пытаюсь ее распечатать
Пишу код:
```1c
    &НаКлиенте
    Процедура создатьРасходнуюНакладную(Команда,ПараметрыКоманды)

    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_РасходнаяНакладная";
    Док1=СоздатьРасходнуюНакладнуюНаСервере();
    Если Док1 тогда
    Режим = РежимДиалогаВопрос.ДаНет;
    Ответ = Вопрос("Напечатать документ Расходная накладная?",Режим,0);
    Если Ответ = КодВозвратаДиалога.Да Тогда

    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.РасходнаяНакладная", "Накладная",ПараметрыКоманды,ТабличныйДокумент,"ПАРАМЕТРЫ_ПЕЧАТИ_РасходнаяНакладная_Накладная");

    КонецЕсли;

    Записать();
    Конецесли;

    КонецПроцедуры
```
 В конце концов ошибка в модуле менеджера документа "РасходнаяНакладная: {Документ.РасходнаяНакладная.МодульМенеджера(3420)}: Итератор для значения не определен
 Для Каждого ТекущийДокумент Из МассивОбъектов Цикл
---
ЗАДАЧА РЕШЕНА, ТЕМА ЗАКРЫТА!
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :

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

Возникает вопрос, что у тебя в параметрах команды ?
и почему ссылка на твой вновь созданный документ, нигде не фигурирует ?
---
3 параметром в УправлениеПечатьюКлиент.ВыполнитьКомандуПечати должен быть передан массив ссылок на документы, которые нужно распечатать, вместо ПараметрыКоманды
---
Записать(); на клиенте? А в каком месте хоть ругается?
---
И что вы записываете вообще?
---
Модальные вызовы на УФ плохой тон. Так же проверяйте что у вас в переменной Док1, лучше передавать в неё не булевый тип а ссылку на созданный документ.
---
Вопросов масса.
- Точный текст ошибки (обычно ссылается на строчку кода)
- Что возвращает функция СоздатьРасходнуюНакладнуюНаСервере?
- Что печатаем?
- Что записываем?
- Где вообще исполняется вся эта прелесть?
---
Итераторов тут никаких не видно, значит ошибка не в этом участке кода что вы скидываете.
---
1. Запускаешь отладчик.
2. Включаешь остановку по ошибке.
3. Смотришь стек вызовов.
---
А там что?
```1c
    СоздатьРасходнуюНакладнуюНаСервере();
```
---
судя по всему процедура создает накладную и возвращает истину либо ложь. Т.е. ссылки на документ нет вообще нигде.

Вопрос к топикстартеру.
Что она (процедура) вообще должна делать, Карл ? :))
---
возвращает истину либо ложьДа вот не факт, мы все еще не знаем, где именно падает с ошибкой.
---
Создается Р/Н и заполняется по заказу. Далее эту Р/Н необходимо распечатать.
---
Полный код:
```1c
    &НаСервере
    Функция СоздатьРасходнуюНакладнуюНаСервере()

    ЭтотДокумент = РеквизитФормыВЗначение("Объект");
    ЭтотДокумент.Записать(РежимЗаписиДокумента.Проведение);
    ЗначениеВРеквизитФормы(ЭтотДокумент, "Объект");
    Док1=Документы.РасходнаяНакладная.СоздатьДокумент();
    Док1.Заполнить(Объект.ссылка);
    Док1.дата=Текущаядата();
    Док1.Ответственный=Объект.Ответственный;
    Док1.Подразделение=Объект.СтруктурнаяЕдиницаПродажи;
    Док1.Автор=Объект.Автор;
    Док1.Комментарий=Объект.Комментарий;

    Если Док1.Запасы.Количество()=0 тогда
    Сообщить("Вы уже создали расходную накладную!!!");
    Возврат Ложь;
    КонецЕсли;

    Если Док1.Запасы.Количество()>0 Тогда
    Док1.Записать(Режимзаписидокумента.Проведение);
    Сообщить("Создан документ "+док1);
    Если док1.Проведен тогда
    Объект.СостояниеЗаказа=справочники.СостоянияЗаказовПокупателей.НайтиПоКоду("Выполнен9");
    Возврат Истина;
    КонецЕсли;
    Иначе
    Сообщить("Вы уже создали расходную накладную!!!");
    Возврат Ложь;

    КонецЕсли;

    // Вставить содержимое обработчика.
    КонецФункции

    &НаКлиенте
    Процедура создатьРасходнуюНакладную(Команда,ПараметрыКоманды)

    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_РасходнаяНакладная";
    Док1=СоздатьРасходнуюНакладнуюНаСервере();
    Если Док1 тогда
    Режим = РежимДиалогаВопрос.ДаНет;
    Ответ = Вопрос("Напечатать документ Расходная накладная?",Режим,0);
    Если Ответ = КодВозвратаДиалога.Да Тогда

    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.РасходнаяНакладная", "Накладная",ПараметрыКоманды,ТабличныйДокумент,"ПАРАМЕТРЫ_ПЕЧАТИ_РасходнаяНакладная_Накладная");

    КонецЕсли;

    Записать();
    Конецесли;

    КонецПроцедуры
```
---
На клиенте создаешь табличный документ (пустой), вызываешь процедуру создания накладной, заполняешь в ней по текущему документу (Можно было просто использовать Объект.Ссылка, Обратная передача в реквизит не нужна ЗначениеВРеквизитФормы(ЭтотДокумент, "Объект"); )

На управление печати передаешь все еще пустой табличный документ, ПараметрыКоманды на входе в клиентскую процедуру непонятные
---
Как на основании изложенного кода тогда правильно скомпоновать?
---
В управляемых формах с Вопросами так не работают. Только если включено разрешение работы с толстым клиентом.
---
а почему вы не запилите это в создать на основании? а в расходной дописать заполнение по ЗК, а после проверять если создан по ЗК спрашивать о распечатке и использовать команду уже из документа расходной накладной печать?
не разбирался, можно ли так, просто мысль
---
Собственно решения никто не сможет дать?
---
ЗАДАЧА РЕШЕНА, ТЕМА ЗАКРЫТА!
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :

```1c
    Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
    | Док.Ссылка
    |ИЗ
    | Документ.РасходнаяНакладная КАК Док
    |ГДЕ
    | Док.ЗаказПокупателя = &ЗаказСсылка
    | И НЕ Док.ПометкаУдаления
    | И НЕ Док.ЗаказПокупателя.ПометкаУдаления");
```