Как вызвать экспортную процедуру из расширения
Конфигурация БП 3.0 типовая на поддержке.
Версия платформы 8.3.13.1513.
Режим совместимости стоит версия 8.3.12.
Необходимо программно сформировать несколько отчетов.
Для этого создал расширение.
Форму отчета КнигаПокупок захватил в расширение, для того чтобы
сделать процедуру сформировать экспортной:
Далее делаю вызов этой «расширенной» процедуры:
В итоге при обращении к процедуре СформироватьОтчет, которую сделал экспортной в расширении ругается:
{ВнешняяОбработка.ВызовИзРасширения.Форма.Форма.Форма(7)}: Метод объекта не обнаружен (СформироватьОтчет)
ФормОтчета.СформироватьОтчет(Неопределено);
Каким образом вызвать процедуру, которую я поместил в расширение?
Версия платформы 8.3.13.1513.
Режим совместимости стоит версия 8.3.12.
Необходимо программно сформировать несколько отчетов.
Для этого создал расширение.
Форму отчета КнигаПокупок захватил в расширение, для того чтобы
сделать процедуру сформировать экспортной:
&НаКлиенте
Процедура Расш1_СформироватьОтчетВместо(Команда) Экспорт
СформироватьОтчетНаКлиенте();
КонецПроцедуры
Далее делаю вызов этой «расширенной» процедуры:
&НаКлиенте
Процедура Вызвать(Команда) Экспорт
ФормОтчета = ПолучитьФорму("Отчет.КнигаПокупок.Форма.ФормаОтчета");
ФормОтчета.СформироватьОтчет(Неопределено);
КонецПроцедуры
В итоге при обращении к процедуре СформироватьОтчет, которую сделал экспортной в расширении ругается:
{ВнешняяОбработка.ВызовИзРасширения.Форма.Форма.Форма(7)}: Метод объекта не обнаружен (СформироватьОтчет)
ФормОтчета.СформироватьОтчет(Неопределено);
Каким образом вызвать процедуру, которую я поместил в расширение?
Прикрепленные файлы:
По теме из базы знаний
- Использование подсистемы "Управление доступом" из состава БСП версии 2.2+
- Автоматизируй это!
- А1Э_Механизмы - паттерн publisher/subscriber, расширение расширений, БСП без головной боли и прочие вкусности
- Последовательность выполнения расширений
- Заполнение документа "Премия" из файла Excel (Табельный номер + Сумма премии) с использованием внешней обработки заполнения табличной части и расширения. ЗУП 3.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Ну какая может быть экспортная процедура на клиенте?
Ну посмотрите на свой код чего и откуда вы на вызывали?
Может как то так
Ну посмотрите на свой код чего и откуда вы на вызывали?
Может как то так
&НаКлиенте
Процедура Расш1_СформироватьОтчетВместо(Команда)
СформироватьОтчетНаКлиенте();
КонецПроцедуры
&НаСервере
Процедура СформироватьОтчетНаКлиенте()
//Формируем собственно отчет
КонецПроцедуры
Показать
(2)
СформироватьОтчетНаКлиенте() - это ТИПОВАЯ процедура, которая выполняется на клиенте. Очевидно у вас нет под рукой типвой БП 3.0.
Если процедура клиентская, метод экспорт для нее также применим)
Я так понимаю не умеет пока еще расширенеи работать с экспортом процедуры.
СформироватьОтчетНаКлиенте()
СформироватьОтчетНаКлиенте() - это ТИПОВАЯ процедура, которая выполняется на клиенте. Очевидно у вас нет под рукой типвой БП 3.0.
Если процедура клиентская, метод экспорт для нее также применим)
Я так понимаю не умеет пока еще расширенеи работать с экспортом процедуры.
(1) т.е. создали в расширении процедуру Расш1_СформироватьОтчетВместо как обработчик команды СформироватьОтчет и вызываете:
ФормОтчета.СформироватьОтчет(Неопределено);
и ждете, что сработает процедура из расширения?
Так это не работает. Вы не просто процедуру переопределили в расширении, а процедуру, которая будет вызываться в обработчике команды. Фактически указали, что во время выполнения команды будет выполняться другая процедура. И вызывать ее просто так не получится.
ФормОтчета.СформироватьОтчет(Неопределено);
и ждете, что сработает процедура из расширения?
Так это не работает. Вы не просто процедуру переопределили в расширении, а процедуру, которая будет вызываться в обработчике команды. Фактически указали, что во время выполнения команды будет выполняться другая процедура. И вызывать ее просто так не получится.
(3) {ВнешняяОбработка.ВызовИзРасширения.Форма.Форма.Форма(9)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
ФормОтчета.СкомпоноватьРезультат();
по причине:
Не установлена схема компоновки данных
По ходу это прокатывает для отчетов на СКД) Этот отчет не на СКД(
ФормОтчета.СкомпоноватьРезультат();
по причине:
Не установлена схема компоновки данных
По ходу это прокатывает для отчетов на СКД) Этот отчет не на СКД(
я запустил в БП 3.0 глобальный поиск по тегу "КнигаПокупок"
и получил примеры вызова этого отчета, например
делаем выводы или будем костыли лепить?
и получил примеры вызова этого отчета, например
ПараметрыРаздел8 = ОбщиеПараметры;
ПараметрыРаздел8.Вставить("НачалоПериода", НачалоПериодаОтчета);
ПараметрыРаздел8.Вставить("КонецПериода", ПараметрыОтчета.мДатаКонцаПериодаОтчета);
ПараметрыРаздел8.Вставить("ФормироватьДополнительныеЛисты", Ложь);
ПараметрыРаздел8.Вставить("ДополнительныеЛистыЗаТекущийПериод", Ложь);
ПараметрыРаздел8.Вставить("ВыводитьТолькоДопЛисты", Ложь);
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор());
Отчеты.КнигаПокупок.СформироватьОтчет(ПараметрыРаздел8, АдресХранилища);
Показатьделаем выводы или будем костыли лепить?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот