Печатная форма недоступна

1. 06.09.18 16:34 Сейчас в теме
Наверняка что-то банальное, но я что-то туплю. Форма открывается через файл открыть и отрабатывает как надо, но когда добавляю ее в дополнительные обработки, в базу, то работать не хочет, пишет "Печатная форма недоступна"т. Ошибка должна быть где-то в функции печать или сведениях о внешней обработке, но сам ее найти пока не могу.

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

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.1.79"); //2.2.5.31 - устарело    
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.БезопасныйРежим = Истина;
	ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю");
	ПараметрыРегистрации.Информация = "Внешняя печатная форма: Счет на оплату покупателю с номером
	|
	|
	|Данная печатная форма создана для документа ""Счет на оплату покупателю"".
	|
	|Печатная форма Счет на оплату покупателю с номером";
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Счет на оплату покупателю с номером'");
	НоваяКоманда.Идентификатор = "СчетНаОплатуПокупателюСНомером";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
		
	Возврат ПараметрыРегистрации;
	
КонецФункции

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

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

#КонецОбласти
Показать
Найденные решения
10. Raskad 8 07.09.18 11:02 Сейчас в теме
В модуле обработки замени везде "СсылкаНаОбъект" на "МассивОбъектов[0]".
vladimir-89; makarovy; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. login1020 81 06.09.18 16:44 Сейчас в теме
(1)
ПараметрыРегистрации.БезопасныйРежим = Истина;

Попробуйте = Ложь
5. MikhailDr 07.09.18 07:12 Сейчас в теме
(2)
Попробовал, не помогло
3. Raskad 8 06.09.18 16:52 Сейчас в теме
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Справочник.Сотрудники"); //Указываем документ к которому делаем внешнюю печ. форму
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату покупателю с номером"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
	ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
	ПараметрыРегистрации.Вставить("Версия", "1.0"); 
	ПараметрыРегистрации.Вставить("Информация", ""); 
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	ДобавитьКоманду(ТаблицаКоманд, "Счет на оплату покупателю с номером", "Счет на оплату покупателю с номером", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;

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

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	
	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление; 
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;
	
КонецПроцедуры
Показать
6. MikhailDr 07.09.18 07:13 Сейчас в теме
(3) Вышла ошибка "В обработчике печати не был сформирован табличный документ для: Сет на оплату покупателю с номером"
4. KrasinC 321 06.09.18 22:46 Сейчас в теме
Печатная форма недоступна

- ошибка при получении данных в запросе (в цикле), для тестирования закоментировать !!!
7. MikhailDr 07.09.18 07:14 Сейчас в теме
(4) При отладке все работает корректно, что надо закоментировать?
8. Raskad 8 07.09.18 09:13 Сейчас в теме
Ну прикрепляй обработку свою.
9. MikhailDr 07.09.18 10:29 Сейчас в теме
10. Raskad 8 07.09.18 11:02 Сейчас в теме
В модуле обработки замени везде "СсылкаНаОбъект" на "МассивОбъектов[0]".
vladimir-89; makarovy; +2 Ответить
11. MikhailDr 07.09.18 11:35 Сейчас в теме
(10)
СсылкаНаОбъект


Спасибо большое, это действительно решение, правда я не понял с чем была связана ошибка, ведь в других базах этот код работал
Оставьте свое сообщение
Вопросы с вознаграждением