|
1С 8: Обычное приложение. Как прочитать параметр переданный при открытии формы? | ☑ | ||
---|---|---|---|---|
0
KizerSoze
15.09.13
✎
21:11
|
здравствуйте,
Создал документ "Прохождение конкурсов" и хочу добавить возможность автозаполнения его ТЧ с предварительным выбором периода. Для этого создал общую форму, в которой задаю стандартный период и заполняю документ. Для этого мне нужно передать в эту форму ссылку заполняемого документа. Как ее прочитать - не понятно. Делаю так: 1.Добавляю кнопку на форму документа, по которой вызываю общую форму автозаполнения. Пар=Новый Структура; Пар.Вставить("ДокументОбъект",Ссылка); ОткрытьФорму("ОбщаяФорма.ВыборПериода",Пар); 2. В процедуре "При открытии" или "Перед открытием" хочу прочитать переданный параметр, но не могу разобраться как. |
|||
1
Нуф-Нуф
15.09.13
✎
21:12
|
параметры формы
|
|||
2
KizerSoze
15.09.13
✎
21:17
|
Как прочитать мне эти параметры формы?
В отладке в процедуре ПередОткрытием: ПараметрыФормы - Поле объекта не обнаружено. ЭтаФорма.ПараметрыФормы - то же самое. |
|||
3
hhhh
15.09.13
✎
21:36
|
(2) наверно слово "формы" лишнее. Зчем 2 раза повторять?
|
|||
4
KizerSoze
15.09.13
✎
21:51
|
Пробовал и без "формы".
В отладке после точки появляется контекстное меню. ЭтаФорма. В нем мне не удалось ничего найти. |
|||
5
KizerSoze
15.09.13
✎
21:53
|
Пробовал в поисковике порыться, там тоже не удалось найти решение. Для упр форм мне не подходит.
|
|||
6
mistеr
15.09.13
✎
22:10
|
(0) Как насчет посмотреть в типовых? Формы подбора, например.
|
|||
7
ПТР
15.09.13
✎
22:16
|
УФ."Параметры" в процедуре ОткрытьФорму() используются Событием "При создании на сервере". Там их и лови. Но можно использовать ВременноеХранилище. Перед открытием формы помести данные во ВременноеХранилище, а при открытии Получи данные из ВременногоХранилища.
|
|||
8
KizerSoze
15.09.13
✎
22:32
|
(6) посмотрел подбор в документе НачислениеЗП (ЗУП).
Решил задачу так Пар=Новый Структура; Пар.Вставить("ДокументОбъект",Ссылка); ФормаВыбораПериода=ПолучитьФорму("ОбщаяФорма.ВыборПериода"); ФормаВыбораПериода.ДокументОбъект=Ссылка; ФормаВыбораПериода.Открыть(); Предварительно у общей формы создал реквизит "ДокументОбъект". Результат передаю обратно через оповещение. Спасибо за идею, Мистер. (7) у меня обычное приложение, так что процедуры при создании на сервере там нет. С временным хранилищем уженет смысла связываться тк задача решена. В любом случае спасибо, ПТР. Благодарю всех кто не прошел мимо. |
|||
9
zak555
15.09.13
✎
22:35
|
для обычного приложения используют реквизиты
Форма.МойРеквизит1 = Параметр1; |
|||
10
KizerSoze
15.09.13
✎
22:37
|
(9) Я уже так и сделал (см 6).
|
|||
11
Prilepsky
15.09.13
✎
23:04
|
(10) а что бы не использовать ДиалогРедактированияСтандартногоПериода ?
И не нужно свою форму выдумывать. |
|||
12
KizerSoze
16.09.13
✎
00:17
|
(10) Prilepsky, это самое лучшее решение!!!
Спасибо!!! Переписал код, удалил лишние объекты конфигурации. Диалог = Новый ДиалогРедактированияСтандартногоПериода(); Диалог.Редактировать(); Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ..."; Запрос.УстановитьПараметр("КонецПериода", Диалог.Период.ДатаОкончания); Запрос.УстановитьПараметр("НачалоПериода", Диалог.Период.ДатаНачала); РезультатЗапроса = Запрос.Выполнить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |