Имя: Пароль:
1C
1С v8
внешний отчет на СКД
0 andrey i1c
 
24.08.20
15:39
Имеется внешний отчет на СКД. необходимо его прикрепить его в командную панель документа. Вот такой код есть сейчас, но он позволяет его прикрепить в Раздел. Далее при открытии что бы он формировался по текущему документу, который открываем. Сделал запрос с условием на ссылку. Далее при открытии необходимо параметр подставить как то. Но сейчас для начало встроить его в конмандную панель документа Поступления товаров. что то можете сказать?

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

ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;

//    МассивНазначений.Добавить("подсистема.CRMИМАРКЕТИНГ"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
//    ПараметрыРегистрации.Вставить("Назначение",        МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "ОтчетПоЗакупкам"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Отчет по закупкам");
ПараметрыРегистрации.Вставить("Версия", "1.0");    

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

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

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

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

Возврат Команды;
КонецФункции

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

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

КонецПроцедуры
1 toypaul
 
гуру
24.08.20
15:42
давно такого не делал, но по-моему идея в следующем. делать нужно команду типа заполнение объекта или что-то типа этого. то есть такую команду (может быть с открытием формы), в которой ты можешь "выцепить" ссылку на объект. дальше в этой команде получаешь эту ссылку и формируешь свой отчет с передачей этого параметра.
2 andrey i1c
 
24.08.20
16:19
(1) проще конечно вызывать печатную форму, но в идеале отчет с отбором, поместив ее на форму документа