Получить объект формы владельца из формы обработки для дальнейшей работы с документом

1. Lllypuk 13.04.22 10:14 Сейчас в теме
Добрый день! КА2. УФ. Подскажите, каким способом можно получить объект формы владельца при нажатии кнопки из формы обработки для дальнейшей работы в документе. По нажатию данные из формы обработки перенесутся в документ а форма обработки закроется.
За ранее спасибо.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
13. SlavaKron 14.04.22 12:02 Сейчас в теме
(12) ВладелецФормы недоступен на Сервере. Получайте его на клиенте, например ПриОткрытии. Но имейте в виду, работать непосредственно с объектом владельца формы вы сможете только на клиенте.
15. SlavaKron 14.04.22 13:40 Сейчас в теме
(14) Если обработка прям необходима на сервере, можно заполнить копию данных формы владельца на сервере и скопировать ее обратно через метод КопироватьДанныеФормы. В модуле формы обработки должен быть примерно такой код:
&НаКлиенте
Процедура ОбработатьОбъектФормыВладельца(Команда)
    
    ДанныеФормыВладельца = ВладелецФормы.Объект;
    ОбработатьОбъектФормыВладельцаНаСервере(ДанныеФормыВладельца);
    КопироватьДанныеФормы(ДанныеФормыВладельца, ВладелецФормы.Объект); 
    Закрыть();    
    
КонецПроцедуры

&НаСервере
Процедура ОбработатьОбъектФормыВладельцаНаСервере(ДанныеФормыВладельца)
    
    // обработка данных формы владельца на сервере
    
КонецПроцедуры
Показать
17. SlavaKron 14.04.22 13:45 Сейчас в теме
(16) Тогда еще проще, работайте сразу с ВладелецФормы.Объект на клиенте без всяких ПолучитьОбъект().
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Lllypuk 13.04.22 10:34 Сейчас в теме
(1) Добавил в обработку реквизит ссылку на документ, и делаю так:
СсылкаНаКП = СсылкаНаКП;
ОткрытьФорму("Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента", Новый Структура("Ключ", СсылкаНаКП));


Но открывает форму нового документа
3. uk09 13.04.22 10:53 Сейчас в теме
Добрый день!
Вопрос - актуален?
Вы добавили обработку документа "Коммерческое предложение клиенту" через команды ( кнопки "Рассчет" и "Рассчитать") ?
Данные документа модифицируются , при обработке ?
6. Lllypuk 13.04.22 11:21 Сейчас в теме
(3) Актуален. Да по кнопке "Рассчет" открывается обработка, в ней пользователь вносит данные и затем в обработке жмет кнопку "Рассчитать" и данные из обработки нужно переместить в этот документ.
4. Max_Max 13.04.22 10:56 Сейчас в теме
(2)
Но открывает форму нового документа
Значит "СсылкаНаКП" неопределенна.
И вообще,
СсылкаНаКП = СсылкаНаКП;
как-то не очень, да?))
5. Lllypuk 13.04.22 11:20 Сейчас в теме
(4)
Прикрепленные файлы:
7. dmbarchenkov 13.04.22 11:23 Сейчас в теме
(5) перед открытием формы "СсылкаНаКП" заполнен?
8. Lllypuk 13.04.22 11:29 Сейчас в теме
(7)Скорее всего нет, как ее необходимо заполнить?
10. dmbarchenkov 13.04.22 11:34 Сейчас в теме
(8) вы хотите открыть форму существующего документа:
СсылкаНаКП = СсылкаНаКП;
ОткрытьФорму("Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента", Новый Структура("Ключ", СсылкаНаКП));


"СсылкаНаКП" у вас пустая? Нужна же ссылка на необходимый документ.
11. Lllypuk 13.04.22 11:40 Сейчас в теме
(10) Да, в этом и стоит вопрос, как мне ее заполнить и передать))) Я не могу догнать, все перепробовал, либо ошибки, либо ничего не делает, либо открывает новый документ пустой
9. uk09 13.04.22 11:33 Сейчас в теме
В форме документа "Коммерческое предложение клиенту" есть процедура "ПодобратьИзЗапроса".
Внимательно посмотрите, думаю, что будет понятно и как заполнять параметры и как передавать в форму
12. Lllypuk 14.04.22 11:58 Сейчас в теме
Нашел где храниться ссылка, пытаюсь получить объект, пишет ошибку

&НаСервере
Процедура РассчитатьНаСервере()
СсылкаКП = ЭтотОбъект.ВладелецФормы.Объект.Ссылка;
ОбъектКП = СсылкаКП.ПолучитьОбъект(); 
КонецПроцедуры



Свойство недоступно на сервере
{Обработка.ЗагрузкаКоэффициентТранспорта.Форма.Форма.Форма(22)}:СсылкаКП = ЭтотОбъект.ВладелецФормы.Объект.Ссылка;
{Обработка.ЗагрузкаКоэффициентТранспорта.Форма.Форма.Форма(38)}:Сообщить(РассчитатьНаСервере());
13. SlavaKron 14.04.22 12:02 Сейчас в теме
(12) ВладелецФормы недоступен на Сервере. Получайте его на клиенте, например ПриОткрытии. Но имейте в виду, работать непосредственно с объектом владельца формы вы сможете только на клиенте.
14. Lllypuk 14.04.22 13:26 Сейчас в теме
(13) А как быть?
ПолучитьОбъект();
только на сервере работает...
На клиенте даёт ошибку "Метод объекта не обнаружен (ПолучитьОбъект)" и так пробовал ту же ошибку даёт
 ОбъектКП = ЭтотОбъект.ВладелецФормы.Объект.Ссылка.ПолучитьОбъект(); 
15. SlavaKron 14.04.22 13:40 Сейчас в теме
(14) Если обработка прям необходима на сервере, можно заполнить копию данных формы владельца на сервере и скопировать ее обратно через метод КопироватьДанныеФормы. В модуле формы обработки должен быть примерно такой код:
&НаКлиенте
Процедура ОбработатьОбъектФормыВладельца(Команда)
    
    ДанныеФормыВладельца = ВладелецФормы.Объект;
    ОбработатьОбъектФормыВладельцаНаСервере(ДанныеФормыВладельца);
    КопироватьДанныеФормы(ДанныеФормыВладельца, ВладелецФормы.Объект); 
    Закрыть();    
    
КонецПроцедуры

&НаСервере
Процедура ОбработатьОбъектФормыВладельцаНаСервере(ДанныеФормыВладельца)
    
    // обработка данных формы владельца на сервере
    
КонецПроцедуры
Показать
16. Lllypuk 14.04.22 13:43 Сейчас в теме
(15) Мне как раз нужно всё на клиенте))
17. SlavaKron 14.04.22 13:45 Сейчас в теме
(16) Тогда еще проще, работайте сразу с ВладелецФормы.Объект на клиенте без всяких ПолучитьОбъект().
18. Lllypuk 14.04.22 15:57 Сейчас в теме
(17) Спасибо, всё получилось
Оставьте свое сообщение

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