Создаю внешнюю печатную форму со штрикодом, большую часть кода взял из стандартной процедуры печати, но при сохранении своей формы вылетает куча ошибок, может в процедуру нужно еще что то предать, кроме табличного документа?

```1c
    Функция КомпонентаПечатиШтрихКодовУстановлена() Экспорт
    Попытка
    БарКодПроверка=Новый COMОбъект("V8.Barcod.1");
    Возврат Истина;
    Исключение
    Возврат Ложь;
    КонецПопытки;
    КонецФункции

    Функция ПечатьФормыСШтрихкодомЗаказВнутр (ТабДокумент) Экспорт
    // Зададим параметры макета
    ТабДокумент.ПолеСверху = 0;
    ТабДокумент.ПолеСлева = 0;
    ТабДокумент.ПолеСнизу = 0;
    ТабДокумент.ПолеСправа = 0;
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

    Макет = ПолучитьМакет("МакетСШтрихкодом");

    НомерСтраницы = 2;
    НомерСтраницыПред = НомерСтраницы;

    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок1");
    ОбластьМакета.Параметры.ТекстЗаголовка = ЭтотОбъект;
    Если НЕ КомпонентаПечатиШтрихКодовУстановлена() Тогда
    Сообщить("Не установлена компонента печати этикеток '1C-Barcode'!",СтатусСообщения.Важное);
    Иначе
    // попытаемся напечатать ШК
    Попытка
    ОбластьМакета.Рисунки.D1.Объект.ТипКода=10;
    ОбластьМакета.Рисунки.D1.Объект.Сообщение=СокрЛП(ИДДокументаОтгрузки);
    Исключение
    КонецПопытки;
    КонецЕсли;

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

    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ОбластьМакета.Параметры.ПредставлениеПоставщика = спПолучитьПредставление(ЭтотОбъект.Организация);
    ОбластьМакета.Параметры.ПодразделениеПоставщик = СокрЛП(ПодразделениеПоставщик);
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.ПредставлениеПолучателя = ПодразделениеПолучатель;
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьПодвал = Макет.ПолучитьОбласть("ПодвалЗаказа");

    ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = обПраво("РежимВыводаКодаВДокументах",Права);
    ТабДокумент.Вывести(ОбластьШапкаТаблицы);

    //Получаем область строки документа

    ВыборкаТабличнойЧасти = ЭтотОбъект.Товары;
    Для каждого СтрокаТабличнойЧасти Из ВыборкаТабличнойЧасти Цикл

    СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,Права);
    ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    ОбластьСтрока.Параметры.ДатаПоставки = СтрокаТабличнойЧасти.ДатаПоставки;
    ОбластьСтрока.Параметры.Коэффициент = СтрокаТабличнойЧасти.Коэффициент;
    Запрос = Новый Запрос;

    Запрос.Текст =
    "ВЫБРАТЬ
    | ШтрихКоды.ШтрихКод
    |ИЗ
    | РегистрСведений.ШтрихКоды КАК ШтрихКоды
    |ГДЕ
    | ШтрихКоды.Запрет <> &Запрет
    | И ШтрихКоды.Объект.Ссылка = &ТоварДок";

    Запрос.УстановитьПараметр("Запрет", Истина);

    Запрос.УстановитьПараметр("ТоварДок", СтрокаТабличнойЧасти.Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    ОбластьСтрока.Параметры.Штрихкод = ";

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбластьСтрока.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод + ", " + ОбластьСтрока.Параметры.Штрихкод;
    КонецЦикла;

    мсвДопОбластиПодвала = Неопределено;
    Если ВыборкаТабличнойЧасти.Индекс(СтрокаТабличнойЧасти) = ВыборкаТабличнойЧасти.Количество()-1 Тогда
    мсвДопОбластиПодвала = Новый Массив;
    мсвДопОбластиПодвала.Добавить(ОбластьПодвал);
    КонецЕсли;

    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьСтрока, ОбластьШапкаТаблицы, ,
    НомерСтраницы, , Права, мсвДопОбластиПодвала);
    Если НомерСтраницы <> НомерСтраницыПред Тогда
    НомерСтраницыПред = НомерСтраницы;
    КонецЕсли;
    КонецЦикла;

    ОбластьПодвал.Параметры.ФИОИсполнителя = ";
    ОбластьПодвал.Параметры.ФИОЗаказчика = ";
    ОбластьПодвал.Параметры.СуммаВсего=Товары.Итог("СуммаВсего");

    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,Права);

    Возврат ТабДокумент;
    КонецФункции
```

Ошибки:
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(32,54)}: Переменная не определена (ИДДокументаОтгрузки)
    ОбластьМакета.Рисунки.D1.Объект.Сообщение=СокрЛП(<<?>>ИДДокументаОтгрузки); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(41,58)}: Переменная не определена (ПодразделениеПоставщик)
 ОбластьМакета.Параметры.ПодразделениеПоставщик = СокрЛП(<<?>>ПодразделениеПоставщик); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(45,52)}: Переменная не определена (ПодразделениеПолучатель)
 ОбластьМакета.Параметры.ПредставлениеПолучателя = <<?>>ПодразделениеПолучатель; (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(52,87)}: Переменная не определена (Права)
 ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = обПраво("РежимВыводаКодаВДокументах",<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(60,86)}: Переменная не определена (Права)
  СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(99,22)}: Переменная не определена (Права)
    НомерСтраницы, , <<?>>Права, мсвДопОбластиПодвала); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(110,96)}: Переменная не определена (Права)
 НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(108,37)}: Переменная не определена (Товары)
 ОбластьПодвал.Параметры.СуммаВсего=<<?>>Товары.Итог("СуммаВсего"); (Проверка: Толстый клиент (обычное приложение))
---
Если исходить из перечисленных ошибок, то вы пытаетесь отобразить значения ИДДокументаОтгрузки, ПодразделениеПоставщик, ПодразделениеПолучатель, Права, Товары, но "не указываете" обработке, где их брать. Если с обьекта, то так и обращайтесь к ним через точку СсылкаНаОбъект.ИДДокументаОтгрузки, СсылкаНаОбъект.ПодразделениеПоставщик и т.д.
---
На стандартную процедуру совсем не похоже. Не управляемые формы - обычные?
Внешняя печатная форма.

Внешняя обработка, содержащая:

Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
Функция «Печать()» - без параметров, возвращающая табличный документ.
---
формы обычные, да
---
Если исходить из перечисленных ошибок, то вы пытаетесь отобразить значения ИДДокументаОтгрузки, ПодразделениеПоставщик, ПодразделениеПолучатель, Права, Товары, но "не указываете" обработке, где их брать. Если с обьекта, то так и обращайтесь к ним через точку СсылкаНаОбъект.ИДДокументаОтгрузки, СсылкаНаОбъект.ПодразделениеПоставщик и т.д.