Имя: Пароль:
1C
1С v8
Обращение к форме - обычное приложение
,
0 SunProgy
 
12.02.15
18:19
Здравствуйте, вопрос собственно:

Внешняя обработка: в ней содержатся 3 формы, главная, редактор и добавление файлов.

При закрытии последней передаю элементу формы новое значение, событие не обрабатывается, т. е. форма редактор не активизируетсяя с текущ данными
    ФормаОсновная = ЭтотОбъект.ПолучитьФорму("ФормаРедактор");
    ФормаОсновная.ЭлементыФормы.Надпись.Заголовок = "Новые данные";

т. е. у ЭлементыФормы.Надпись.Заголовок значение не обновляется
1 SunProgy
 
12.02.15
18:30
В главной форме выбраны данные запросом,

в форме редакторе происходит выбор редактируемых данных,

Форма добавления файлов не видит данные из предыд. форм, не могу понять почему
2 Garykom
 
гуру
12.02.15
18:33
(1) ссылку передать? на форму.

1с какая?

и эта обычно если обычные формы то вызов доп форм модально делать проще... и при закрытии данные вернутся куда надо сразу без процедур обработки
3 DirecTwiX
 
12.02.15
18:35
(1) А где данные хранятся? ОбработкаОбъект?
Если нет, то можно при закрытии формы отдавать список файлов.

Закрыть(СписокФайлов);
4 SunProgy
 
12.02.15
18:37
(2) 1с обычная
5 DirecTwiX
 
12.02.15
18:38
Ещё раз попытался осилить (0)..
Лазить из текущей формы по открытым.. Лучше так не делать.
6 SunProgy
 
12.02.15
18:39
(3) да, Обработка объект
(5) тоже думаю, как от лишней избавиться
7 SunProgy
 
12.02.15
18:42
На форме Редактор есть кн. "выбрать файлы", при нажатии откр. форма для выбора нескольких файлов и последующего сохранения их
8 SunProgy
 
12.02.15
18:56
ОткрытьМодально() - результат тот же
9 Garykom
 
гуру
12.02.15
18:56
(4) обычная это 1С6 ?
10 SunProgy
 
12.02.15
18:58
нет)), платформа 8.2, сама  1с УТ 10.3
11 DirecTwiX
 
12.02.15
19:03
(8)
Р = ПолучитьФорму("ДобавлениеФайлов").ОткрытьМодально();
Для каждого Эл из Р Цикл
Ф = Новый Файл(Эл);
...
КонецЦикла;


В кнопке закрытия формы редактора:
Р = Новый Массив;
Для каждого Стр из ТаблицаФайлов Цикл
Р.Добавить(Стр.Путь);
КонецЦикла;
Закрыть(Р);
12 SunProgy
 
12.02.15
19:03
(2) какую ссылку?
13 DirecTwiX
 
12.02.15
19:06
(12) На открытую форму, т.к. ЭтотОбъект.ПолучитьФорму("ФормаРедактор") не найдет открытую форму без использования третьего параметра. Дальше в СП :)
ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)
14 SunProgy
 
12.02.15
19:07
(13) т.е надо присвоить Форме редактору ключ уникальности?
15 Garykom
 
гуру
12.02.15
19:08
(12) на форму

просто разберись что у тебя куда открывается-передается (откуда куда есть доступ) и где что и откуда заполняется

т.е. есть обработка как объект, есть ее реквизиты

есть форма 1 и ее реквизиты, из нее открыли форму 2 со своими реквизитами

что хотишь то?

при закрытии формы2 заполнить что то в объекте или в родительской форма1?
это можно делать или перед закрытием форма2 внутри нее или призакрытии передать данные в форму1 и там уже используя полученные данные заполнить нужные
16 DirecTwiX
 
12.02.15
19:15
(14) Если ты хочешь её потом найти. Но лучше смотри в сторону (11)
17 SunProgy
 
12.02.15
19:15
3 формы, одна обработка, при закрытии формы с добавлением файлов надо, чтобы у формы редактора поменялась надпись, стало: "файлы добавлены". Ссылку на форму передаю, но без третьего параметра -ключ уникальности по умолчанию не задан
18 DirecTwiX
 
12.02.15
19:25
(17) Давай код - поржем хоть)

В продолжении к (11):

Р = ПолучитьФорму("ДобавлениеФайлов").ОткрытьМодально();
Для каждого Эл из Р Цикл
Ф = Новый Файл(Эл);
...
КонецЦикла;
ЭтаФорма.Заголовок = "Файлы добавлены";
19 SunProgy
 
12.02.15
19:36
ФормаДобавленияФайлов.ОткрытьМодально();    
    
         ФормаДобавленияФайлов.ЭтаФорма.ВыборФайлов.Очистить();


открывается форма выбора файлов : в табл часть выбираютяс файлы, при нажатии на Сохранить запись в регистр и все
20 DirecTwiX
 
12.02.15
20:00
1) ОткрытьМодально() возвращает результат. Его нужно обрабатывать
2) Код, находящийся после вызова ОткрытьМодально(), выполняться не будет, пока не будет закрыта модальная форма.
21 SunProgy
 
12.02.15
20:15
(20) спасибо большое, не понятно все же, просто если бы все события могли в одном месте выполняться, то да, а так ((
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн