Сразу прошу прощения за тупость. Только начинаю работу в 1С, Типовую конфигурацию в конфигураторе увидел первый раз неделю назад. При устройстве на работу задали вот такое задание:
Как бы реализовали задачу если в типовую конфигурацию( УТ 11.2) необходимо внести следующие изменения:
1. b. В документ добавить возможность печати новой печатной формы.

Порылся на форумах собрал вот такую внешнюю обработку, но не получается её добавить в дополнительные - пишет мне: Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.

Метод объекта не обнаружен (СведенияОВнешнейОбработке)

Вот внешняя форма:
Перем СсылкаНаОбъект;

Функция СведенияОВнешнейОбработке() Экспорт

ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить("Документ.РеализацияТоваровУслуг");

ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы, "ТОРГ - 12 (альтернативная)");

ПараметрыРегистрации.Версия = "2017.03.07";
ПараметрыРегистрации.Информация = "Внешняя печатная форма документа реализации товаров и услуг ТОРГ - 12 (альтернативная)";

ТаблицаКоманд = ПолучитьТаблицуКоманд();

ДобавитьКоманду(ТаблицаКоманд,
"ТОРГ - 12 (альтернативная)", // Представление команды в пользовательском интерфейсе
"ТОРГ_12_альтернативная", // Уникальный идентификатор команды
"ВызовСерверногоМетода", // Использование команды //ОткрытиеФормы
Истина, // Показывать оповещение.
"ПечатьMXL" // Дополнительный модификатор команды.
);

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

Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "", Информация = "", Версия = "1.0.0")

Если ТипЗнч(ОбъектыНазначенияФормы) = Тип("Строка") Тогда
ОбъектНазначенияФормы = ОбъектыНазначенияФормы;
ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы);
КонецЕсли;

ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);

Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда
НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление();
КонецЕсли;
ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки);

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

ПараметрыРегистрации.Вставить("Версия", Версия);

Возврат ПараметрыРегистрации;

КонецФункции

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

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

КонецФункции

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

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

Функция Печать(СсылкаНаОбъект, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");

Настройка=КоллекцияПечатныхФорм.Добавить();
Настройка.ИмяВРЕГ= "ТОРГ_12_АЛЬТЕРНАТИВНАЯ";
Настройка.Экземпляров = 1;

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

КонецФункции

Функция ПолучитьТабличныйДокументТорг12(СсылкаНаОбъект, ОбъектыПечати);

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

МакетОбработки = Документы.РеализацияТоваровУслуг.ПолучитьМакет("МакетМой");

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

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

//заполняем строки ТЧ
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТаблицыКомплектующие");

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

ТабличныйДокумент.АвтоМасштаб = Истина;

Возврат ТабличныйДокумент;

КонецФункции
---
этот код должен быть не в модуле формы, а в модуле объекта.
---
этот код должен быть не в модуле формы, а в модуле объекта.
---
Олег спасибо вам, все получилось запустить, добавить новую печатную форму, сейчас осталось сделать так чтоб она еще заработала )))
---
вот http://infostart.ru/public/535969/ а там разберетесь...
---
Спасибо, но доступа нет на скачку (
---
Хоть бы разочек в жизни увидеть ветку: "Помогите потратить зарплату"...
---
Как зарплату большую заработаю, я вам такую ветку заведу ))) Только наверное забанят, это будет не по профилю форума )))
---
При запуске печати пишет: {ВнешняяОбработка.ВнешняяОбработка2.МодульОбъекта(115)}: Ошибка при вызове метода контекста (ПолучитьМакет)
МакетОбработки = Документы.РеализацияТоваровУслуг.ПолучитьМакет("МакетМой");
по причине:
Недопустимое значение параметра (параметр номер '1')
---
рано еще на трудоустройство претендовать...
Попытка получить макет из документа. Естественно там его нет. Вместо:

```1c
    МакетОбработки = Документы.РеализацияТоваровУслуг.ПолучитьМакет("МакетМой");
```

Нужно:

```1c
    МакетОбработки = ПолучитьМакет("МакетМой");
```

И имя макета желательно давать согласно рекомендации от 1С. Как вариант:
"ПФ_MXL_ТОРГ12_Альтернативная"
---
Да, я уже разобрался, спасибо вам!