ОШИБКА! Добавление внешней обработки (Отчет) Не удалось выполнить команду. Метод объекта не обнаружен (ВыполнитьКоманду)

1. user973528 11.05.18 11:15 Сейчас в теме
&НаКлиенте
Функция ПолучитьМакетНаСервере() 
		
	Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); 
		
КонецФункции


&НаСервере
Функция ПолучитьМакет(Макет)
	
		ЭтотОтчет = РеквизитФормыВЗначение("Отчет");
    	Макет = ЭтотОтчет.ПолучитьМакет(Макет); 
		Возврат Макет	
		
КонецФункции



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

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


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


Функция ПолучитьТаблицуКоманд()


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


	
&НаСервере
Процедура СформироватьОтчетНаСервере()
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
		|	РеализацияТоваровУслуг.Дата,
		|	РеализацияТоваровУслуг.НомерАвтомобиля,
		|	РеализацияТоваровУслуг.МаркаАвтомобиля,
		|	РеализацияТоваровУслуг.Водитель КАК Фамилия,
		|	РеализацияТоваровУслуг.Номер,
		|	РеализацияТоваровУслуг.СуммаДокумента,
		|	РеализацияТоваровУслуг.Комментарий
		|ИЗ
		|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
		|ГДЕ
		|	РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
		|	И РеализацияТоваровУслуг.Контрагент = &Контрагент"
		;
		
	Запрос.УстановитьПараметр("Дата1", НачалоДня(Объект.ДатаНачало));
	Запрос.УстановитьПараметр("Дата2", КонецДня(Объект.ДатаОкончания));
	Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
	
	ТЗ = Запрос.Выполнить().Выгрузить();
	
	//ПолучениеОбщегоМакета
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	
	Макет = ПолучитьМакет("Макет");
	//НаСервере("Макет");

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

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


&НаКлиенте
Процедура СформироватьОтчет(Команда)
	
	
	СформироватьОтчетНаСервере();
	
	
КонецПроцедуры


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

КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
10. spacecraft 11.05.18 14:24 Сейчас в теме
(1)
ВызовСерверногоМетода

Подразумевает расположение метода в модуле обработки, а не формы.
opkc; user973528; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. platon_ 10 11.05.18 11:31 Сейчас в теме
(1)
Программный код, который должен выполняться при запуске внешней обработке, должен находиться в теле процедуры ВыполнитьКоманду().
4. user973528 11.05.18 11:32 Сейчас в теме
(3)
теле
То есть параметры регистрации?
6. platon_ 10 11.05.18 11:35 Сейчас в теме
(4) СведенияОВнешнейОбработке() они нужны для регистрации как внешнего отчета в справочнике внешних отчетов и обработок.

У вас регистрация проходит?
7. user973528 11.05.18 11:37 Сейчас в теме
(6)
ни нужны для регистрации как внешнего отчета в справочнике внешних отчетов и обработок.

Да, она регистрируется как дополнительная обработка, но когда нажимаю выполнить выдаёт ошибку с командой
5. DJDUH 17 11.05.18 11:34 Сейчас в теме
9. user973528 11.05.18 14:13 Сейчас в теме
(5) Как раз там и смотрел, но не помогло
10. spacecraft 11.05.18 14:24 Сейчас в теме
(1)
ВызовСерверногоМетода

Подразумевает расположение метода в модуле обработки, а не формы.
opkc; user973528; +2 Ответить
11. user973528 11.05.18 14:30 Сейчас в теме
(10)
Подразумевает расположение метода в модуле обработки, а не формы.
Спасибо, ошибка ушла
2. user973528 11.05.18 11:16 Сейчас в теме
Помогите знатоки, что нужно объявить в Процедуре ВыполнитьКоманду?
8. user973528 11.05.18 11:39 Сейчас в теме
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
	ПараметрыРегистрации.Вставить("Назначение", "Документ.РеализацияТоваровУслуг");
	ПараметрыРегистрации.Вставить("Наименование", "АктВыполненныхРабот");
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("Информация", "Дополнительная отчетная форма");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);

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

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

Функция ПолучитьТаблицуКоманд()


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



Вот код обработки
Оставьте свое сообщение

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