Для создания внешнего отчёта, обработки или печатной формы нужно поместить в модуль создаваемого объекта одну процедуру и две функции.

Код для всех перечисленных объектов идентичен, разница только в строках: 

ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");

и в строке:

 ДобавитьКоманду(ТаблицаКоманд, "Отчет по складским остаткам", "1", "ОткрытиеФормы", Истина, "");

Вместо "ДополнительныйОтчет" может быть "ДополнительнаяОбработка", "ПечатнаяФорма", "ЗаполнениеОбъекта", "Отчет", "СозданиеСвязанныхОбъектов". 

Шаблон для внешнего отчёта.

#Область ПрограммныйИнтерфейс

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

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


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


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

#КонецОбласти

Шаблон готов. После этого настраиваем функциональность внешнего отчёта. Когда всё готово,  добавляем созданный отчёт в систему 1С:Предприятие. Делается это на вкладке Администрирование --> Дополнительные отчёты и обработки. Предварительно должна быть включена опция "Использование дополнительных отчётов и обработок".

Процедура добавления внешнего отчёта интуитивно понятна. Единственное, о чём нужно помнить - название отчёта в программе будет соответствовать имени варианта отчёта, которое настраивается в СКД. Поэтому нужно указать понятное и информативное имя отчёта уже на стадии его создания в СКД.

Комментарии

  • pavlo 18.09.2018 13:59
    У меня по второму варианту не получилось. При такой настройке появилась колонка построчно со словами названия колонки ресурса.

    Подробнее...

     
  • Altavista- 17.09.2018 20:51
    Не бесспорное решение: 1. В регистр логичнее добавить 2й ресурс ("вТрансфертныхЦенах"); 2. РС "Наценки"? Однозначно, нет. Это реквизит справочника; 3. Реквизита "Контрагент" в условии задачи тоже нет и ...

    Подробнее...

     
  • Андрей 02.08.2018 09:55
    Большое спасибо! По "Варианту 2": в выбранных полях группировки колонок (у меня их несколько) кроме поля самой колонки пришлось добавить и ресурс.

    Подробнее...