Имя: Пароль:
1C
1С v8
Произвольная (УФ) форма объекта и связь с ним, как?
0 AneJIbcuH
 
13.05.16
11:21
Всем привет! Такой вопрос, есть документ, в нем ТЧ, при изменении реквизита мне необходимо вызвать эту произвольную форму, её заполнить запросом. Далее пользователь редактирует данные, нажимает далее и ТЧ документа должна заполниться.
На произвольной форме есть реквизит формы "Объект" (создал по аналогии основной формы), но как понял это всё равно другой получается объект, а не данного документа.
Сейчас картина такая, форма открывается (в ней ТЗ), данные заполняются (ТЗ заполняется), пользователь редактирует и данная ТЗ пишется в ТЧ объекта. Отладчиком как-будто всё нормально, ТЧ объета заполнена, но другого объекта, т.к. на основной форме ТЧ пуста.
1 AneJIbcuH
 
13.05.16
11:22
Решил вопрос пока так, но насколько верно или можно как-то по - другому:

СтруктураПараметров = Новый Структура("Документ,ДокументЧек);
            
ФормаДанных = ПолучитьФорму("Документ.ВозвратТоваровОтПокупателя.Форма.ФормаВыбораКредитныхСредств", СтруктураПараметров,ЭтаФорма);            
            КопироватьДанныеФормы(Объект,ФормаДанных.Объект);
            
Результат = ФормаДанных.ОткрытьМодально();
            
Если Результат = "ДанныеЕсть" Тогда                
                КопироватьДанныеФормы(ФормаДанных.Объект,Объект);
...
2 GROOVY
 
13.05.16
11:23
РеквизитФОрмыВЗначение - ЗначениеВРеквизитФОрмы
3 AneJIbcuH
 
13.05.16
11:23
Т.е. через "КопироватьДанныеФормы", при этом в обе стороны.
4 AneJIbcuH
 
13.05.16
11:24
(2) Павел, сейчас попробую :)
5 aleks_default
 
13.05.16
11:25
Реквизит "Объект" в произвольной форме вообще не нужен. Просто возвращай результат (в виде массива структур) при закрытии произвольной формы.
6 AneJIbcuH
 
13.05.16
11:33
(2) Не совсем понял, применительно к данной задаче: методы работают только на сервере, а я получаю произвольную форму на клиенте, что где мне вызывать на сервере?
7 AneJIbcuH
 
13.05.16
11:34
(5) И так конечно можно, но нужны некоторые реквизиты объекта.
8 GROOVY
 
13.05.16
11:43
(5) Это плохо.Если есть объект, лучше его заполнить и конвертнуть.
9 GROOVY
 
13.05.16
11:44
(6)  Тогда результат лучше передать через временное хранилище.
10 aleks_default
 
13.05.16
11:44
(7) Дык ты же сам пишешь что это другой объект.
Передавай значения этих реквизитов через параметры формы.
В (2) не оптимальное решение.
11 aleks_default
 
13.05.16
11:46
(8) Почему?
12 aleks_default
 
13.05.16
11:48
(11)+Сами же учили минимизировать трафик между клиентом и сервером.
13 AneJIbcuH
 
13.05.16
11:49
(10) Говорю про один объект - документ. А вызываю произвольную форму данного объекта и заполнить надо ТЧ этого объекта (желательно с этой же произвольной формы).
14 Cyberhawk
 
13.05.16
11:58
Как вариант - оповещение используй
15 AneJIbcuH
 
13.05.16
12:01
(9) Думаю самый правильный вариант.