БСП ошибка при нажатии

1. frodoirbit 23.05.21 13:33 Сейчас в теме
Добрый день, пожалуйста помогите с ошибкой
Расширение в ЗУП 3.1.17.171
В менеджере объекта следующий код
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт 
                  КомандаПечати = КомандыПечати.Добавить();
                  КомандаПечати.Идентификатор = "Акт";
                  КомандаПечати.Представление = "Дополнительный акт";
                  КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
                  КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
КонецПроцедуры 

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт 
                ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
                Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Акт") Тогда  УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Акт", "Акт",
                               СформироватьНесколькоАктов(МассивОбъектов),"Документ.СПР_СправкаПособиеРР.Акт");
                КонецЕсли;
КонецПроцедуры 

Функция   СформироватьНесколькоАктов(МассивОбъектов)
            ТабДокумент = Новый ТабличныйДокумент;
            Для каждого Ссылка из МассивОбъектов Цикл
                       ТабДокументОбъекта = СформироватьАкт(Ссылка);
                       Если ТабДокумент.ВысотаТаблицы > 0 И ТабДокументОбъекта.ВысотаТаблицы > 0 Тогда 
                                   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц()
                       КонецЕсли;
                       ТабДокумент.Вывести(ТабДокументОбъекта)
           КонецЦикла;
           Возврат ТабДокумент
КонецФункции 

Функция  СформироватьАкт(Ссылка)
             ТабДокумент = Новый ТабличныйДокумент;
             // подготовка ТабДокумента
             Возврат ТабДокумент
КонецФункции
Показать


В форме документа

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
		
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры

#Область ПодключаемыеКоманды

&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры

#КонецОбласти
Показать

В форме списка

&НаСервере
Процедура НастройкиДинамическогоСписка()
         Отчеты.РеестрДокументов.НастройкиДинамическогоСписка(ЭтотОбъект);
КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте 
Процедура Подключаемый_ВыполнитьКоманду(Команда)
         Если Команда.Имя = "ПодменюПечатьОбычное_Реестр" Тогда 
             НастройкиДинамическогоСписка();
         КонецЕсли;
         ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
          ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
          ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
&НаСервере 
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
		
           // СтандартныеПодсистемы.ПодключаемыеКоманды
           ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
           // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры 
Показать

В общий модуль добавил 
&Перед("ПриОпределенииОбъектовСКомандамиПечати")
Процедура СПР_ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов)
    СписокОбъектов.Добавить(Документы.СПР_СправкаПособиеРР);
КонецПроцедуры

Кнопки выходят на формы но при нажатии выходит ошибка
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
13. Sakuraso 23.05.21 15:59 Сейчас в теме
(1)Не совсем понимаю зачем в модуле менеджера указывать список форм.
Стандартная команда печати в типовой зуп выглядит примерно так.
// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.МенеджерПечати = "Документ.ОрганизацияПрофессиональногоОбучения";
	КомандаПечати.Идентификатор = "ПФ_MXL_ТрудовоеСоглашение";
	КомандаПечати.Представление = НСтр("ru = 'Трудовое соглашение'");
	КомандаПечати.Порядок = 10;
	КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь;
	
КонецПроцедуры
Показать

Версия ЗУП 3.1.14
15. frodoirbit 23.05.21 16:19 Сейчас в теме
2. dmitrichenko.ivan 6 23.05.21 14:02 Сейчас в теме
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт 
                  КомандаПечати = КомандыПечати.Добавить();
                  КомандаПечати.Идентификатор = "Акт";
                  КомандаПечати.Представление = "Дополнительный акт";
                  КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
                  КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
КонецПроцедуры 
3. dmitrichenko.ivan 6 23.05.21 14:09 Сейчас в теме
В зупе просто
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати
4. frodoirbit 23.05.21 14:13 Сейчас в теме
(3)
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати

Здраствуйте получается будет так?
КомандаПечати.Обработчик    = "УправлениеПечатьюКлиент.ВыполнитьКомандуПечати";
5. dmitrichenko.ivan 6 23.05.21 14:16 Сейчас в теме
Да, так должно взлететь)
6. frodoirbit 23.05.21 14:19 Сейчас в теме
(5)Обращение к процедуре объекта как к функции (ВыполнитьКомандуПечати)
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(ОписаниеКоманды)
7. dmitrichenko.ivan 6 23.05.21 14:23 Сейчас в теме
Уберите вообще оттуда строку эту
8. dmitrichenko.ivan 6 23.05.21 14:24 Сейчас в теме
Либо пустую строку вставьте
9. frodoirbit 23.05.21 14:27 Сейчас в теме
(8) Можете пример показать?
10. dmitrichenko.ivan 6 23.05.21 14:29 Сейчас в теме
Попробуйте так:
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт 
                  КомандаПечати = КомандыПечати.Добавить();
                  КомандаПечати.Идентификатор = "Акт";
                  КомандаПечати.Представление = "Дополнительный акт";

                  КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
КонецПроцедуры 

И так:

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт 
                  КомандаПечати = КомандыПечати.Добавить();
                  КомандаПечати.Идентификатор = "Акт";
                  КомандаПечати.Представление = "Дополнительный акт";
                  КомандаПечати.Обработчик    = "";
                  КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
КонецПроцедуры 
11. frodoirbit 23.05.21 14:37 Сейчас в теме
(10)
Прикрепленные файлы:
12. dmitrichenko.ivan 6 23.05.21 14:39 Сейчас в теме +1.33 $m
А теперь в отладчике посмотрите, что происходит в
УправлениеПечатью.НужноПечататьМакет
14. frodoirbit 23.05.21 16:13 Сейчас в теме
Спасибо вывод получился
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот