Имя: Пароль:
1C
1С v8
Как прочитать данные в УФ?
0 Stim213
 
28.08.11
16:28
Создал обработку(не внешн), дал ей 2 реквизита, 2 тч.
Создал 2 управляемые формы- на каждую тч. На первую кроме того вывел оба реквизита обработки.
Как мне теперь во второй форме обработки получить доступ к значениям этих реквизитов?
И как из одной формы обработки заполнить тч обработки, которая на второй форме(сейчас открывается пустая)?
1 EvgeniuXP
 
28.08.11
16:30
передать через параметры, см. ОткрытьФорму().
2 EvgeniuXP
 
28.08.11
16:31
в бесплатных мультиках это рассказывают.
3 jump if zero
 
28.08.11
19:59
если обмен между двумя УФ формами

в первой форме:
&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)
 Оповестить("КонтрагентИзменен",Объект.Контрагент);
КонецПроцедуры

во второй форме:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   
   Если ИмяСобытия ="КонтрагентИзменен"   Тогда
           Объект.Контрагент = Параметр;
   КонецЕсли;
   
КонецПроцедуры
4 Stim213
 
28.08.11
21:06
блин. Какая гадость эти ваши управляемые формы. Чтобы сделать одно действие, которое в 8.1 пишется одной строкой, в УФ нужно создать 25 процедур и 30 функций((

Как мне передать в качестве параметра Таблицу значений, чтобы загрузить её во вторую табличную часть??

Таблица = Новый ТаблицаЗначений;

&НаКлиенте
..
Таблица = Новый ТаблицаЗначений;

Ругается на таблицу значений на клиенте.
Пытаюсь передать Объект.ТабличнаяЧасть2(табличная часть обработки, заполненная в этой форме)

&НаКлиенте
ТЧ2 = Объект.ТабличнаяЧасть2;// пробовал и с Объект.ТабличнаяЧасть2.Выгрузить()
Структура = Новый Структура("ТабличнаяЧасть2",ТЧ2);
ФОрма = ПолучитьФорму("Обработка.МояОбработка.Форма.Форма2",Структура);
   Форма.открытьМодально();

Открывает пустую, хотя в текущей форме ТаблЧасть2 заполнена.

Это какой-то пипец
5 MikleV
 
28.08.11
21:09
(4)открой типовую, написанную под управляемое приложение, там примеров куча
6 MikleV
 
28.08.11
21:10
и да, ТЗ хоть и существует на тонком клиенте, но взаимодействовать с ней там не получится
7 Stim213
 
28.08.11
21:41
какая-то засада с этими УФ
8 Reaper_1c
 
28.08.11
21:44
(4) Ты прав на 200% процентов. Именно поэтому во всех учебниках говорят, что делать на 8.2 тоже самое, что и на 8.1 - глупо и нерационально. Сначала нужно понять УФ потом делать дела, а не пытаться лепить чего попало куда придется.
9 Поручик
 
28.08.11
21:46
(7) Иди лучше детей делай, управляемые формы не для тебя.
10 Stim213
 
28.08.11
21:47
(8)(9) а по сабжу можете что-то сказать, умники?
11 MRAK
 
28.08.11
21:52
(8) +100.
что там было про ключки в голове и снеговика?
12 Поручик
 
28.08.11
21:53
(10) >>> Как мне передать в качестве параметра Таблицу значений,
Луркай по типовым или в СП ПоместитьВоВременноеХранилище
13 Stim213
 
28.08.11
21:54
Хорошо. Объясните мне, рациональные - как из одной формы обработки открыть вторую, заполнив расположенную на ней табличную часть.
14 jump if zero
 
28.08.11
22:01
в первой форме
&НаКлиенте
Процедура Команда1(Команда)
   
ОткрытьФорму("Обработка.Обработка1.Форма.Форма1");
Оповестить("Товары",,ЭтаФорма);

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

во второй форме

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Товары" Тогда
       
Для каждого СтрокаТЧ ИЗ Источник.Объект.Товары Цикл
           
ЗаполнитьЗначенияСвойств(Объект.Товары.Добавить(),СтрокаТЧ);    
КонецЦикла;
       
КонецЕсли;
КонецПроцедуры
15 Юрий Лазаренко
 
28.08.11
22:04
(13) Книга "Разработка управляемого интерфейса". +100 к мане, ловкости, силе и способности кодить под управляемые формы.
PS: Я не умничаю, просто там действительно много чего надо понять, прежде чем начинать писать под УФ.
16 Stim213
 
28.08.11
22:09
(14)Спасибо. Забавно, конешн, перебирать в цикле табличную часть, чтобы просто вывести её на форму. В этом ли состоит обещанное быстродействие УФ?:)
Вобщем, я понял - чтобы писать на управляемых формах, нужно думать, как управляемая форма. Спасибо. Ушел медитировать.
17 MikleV
 
28.08.11
23:38
(16)
в первой форме:
&НаКлиенте
Процедура Кнопка(Команда)
АдресВХранилище = ПолучитьАдресТоваровВХранилище();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("АдресТоваровВХранилище", АдресВХранилище);
ОткрытьФорму("Обработка.Бла.Форма.Форма2", ПараметрыФормы, ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ПолучитьАдресТоваровВХранилище()
Возврат ПоместитьВоВременноеХранилище(Объект.Товары.Выгрузить(), Новый УникальныйИдентификатор);
КонецПроцедуры

во второй форме:
&НаСервере
Процедура ПриСозданииНаСервере()
Объект.Товары.Загрузить(ПолучитьИзВременногоХранилища(Параметры.АдресТоваровВХранилище));
КонецПроцедуры
18 Юрий Лазаренко
 
29.08.11
10:08
Обязательно читать книгу из (15), чтобы не было такого кода, как в (14)