Имя: Пароль:
1C
1С v8
Внешняя обработка заполнения
0 Flempy
 
05.03.21
07:23
Создаю обработку заполнения, не совсем по назначению, но все же хотелось реализовать следующее:
При нажатии на кнопку заполнения, необходимо открыть форму внешней обработки, которую необходимо заполнить данными из формы, откуда вызывалась обработка (надеюсь понятно объясняю). Вроде все сделал, однако не совсем понятно, как можно передать ссылку на объект формы, откуда нужно получить данные.
Вот так вот выглядит процедура в модуле формы обработки

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

КонецПроцедуры

В этой процедуре могу получить данные нужной формы, но не знаю как передать эту ссылку в другую процедуру, например "ПриСоздании"
1 FIXXXL
 
05.03.21
08:22
(0) ну дык вставь ссылку в параметры открываемой формы
2 Flempy
 
05.03.21
08:43
(1) Имеешь в виду вот так  ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма", СсылкаНаОбъект);
И потом как мне обратиться к этому параметру?
3 Галахад
 
гуру
05.03.21
09:06
(0) Ну вроде "ВладелецФормы" есть только на клиенте.
4 sdf
 
05.03.21
09:12
если это обработка заполнения для БСП, то в обработчик передаются параметры, где есть форма, из которой выполняется команда.
см. демобазу БСП _ДемоЗаполнениеКонтрагентовРасширение, Процедура Подключаемый_ЗаполнитьПолноеНаименование(НеИспользуется, ПараметрыВыполнения) Экспорт
5 Flempy
 
05.03.21
09:15
(4) Да, разобрался вроде как, спасибо
6 Flempy
 
05.03.21
09:28
Опишу в двух словах как сделал, мб пригодится кому
В общем нужно создать на форме обработки новый параметр (Например "СсылкаНаДокумент"), и при открытии формы передать в этот параметр ссылку на наш объект. Потом в процедуре "ПриСозданииНаСервере" получить через параметр нашу ссылку.Код для наглядности:

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


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Ссылка = Параметры.СсылкаНаДокумент;
//передаем номер документа в поле формы нашей обработки
    НомерДокумента = Ссылка.Номер  
КонецПроцедуры
7 Flempy
 
05.03.21
09:31
Тут уже более подробно расписано

http://catalog.mista.ru/1c/articles/86853/