Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как открыть форму объекта? На сервере или клиенте?

Как открыть форму объекта? На сервере или клиенте?
Я
   IvanGorbunov
 
15.04.19 - 14:05
Есть функция на сервере, где получается объект отчета, типа Отчеты.ВедомостьПоОстаткам.Создать(), для которого после этого устанавливаются значения реквизитов отчета. Но потом нужно открыть форму этого объекта, этот объект нужно вернуть в клиентскую процедуру, откуда эта серверная функция была вызвана. Но объект клиентская процедура не видит, говорит ошибка отображения типов. Тонкий клиент.
Что делать?
 
 
   Mankubus
 
1 - 15.04.19 - 14:10
(0) открывай форму на клиенте передав в нее все необходимые параметры.
при создании на сервере формы анализируй параметры и заполняй реквизиты
   IvanGorbunov
 
2 - 15.04.19 - 14:11
(1) это надо конфу изменять
   Fish
 
3 - 15.04.19 - 14:11
(2) Расширение прикрути.
   IvanGorbunov
 
4 - 15.04.19 - 14:13
(3) это понятно, но не очень хочется так делать
   edem911
 
5 - 15.04.19 - 14:14
Кури ДанныеФормыВзначение()и ЗначениеВДанныеФормы().
   edem911
 
6 - 15.04.19 - 14:15
(5) а и еще КопироватьДанныеФормы()
   IvanGorbunov
 
7 - 15.04.19 - 14:18
(5) можете чуть подробней сказать, как это здесь применить?
   edem911
 
8 - 15.04.19 - 14:21
(7) На клиенте создаете форму (Открыть форму), далее на сервер передаете объект этой формы- там заполняете все что нужно, и далее копируете переданный на сервер объект в объект формы через КопироватьДанныеФормы()
   edem911
 
9 - 15.04.19 - 14:27
   IvanGorbunov
 
10 - 15.04.19 - 14:30
(8) у моей формы нет объекта, у нее есть разве что реквизит "Отчет" и вот такой код
ЗаполнитьОтчет(Форма.Отчет);

пишет ошибку
Ошибка при установке значения атрибута контекста (Отчет)
        ЗаполнитьОтчет(Форма.Отчет);
по причине:
Нельзя изменять поле, содержащее объект данных формы
 
 Рекламное место пустует
   edem911
 
11 - 15.04.19 - 14:36
(10) Переприсвой в переменную и потом передавай в ЗаполнитьОтчет()
   edem911
 
12 - 15.04.19 - 14:37
(11)
ОтчетДляЗаполнения=Форма.Отчет;
ЗаполнитьОтчет(ОтчетДляЗаполнения);
КопироватьДанныеФормы(ОтчетДляЗаполнения, Форма.Отчет);

   IvanGorbunov
 
13 - 15.04.19 - 14:56
(12) спасибо, так получается, единственное нужно еще отбор компоновщику установить и чтобы отчет при открытии сам формировался
   IvanGorbunov
 
14 - 15.04.19 - 14:57
(13) отбор вроде ставлю, перед открытием формы Форма.Отчет.Компоновщик.Отбор - там мой отбор стоит, но в настройках открываемого отбора нет, и отчет без отбора формируется
   edem911
 
15 - 15.04.19 - 15:07
(14) а что за реквизиты вы меняете? или меняете настройки компоновки данных?
   edem911
 
16 - 15.04.19 - 15:09
(14) отчет формируется стандартной кнопкой или написан обработки формирования? Если написан обработчик формирования то без изменения формы никак.
   IvanGorbunov
 
17 - 15.04.19 - 15:20
(15) меняю реквизиты отчета и настройки компоновки тоже
   IvanGorbunov
 
18 - 15.04.19 - 15:23
(16) обработчик формирования для кнопки Сформировать там написан
   toypaul
 
19 - 15.04.19 - 15:49
Форма = ПолучитьФорму()

Форма.Отчет.Компоновщик - настроить
Форма.СкомпоноватьРезультат()
Форма.Открыть()

вот тут http://learn.programstore.ru/ все это рассказывалось. скоро обещают сделать записи видосиков

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует