Имя: Пароль:
1C
1С v8
Печать из внешней обработки используя модуль менеджера
0 TyurinArt
 
29.08.20
09:55
Динамический список выводит реализации на форму внешней обработки, пытаюсь добавить кнопку "Печать" - аналогичную (Комплект документов на принтер, УПД и тд), которая есть в документе "Реализация товаров и услуг".

Получаю массив объектов из формы и передаю в процедуру печать в модуль менеджера реализации.
Ошибка: недостаточно параметров "ПараметрыПечати";
1) Что передать в этот параметр?
2) Может не тот способ решения выбрал или есть способ проще?
Ниже код модуля формы внешней обработки:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   МассивОбъектов = Получить_Массив_Из_ДинамическогоСписка();    
    
   Документы.РеализацияТоваровУслуг.Печать(МассивОбъектов);
    
КонецПроцедуры


&НаСервере
Функция Получить_Массив_Из_ДинамическогоСписка()
    
    Схема = Элементы.Объект.ПолучитьИсполняемуюСхемуКомпоновкиДанных();

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

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

КонецФункции
1 ДенисЧ
 
29.08.20
10:09
А посмотреть, как в конфигурации создаётся и передаётся этот ПараметрыПечати?
2 TyurinArt
 
29.08.20
16:36
Подкорректирую вопрос: на панели команд (внешняя обработка, динамический список с реализациями) пытаюсь программно вывести кнопку "Печать", следующим кодом:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ТЗ = УправлениеПечатью.СоздатьКоллекциюКомандПечати();
    
    Документы.РеализацияТоваровУслуг.ДобавитьКомандыПечати(ТЗ);
    
КонецПроцедуры

Обработка открывается, список с реализациями формируется, а кнопки "Печать" нет. В чем ошибка?(
3 RomanYS
 
29.08.20
17:24
(2) Твои ожидание, что заполнение некой ТЗ приведет к появлению кнопок на форме беспочвенны.
4 TyurinArt
 
29.08.20
18:14
(3) Что курить, куда копать?
5 RomanYS
 
29.08.20
18:26
(4) подсистему печати в БСП
6 TyurinArt
 
30.08.20
16:51
(5) Вывел на форму печать; теперь пытаюсь передать в параметр источник "ТаблицуФормы", но как её получить из динамического списка?

// Параметры:
//   Форма - УправляемаяФорма - Форма, из которой выполняется команда.
//   Команда - КомандаФормы - Выполняемая команда.
//   Источник - ТаблицаФормы, ДанныеФормыСтруктура - Объект или список формы с полем "Ссылка".
//
Процедура ВыполнитьКоманду(Форма, Команда, Источник)
7 TyurinArt
 
30.08.20
17:40
ЗАРАБОТАЛО!!!111 Источник = Элементы.Объект.ТекущиеДанные;
8 TyurinArt
 
30.08.20
18:39
(5) Новая проблема( если выделяю несколько реализация и отправляю на печать, выводится только один документ, как передать выделенные?
9 ДенисЧ
 
30.08.20
18:43
(8) Тебе в процедуру печати должен прилетать массив
10 TyurinArt
 
31.08.20
05:20
Поправил строчку: "Источник = Элементы.Объект.ТекущиеДанные;"
на "Источник = Элементы.Объект;" - заработало, теперь печатаются все выделенные документы.

Первое впечатление о БСП - слишком сложно, разбросано по модулям, бегай по процедурам; не нашёл не карты, не общей схемы, как с ней работать не понятно... я выбрал метод тыка + ф12;

Всем спасибо за помощь.
11 PaulBC
 
31.08.20
05:30
Зачем это все? С БСП подключается элементарно через дополнительные отчеты и обработки.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн