Имя: Пароль:
1C
1С v8
УФ передача параметров
0 Baloven
 
02.11.12
08:54
Доброго дня
есть внешняя обработка на простой форме, я из нее вызываю УФ находящуюся в обработках в конфе:
   НомерДок = Строка.N;
   ДатаДок = Строка.Дата;
   ТипДок = 39;
   ПараметрыОткрытия = Новый Структура("ВладелецФайла, НеОткрыватьКарточкуПослеСозданияИзФайла, ИдентификаторКлиента,НомерДок,ДатаДок,ТипДок",
       ВладелецФайла, НеОткрыватьКарточкуПослеСозданияИзФайла, ИдентификаторКлиента,НомерДок,ДатаДок,ТипДок);
   
   ДанныеФайла = ОткрытьФормуМодально("Обработка.Сканер.Форма.РезультатСканирования", ПараметрыОткрытия,ЭтаФорма);

суть в том что я не вижу в форме "РезультатСканирования" переданные НомерДок,ДатаДок,ТипДок
1 Rounder
 
02.11.12
09:23
(0) В процедуре ПриСозданииНаСервере у формы обработки обработай переданные параметры и заполни форму.
2 Rounder
 
02.11.12
09:25
Не прочел что обработка на простой форме... Может и не сработать - не пробовал. Отвечал для УФ.
3 Rounder
 
02.11.12
09:26
В общем пробуй (1)
4 YF
 
02.11.12
09:28
Используй
форма_ = ПолучитьФорму(...);
форма_.МойРеквизит = ЗначениеМоегоРеквизита;
форма_.Открыть(); //как открыть модально нужно в СП посмотреть
5 Baloven
 
02.11.12
09:47
Параметры.Свойство("НомерДок") дает Истина :( что еще и как можно посмотреть?
6 cw014
 
02.11.12
09:48
(5) А ты думал, что оно даст?
7 Baloven
 
02.11.12
09:49
(6) переданное значение
8 cw014
 
02.11.12
09:49
Структура.Свойство (Structure.Property)
Структура (Structure)
Свойство (Property)
Синтаксис:

Свойство(<Ключ>, <НайденноеЗначение>)
Параметры:

<Ключ> (обязательный)

Тип: Строка.
Ключ для поиска свойства.
<НайденноеЗначение> (необязательный)

Тип: Произвольный.
В данный параметр возвращается найденное значение. Если ключа нет в структуре, то возвращается Неопределено.
Возвращаемое значение:

Тип: Булево.
Истина - ключ найден; Ложь - в противном случае.
Описание:

Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

Отбор.Свойство("Дата");
9 1Сергей
 
02.11.12
09:51
НомерДок... ДатаДок...

Семёрошник?
10 Baloven
 
02.11.12
09:56
(9) лень писать полностью - я просто не могу получить значения в форме - нет это УПП я в нее перекинул и почистил формы сканирования в отдельную обработку из документооборота но мне нужно файл сохранить по с именем по определенным правилам - для этого и нужно передать в форму сканирования параметры для формирования имени файла
11 cw014
 
02.11.12
09:57
(9) Понял? Лень писать "Номер" полностью, сокращеннее будет "НомерДок"
12 1Сергей
 
02.11.12
09:58
(11) :)
13 Infsams654
 
02.11.12
09:58
(10) так у тебя в форме есть такие параметры ?
14 Baloven
 
02.11.12
09:59
да добавил
15 Baloven
 
02.11.12
11:02
получилось так

Параметры.НомерДок

если нет в форме НомерДок

то вот так:

ТоКудаНамНужно = Параметры.НомерДок
16 Baloven
 
02.11.12
11:39
ну собственно с передачей параметров разобрался в УФ и между УФ, а как вернуть из УФ в обычную?
т.е. в текущем примере у меня формируется отсканированный файл и как мне его теперь получить в обычной форме?
потому как вот по этой строке:

ДанныеФайла = ОткрытьФормуМодально("Обработка.Сканер.Форма.РезультатСканирования", ПараметрыОткрытия,ЭтаФорма);

ДаттыеФайла я получаю "неопределено" :(
17 Infsams654
 
02.11.12
13:26
В форме Обработка.Сканер.Форма.РезультатСканирования
делаешь
Закрыть (Close)
Синтаксис:

Закрыть(<ПараметрЗакрытия>)
и т.д.
18 Baloven
 
03.11.12
04:14
(17) да спасибо все ок, просто я ее писал в процедуру "ПриЗакрытии()" и выдавало ошибку, а сейчас написал такую конструкцию:

   УдалитьВременныеФайлы(МассивФайловКопия);
   ПараметрыЗакрытия = Новый Структура("ФайлРезультата,ИмяФайла,ТипКаталога",
       ФайлРезультата, ИмяФайла, ТипКаталога);
   
   Закрыть(ПараметрыЗакрытия);    

ну и в обычной форме ДанныеФайла имею переданную структуру и вытаскиваю их обратно
19 Baloven
 
07.11.12
14:21
возвращаясь к баранам про Передачу параметров в УФ
в общем все гладко, но теперь мне в ТЗ нужно передать в форму СписокЗначений формируемый в Обычной форме для заполнения им поля ввода (раньше оно было статичным, теперь решили сделать динамичное)
   
СписокНазванийДокументов = СоставитьСписокТиповФайлов();                                            
   ПараметрыОткрытия = Новый Структура("ИдентификаторКлиента,НомерДокумента,ДатаДокумента,ТипДокумента,СписокНазванийДокументов",
       ИдентификаторКлиента,НомерДокумента,ДатаДокумента,ТипДокумента,СписокНазванийДокументов);

СписокНазванийДокументов формируется и передается с типом "СписокЗначений"
Аналогично в УФ есть реквизит СписокНазванийДокументов с таким же типом

пытаюсь в УФ сделать:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   НомерДокумента = Параметры.НомерДокумента;
   ДатаДокумента = Параметры.ДатаДокумента;
   РежимСоздания = Параметры.РежимСоздания;
   Элементы.РежимСоздания.СписокВыбора.Очистить();
   СписокНазванийДокументов.ЗагрузитьЗначения(Параметры.СписокНазванийДокументов);
   Элементы.РежимСоздания.СписокВыбора.ЗагрузитьЗначения(Параметры.СписокНазванийДокументов);
КонецПроцедуры

и мне на первой же строке ругается что Поле объекта не обнаружено (СписокНазванийДокументов) в отладчике тоже Параметры.СписокНазванийДокументов необнаружено :(
уже мозг весь сломал почему не передается параметр
20 Baloven
 
07.11.12
14:44
уже и элемент скрытый создал и к нему данные привязал СписокНазванийДокументов, все равно в Параметры - нету СписокНазванийДокументов
21 Baloven
 
08.11.12
03:29
блин ну народ подскажите кто-нибудь где копать?

смотрю отладчиком на строке:

   ПараметрыОткрытия = Новый Структура("ИдентификаторКлиента,НомерДокумента,ДатаДокумента,ТипДокумента,СписокНазванийДокументов",
       ИдентификаторКлиента,НомерДокумента,ДатаДокумента,ТипДокумента,СписокНазванийДокументов);

в ПараметрыОткрытия.СписокНазванийДокументов вижу свой список

но как только форма открывается (ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)) нет его в структуре Параметры???? в чем может быть дело просто не понимаю

пересмотрел вызовы в документообороте - там без проблем перекидываются в структуре списки выбора, и даже в тех случаях если нет в форме реквизита (например кусок кода:

           ПараметрыОткрытия = Новый Структура("СписокПочтовыхАдресов", СписокПочтовыхАдресов);
           ОткрытьФорму("Документ.ИсходящееПисьмо.ФормаОбъекта", ПараметрыОткрытия);
и на форме нет СписокПочтовыхАдресов
22 Baloven
 
08.11.12
07:36
блин ступил :( у меня пробрасывается значение через еще одну форму и второй вызов тоже через ПриСозданииНаСервере
возник другой вопрос
я наверно туплю уже конкретно, у меня тип СписокНазванийДокументов списокЗначений, а я так понимаю чтобы его загрузить в СписокВыбора - он должен быть массивом как его привести к массиву-то?
23 olegves
 
08.11.12
08:42
(22) - список выбора и есть список значений. Кури ВыгрузитьЗначения и ЗагрузитьЗначения
24 Baloven
 
08.11.12
09:57
собственно решил обходом коллекции из ТЗ
25 Baloven
 
08.11.12
09:57
(23) Я пробовал загрузить (я выше писал) у меня ругалось :(
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.