Имя: Пароль:
1C
1С v8
Управляемые формы. Вторая форма внешней обработки
0 Wefast
 
26.07.16
17:56
В объект добавил табличную часть и разместил ее на новой форме.

В модуле объекта заполнил табличную часть объекта.


Вызвал форму ОткрытьФорму(что то тут написал из интернета) из основной формы

Открылась форма. Там в табличной части добавил команду отмечающую все галочками в табличной части
Команда:
Для каждого Строка из Объект.ТабЧасть Цикл
Строка.Галчка = истина;
КонецЦикла

В форме все галочки проставились.

Закрыл форму - открыл и все галочки опять ЛОЖЬ.

что я делаю не так?
1 Pro-tone
 
26.07.16
17:58
(0) надо ТЧ сделать реквизитом объекта и записывать объект, на форме должна быть расположения интерф.объект этой ТЧ типа Данные формы коллекция
2 Wefast
 
26.07.16
18:05
(1) Добавил реквизит ТЧ. Тип таблица значений.
Поместил на форму.
НА форме добавил в эту ТЧ колонки

В модуле объекте написал

ЭтотОбъект.ТЧ = Запрос.Выполнить().Выгрузить();

Открыл форму. Отметил галочкой строки. Закрыл. Открыл. Галочки в положение ЛОЖЬ
3 Wefast
 
26.07.16
18:06
То же самое в общем
4 _stay true_
 
26.07.16
18:06
ПриОткрытии() доступно в той форме?
5 Pro-tone
 
26.07.16
18:06
НА форме добавил в эту ТЧ колонки

а сами данные-то где хранятся из колонок что ты добавил?
6 _stay true_
 
26.07.16
18:08
Привяжи свой реквизит формы к данным объекта.

Либо, пробуй сначала получить форму, потом заполнить данными реквизиты формы, потом открывать форму
7 Wefast
 
27.07.16
09:11
(4) (5) (6) Создал реквизит ТЧ(тип таблица значений). Разместил этот реквизит на форме. Так понимаю вот в объекте данные и должны хранится. И так понимаю эта самая привязка о которой вы упомянули. Я же обхожу Для каждого Стр из ОБЪЕКТ.ТЧ Цикл
8 singlych
 
27.07.16
09:45
Данные обработки в базе не хранятся. Добавь в запросе поле ИСТИНА для галки.
9 Wefast
 
27.07.16
09:53
(8) Т.е. вызвать форму, изменить в ней данные обработки, закрыть и продолжить работать с этими данными нельзя?

Как же тогда работают все эти вспомогательные формы при создание какого нибудь документа или элемента справочника. Ты заполняешь что то в всплывающем окне и это что то влияет на основной создаваемый объект. Но данные еще нигде в базе не храняться, так как объет не записан
10 _stay true_
 
27.07.16
10:16
(9) Эти данные ты должен где-то сохранить при закрытии формы. Например, поместить во временное хранилище
11 Maniac
 
27.07.16
10:29
Реквизиты обработки никак не связаны с ее формами.

Если в одной форме ты что то делаешь с реквизитами - то в другой форме этих данных не будет.

Надо постоянно перегонять данные через временное хранилищи при открыти и закрытии этих форм.
12 Wefast
 
27.07.16
11:01
Уверен что делал как то не так, но
В основной форме
При создание на сервере заполнил Табличную часть "наборы" обработки

Нажатием кнопки на клиенте:
&НаКлиенте
Процедура Врем(Команда)

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

&НаСервере
Процедура ОбработкаВыбораНаСервере(ВыбранноеЗначение)
    Объект.Наборы.Загрузить(ВыбранноеЗначение.тч.Выгрузить());
КонецПроцедуры


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

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


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Объект.Наборы.Загрузить(Параметры.ТЧ.ВЫгрузить());
КонецПроцедуры