Выходит следующая ошибка {ВнешняяОбработка.ПечатьСписаниеНедостач.МодульОбъекта(94,21)}: Процедура или функция с указанным именем не определена (СформироватьПечатнуюФорму)
                    <<?>>СформироватьПечатнуюФорму("СписаниеНедостачТоваров", МассивОбъектов, ОбъектыПечати)); (Проверка: Сервер)
---
Я прикрепил исправленный рабочий файл. Для подсоединения используйте меню Администрирование - Дополнительные отчеты и обработки.
Исправлений много, если сами не разберетесь - пишите.
Проверял для УТ 11.1
---
Не как не могу разобраться в чем проблема
---
Дёрните с сайта любую печатную форму для УТ 11, сделайте свою по образцу и не имейте себе мозг. Почитайте мануалы по разработке внешних печатных форм для БСП.
---
Поручик, да вот именно делаю по образце и у меня вот такая ошибка {ВнешняяОбработка.ПечатьСписаниеНедостач.МодульОбъекта(94,22)}: Процедура или функция с указанным именем не определена (СформироватьПечатнуюФорму)
                     <<?>>СформироватьПечатнуюФорму("Списание Недостач Товаров", МассивОбъектов, ОбъектыПечати)); (Проверка: Сервер)
---
(24) Широта моего сердца составляет от 400 рублей и шире.
http://forum.infostart.ru/forum26/topic91419/message962808/#message962808
---
Поручик,
ну, хоть так - я думал, скажете нечто вроде "а ты мне не выкай!" ))
---
Поручик,
Поручик, вы ж саим этих форм наваяли миллион - помогите доработоать от широты сердца человеку и эту! :)
---
Функция СведенияОВнешнейОбработке() Экспорт
    // Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные
    ПараметрыРегистрации = Новый Структура;

    // Объявим еще одну переменную, которая нам потребуется ниже
    МассивНазначений = Новый Массив;

    // Первый параметр, который мы должны указать - это какой вид обработки система должна зарегистрировать.
    // Допустимые типы: ДополнительнаяОбработка, ДополнительныйОтчет, ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");

    // Теперь нам необходимо передать в виде массива имен, к чему будет подключена наша ВПФ
    // Имейте ввиду, что можно задать имя в таком виде: Документ.* - в этом случае обработка будет подключена ко всем документам в системе,
    // которые поддерживают механизм ВПФ
    МассивНазначений.Добавить("Документ.СписаниеНедостачТоваров");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);

    // Теперь зададим имя, под которым ВПФ будет зарегистрирована в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("Наименование", "СписаниеНедостачТоваров (с ценами)");

    // Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод УстановитьБезопасныйРежим)
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);

    // Следующие два параметра играют больше информационную роль, т.е. это то, что будет видеть пользователь в информации к обработке
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "СписаниеНедостачТоваров (с ценами)");

    // Создадим таблицу команд (подробнее смотрим ниже)
    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    // Добавим команду в таблицу
    ДобавитьКоманду(ТаблицаКоманд, "СписаниеНедостачТоваров", "СписаниеНедостачТоваров (с ценами)", "ВызовСерверногоМетода", Истина, "ПечатьMXL");

    // Сохраним таблицу команд в параметры регистрации обработки
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    // Теперь вернем системе наши параметры
    Возврат ПараметрыРегистрации;
КонецФункции

Функция ПолучитьТаблицуКоманд()

   // Создадим пустую таблицу команд и колонки в ней
   Команды = Новый ТаблицаЗначений;

   // Как будет выглядеть описание печатной формы для пользователя
   Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

   // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
   Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

   // Тут задается, как должна вызваться команда обработки
   // Возможные варианты:
   // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
   // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
   // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
   Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

   // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
   Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

   // Для печатной формы должен содержать строку ПечатьMXL
   Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
   Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  // Добавляем команду в таблицу команд по переданному описанию.
  // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;

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

// Сформировать печатные формы объектов
//
// ВХОДЯЩИЕ:
// ИменаМакетов - Строка - Имена макетов, перечисленные через запятую
// МассивОбъектов - Массив - Массив ссылок на объекты которые нужно распечатать

// ИСХОДЯЩИЕ:
// КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы
// ПараметрыВывода - Структура - Параметры сформированных табличных документов
//
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
  Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СписаниеНедостачТоваров (с ценами)") Тогда
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
                   "СписаниеНедостачТоваров (с ценами)", "СписаниеНедостачТоваров",
                    СформироватьПечатнуюФорму("СписаниеНедостачТоваров", МассивОбъектов, ОбъектыПечати));
   КонецЕсли;
КонецПроцедуры // Печать()

// Функция формирует печатную форму документа.
//
// Параметры:
// Тип - Строка - тип печатной формы: Заказ или Счет
// МассивОбъектов - Массив - массив документов для печати
// ОбъектыПечати - СписокЗначений
//
// Возвращаемое значение:
// ТабличныйДокумент
//

Функция СформироватьПечатнуюФормуАктСписанияТоваров(МассивОбъектов, ОбъектыПечати)

 УстановитьПривилегированныйРежим(Истина);

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

 Результаты = Запрос.ВыполнитьПакет();
 ВыборкаПоДокументам = Результаты[0].Выбрать();
 ВыборкаПоТоварам = Результаты[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

 РеквизитыДокумента = Новый Структура("Номер, Дата, Префикс");
 СинонимДокумента = НСтр("ru='Акт о списании товаров'");

 ТабДокумент = Новый ТабличныйДокумент;
 ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СписаниеНедостачТоваров_АктОСписанииТоваро­в";

 Макет = УправлениеПечатью.ПолучитьМакет("Документ.СписаниеНедостачТоваров.ПФ_MXL_АктОСписанииТоваров");
 ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
 ОбластьОснование = Макет.ПолучитьОбласть("Основание");

 ОбластьНомераШапка = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
 ОбластьКодовШапка = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
 ОбластьТоварШапка = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
 ОбластьДанныеШапка = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
 Если Не ВыводитьДопКолонку Тогда
  Макет.Область("Товар").ШиринаКолонки = Макет.Область("Товар").ШиринаКолонки
   + Макет.Область("КолонкаКодов").ШиринаКолонки;
 КонецЕсли;
 ОбластьНомераСтрока = Макет.ПолучитьОбласть("Строка|НомерСтроки");
 ОбластьКодовСтрока = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
 ОбластьТоварСтрока = Макет.ПолучитьОбласть("Строка|Товар");
 ОбластьДанныхСтрока = Макет.ПолучитьОбласть("Строка|Данные");

 ОбластьНомераПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы|НомерСтроки");
 ОбластьКодовПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
 ОбластьТоварПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы|Товар");
 ОбластьДанныхПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы|Данные");

 ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
 ОбластьКоличествоВсего = Макет.ПолучитьОбласть("КоличествоВсего");

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

  Если Не ПервыйДокумент Тогда
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
  КонецЕсли;

  ПервыйДокумент = Ложь;

  НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

  ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ВыборкаПоДокументам);
  ОбластьЗаголовок.Параметры.Заполнить(ВыборкаПоДокументам);
  ОбластьЗаголовок.Параметры.ТекстЗаголовка = ОбщегоНазначенияКлиентСервер.СформироватьЗаголовокДокумента(РеквизитыДокумента, СинонимДокумента);
  ОбластьЗаголовок.Параметры.СкладПредставление = СкладыСервер.ПолучитьПредставлениеСклада(ВыборкаПоДокументам.СкладПредставление);
  ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабДокумент, Макет, ОбластьЗаголовок, ВыборкаПоДокументам.Ссылка);
  ТабДокумент.Вывести(ОбластьЗаголовок);

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

  ТабДокумент.Вывести(ОбластьНомераШапка);

  Если ВыводитьДопКолонку Тогда
   ОбластьКодовШапка.Параметры.ДопКолонка = ДопКолонка;
   ТабДокумент.Присоединить(ОбластьКодовШапка);
  КонецЕсли;

  ТабДокумент.Присоединить(ОбластьТоварШапка);
  ТабДокумент.Присоединить(ОбластьДанныеШапка);

  ВсегоНаименований = 0;

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

   // Номенклатура.
   ОбластьТоварСтрока.Параметры.Номенклатура = ВыборкаПоСтрокам.Номенклатура;
   ОбластьТоварСтрока.Параметры.НоменклатураПредставление = ФормированиеПечатныхФорм.ПолучитьПредставлениеНоменклатурыДляПечати(
    ВыборкаПоСтрокам.НоменклатураПредставление,
    ВыборкаПоСтрокам.ХарактеристикаПредставление
   );
   ТабДокумент.Присоединить(ОбластьТоварСтрока);
   // Данные количестве.
   ОбластьДанныхСтрока.Параметры.Заполнить(ВыборкаПоСтрокам);
   ТабДокумент.Присоединить(ОбластьДанныхСтрока);
   ВсегоНаименований = ВсегоНаименований + 1;
  КонецЦикла;

  // Вывод итогов.
  ТабДокумент.Вывести(ОбластьНомераПодвалТаблицы);
  Если ВыводитьДопКолонку Тогда
   ТабДокумент.Присоединить(ОбластьКодовПодвалТаблицы);
  КонецЕсли;
  ТабДокумент.Присоединить(ОбластьТоварПодвалТаблицы);
  ТабДокумент.Присоединить(ОбластьДанныхПодвалТаблицы);
  ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований%'");
  ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", ВсегоНаименований);
  ОбластьКоличествоВсего.Параметры.ИтоговаяСтрока = ТекстИтоговойСтроки;
  ТабДокумент.Вывести(ОбластьКоличествоВсего);

  // Вывод подписей.
  ОбластьПодписи.Параметры.Ответственный = ФизическиеЛица.ФамилияИнициалыФизЛица(ВыборкаПоДокументам.Ответственный);
  ОбластьПодписи.Параметры.Кладовщик = ФизическиеЛица.ФамилияИнициалыФизЛица(ВыборкаПоДокументам.Кладовщик);
  ТабДокумент.Вывести(ОбластьПодписи);

  УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);

 КонецЦикла;

 Если ПривилегированныйРежим() Тогда
  УстановитьПривилегированныйРежим(Ложь);
 КонецЕсли;

 Возврат ТабДокумент;

КонецФункции
---
Вот где останавливаеться
---
Ну, так нет же такой процедуры в доступности сервера.
Пишите её или подключайтесь к готовой.
---
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

 Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СписаниеНедостачТоваров") Тогда

  УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
   КоллекцияПечатныхФорм,
   "СписаниеНедостачТоваров",
   "СписаниеНедостачТоваров(с ценами)",
   СформироватьПечатнуюФормуАктСписанияТоваров(МассивОбъектов, ОбъектыПечати)
  );

 КонецЕсли;

 КонецПроцедуры
---
andrey_name_912,
речь вообще-то шла про процедуру СформироватьПечатнуюФорму. Процедура Печать - это другое. И если не хватает параметров - дайте эти параметры процедуре.
---
AlexO, ну можете меня ткнуть носом просто я не селен во ВПФ, я просто не пойму где мне нужно поправить что бы она заработала???
---
andrey_name_912,
ну хорошо, мне 1С включать надо, чтобы вашу обработку смотреть :)
---
вот такую процедуру использую и вот такая ошибка {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(59)}: Недостаточно фактических параметров
 ВнешняяОбработкаОбъект.Печать(
---
andrey_name_912,
значит, недостаточно параметров указано запрошенных.
---
AlexO, и каких именно можете подсказать
---
andrey_name_912,
и каких именно можете подсказать
Смотрите, где вызывается Печать, и смотрите, что на входе в процедуру:
"Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)"
Параметры и их значение в месте вызова процедуры Печать должно совпадать с тем, что ожидает процедура у себя на входе.
---
AlexO,
У вас вызова процедуры Печать здесь нет, а лезьть в обработку - посмотрите сами.
---
andrey_name_912,
Нет у меня такого модуля - ОбщийМодуль.ДополнительныеОтчетыИОбработки.
Давайте вызов своей процедуры Печать из этого модуля, и сравним тогда, что не нравится.
---
AlexO, Процедура ПечатьПоВнешнемуИсточнику(ИсточникДанных,
        ПараметрыИсточника,
        КоллекцияПечатныхФорм,
        ОбъектыПечати,
        ПараметрыВывода) Экспорт

 КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПараметрыИсточника.ИдентификаторКоманды);

 ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();

 ОбъектыПечати = Новый СписокЗначений;

 ВнешняяОбработкаОбъект = ПолучитьОбъектВнешнейОбработки(ИсточникДанных);

 вот тут сотанавливаеться (это общий модуль Доп,отчет и обработки)-----ВнешняяОбработкаОбъект.Печать(
     ПараметрыИсточника.ОбъектыНазначения,
     КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

 // Проверим, все ли макеты были сформированы
 Для Каждого Стр Из КоллекцияПечатныхФорм Цикл
  Если Стр.ТабличныйДокумент = Неопределено Тогда
   ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
          НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"),
          Стр.ИмяМакета);
   ВызватьИсключение(ТекстСообщенияОбОшибке);
  КонецЕсли;

  Стр.ТабличныйДокумент.КоличествоЭкземпляров = Стр.Экземпляров;
 КонецЦикла;

КонецПроцедуры
---
может у вас заработает обработка
---
andrey_name_912,
может у вас заработает обработка
Ну откуда, у меня даже модулей нет таких, которые у вас :)
И наверняка конфа другая, даже запускать не буду - полезут ошибки совсем другие.
---
Ну так сравните:
ВнешняяОбработкаОбъект.Печать(ПараметрыИсточника.ОбъектыНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
- передается 4 (четыре) параметра, а запрошено - 5 (пять!) параметров.
Скорей всего, не переданы ПараметрыПечати.
---
у же как ни крутил пише что процедура не определенна что с ней не так ума не приложу
---
andrey_name_912,
что процедура не определенна ну не видит он эту процедуру! Она либо действительно не определна (физически её нигде нет), либо - вне области видимости (не экспортная, не в глобальном модуле, не скомпилирована на сервере и т.д.).
Найдите эту процедуру и смотрите, что с ней не так.
---
Надо искать эту процедуру в другом глобальном модуле. Они иногда переезжают или меняют названия. Я бы посмотрел аналогичный код в рабочих печатных формах. Учитывая что конфа 11.0 (на скрине), возможно Вы переделываете ПФ которая идет для 11.1, поэтому и модули не совпадают. Поищите обработку на инфостарте по созданию внешних печатных форм (очень Вам поможет). Удачи.
---
Я прикрепил исправленный рабочий файл. Для подсоединения используйте меню Администрирование - Дополнительные отчеты и обработки.
Исправлений много, если сами не разберетесь - пишите.
Проверял для УТ 11.1
---
espero2000, спасибо большое добрый человек просто огромное спасибо, а как в эту обработку допилить цену???? не подскажите
---
просто ради этого она и создавалась
---
Добавил вывод цены.
---
не дал Поручику на пивас срубить полегкому )