На основании заказа покупателя создаю расходную накладную и пытаюсь ее распечатать
Пишу код: В конце концов ошибка в модуле менеджера документа "РасходнаяНакладная: {Документ.РасходнаяНакладная.МодульМенеджера(3420)}: Итератор для значения не определен
Для Каждого ТекущийДокумент Из МассивОбъектов Цикл
Пишу код:
&НаКлиенте
Процедура создатьРасходнуюНакладную(Команда,ПараметрыКоманды)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_РасходнаяНакладная";
Док1=СоздатьРасходнуюНакладнуюНаСервере();
Если Док1 тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Напечатать документ Расходная накладная?",Режим,0);
Если Ответ = КодВозвратаДиалога.Да Тогда
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.РасходнаяНакладная", "Накладная",ПараметрыКоманды,ТабличныйДокумент,"ПАРАМЕТРЫ_ПЕЧАТИ_РасходнаяНакладная_Накладная");
КонецЕсли;
Записать();
Конецесли;
КонецПроцедуры
ПоказатьДля Каждого ТекущийДокумент Из МассивОбъектов Цикл
По теме из базы знаний
Найденные решения
ЗАДАЧА РЕШЕНА, ТЕМА ЗАКРЫТА!
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
| Док.Ссылка
|ИЗ
| Документ.РасходнаяНакладная КАК Док
|ГДЕ
| Док.ЗаказПокупателя = &ЗаказСсылка
| И НЕ Док.ПометкаУдаления
| И НЕ Док.ЗаказПокупателя.ПометкаУдаления");
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Возникает вопрос, что у тебя в параметрах команды ?
и почему ссылка на твой вновь созданный документ, нигде не фигурирует ?
// Формирует и выводит на экран печатные формы.
//
// Параметры:
// ИмяМенеджераПечати - Строка - менеджер печати для печатаемых объектов;
// ИменаМакетов - Строка - идентификаторы печатных форм;
// МассивОбъектов - Ссылка, Массив - объекты печати;
// ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать;
// ПараметрыПечати - Структура - произвольные параметры для передачи в менеджер печати.
//
Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт
ПоказатьВозникает вопрос, что у тебя в параметрах команды ?
и почему ссылка на твой вновь созданный документ, нигде не фигурирует ?
Полный код:
&НаСервере
Функция СоздатьРасходнуюНакладнуюНаСервере()
ЭтотДокумент = РеквизитФормыВЗначение("Объект");
ЭтотДокумент.Записать(РежимЗаписиДокумента.Проведение);
ЗначениеВРеквизитФормы(ЭтотДокумент, "Объект");
Док1=Документы.РасходнаяНакладная.СоздатьДокумент();
Док1.Заполнить(Объект.ссылка);
Док1.дата=Текущаядата();
Док1.Ответственный=Объект.Ответственный;
Док1.Подразделение=Объект.СтруктурнаяЕдиницаПродажи;
Док1.Автор=Объект.Автор;
Док1.Комментарий=Объект.Комментарий;
Если Док1.Запасы.Количество()=0 тогда
Сообщить("Вы уже создали расходную накладную!!!");
Возврат Ложь;
КонецЕсли;
Если Док1.Запасы.Количество()>0 Тогда
Док1.Записать(Режимзаписидокумента.Проведение);
Сообщить("Создан документ "+док1);
Если док1.Проведен тогда
Объект.СостояниеЗаказа=справочники.СостоянияЗаказовПокупателей.НайтиПоКоду("Выполнен9");
Возврат Истина;
КонецЕсли;
Иначе
Сообщить("Вы уже создали расходную накладную!!!");
Возврат Ложь;
КонецЕсли;
// Вставить содержимое обработчика.
КонецФункции
&НаКлиенте
Процедура создатьРасходнуюНакладную(Команда,ПараметрыКоманды)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_РасходнаяНакладная";
Док1=СоздатьРасходнуюНакладнуюНаСервере();
Если Док1 тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Напечатать документ Расходная накладная?",Режим,0);
Если Ответ = КодВозвратаДиалога.Да Тогда
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.РасходнаяНакладная", "Накладная",ПараметрыКоманды,ТабличныйДокумент,"ПАРАМЕТРЫ_ПЕЧАТИ_РасходнаяНакладная_Накладная");
КонецЕсли;
Записать();
Конецесли;
КонецПроцедуры
Показать
На клиенте создаешь табличный документ (пустой), вызываешь процедуру создания накладной, заполняешь в ней по текущему документу (Можно было просто использовать Объект.Ссылка, Обратная передача в реквизит не нужна ЗначениеВРеквизитФормы(ЭтотДокумент, "Объект"); )
На управление печати передаешь все еще пустой табличный документ, ПараметрыКоманды на входе в клиентскую процедуру непонятные
На управление печати передаешь все еще пустой табличный документ, ПараметрыКоманды на входе в клиентскую процедуру непонятные
а почему вы не запилите это в создать на основании? а в расходной дописать заполнение по ЗК, а после проверять если создан по ЗК спрашивать о распечатке и использовать команду уже из документа расходной накладной печать?
не разбирался, можно ли так, просто мысль
не разбирался, можно ли так, просто мысль
ЗАДАЧА РЕШЕНА, ТЕМА ЗАКРЫТА!
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :
Может кому пригодится запрос получения ссылки на созданный на основании док "Расходная накладная" :
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
| Док.Ссылка
|ИЗ
| Документ.РасходнаяНакладная КАК Док
|ГДЕ
| Док.ЗаказПокупателя = &ЗаказСсылка
| И НЕ Док.ПометкаУдаления
| И НЕ Док.ЗаказПокупателя.ПометкаУдаления");
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот