Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 мая 2024, 03:20

Открытие формы внешней обработки.

Автор illyaromanenko, 04 мар 2024, 15:56

0 Пользователей и 1 гость просматривают эту тему.

illyaromanenko

Добрый день. Подскажите, как из типового документа конфигурации открыть форму внешней обработки и передать ссылку на этот документ во внешнюю обработку? ЕРП 8.3

Максим75

illyaromanenko,
если нет возможности или желания изменять код документа в конфигураторе.
есть возможность добавлять внешние отчеты, обработки, печатные формы сразу в базу.
 
рисуете обработку
в модуле обработки пишите такое:
Функция СведенияОВнешнейОбработке() Экспорт

Назначения = Новый Массив ;
Назначения.Добавить("Документ.ОтчетОРозничныхПродажах") ;

ПараметрыРегистрации = Новый Структура ;
ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение",Назначения);
ПараметрыРегистрации.Вставить("Наименование","Заполнить по чекам продаж");
ПараметрыРегистрации.Вставить("Версия","1.0");
ПараметрыРегистрации.Вставить("Информация","Заполнить по чекам продаж");
ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь);

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

ПараметрыРегистрации.Вставить("Команды",Команды) ;

Возврат ПараметрыРегистрации;

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

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

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

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

//
КонецПроцедуры
и вот в модуле формы ссылка на вызвавший объект будет доступна через ВладелецФормы.Объект.Ссылка

потом эту обработку прикручиваете в базу данных через печатные формы, отчеты, обработки (ну или как там у Вас в базе внешние все дела прикручиваются) и в нужном документе появится кпонка, которой будет вызываться обработка.

illyaromanenko

Максим75, спасибо большое, вы мне очень помогли

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск