|
УФ взять и открыть произвольную форму, что нельзя? | ☑ | ||
---|---|---|---|---|
0
Web00001
10.05.13
✎
15:35
|
Драсти все. Не могу понять. Есть произвольная форма у документа. Нужна для ввода некоторых значений. Не могу понять как ее открыть из формы этого документа. То есть ПолучитьФорму(), нельзя ОткрытьФормуМодально("Документ.ИмяДокумента.ИмяПроизвольнойФормы") нельзя, а что делать то?
|
|||
1
zavrik
10.05.13
✎
15:40
|
ОткрытьФорму("Обработка.ПодборТоваровВДокументПродажи.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
|
|||
2
Web00001
10.05.13
✎
15:44
|
(1)Не работает это в УФ:
Неизвестное имя формы. Имя: "Документ.ЗдесьИмяДокумента.ЗдесьИмяФормы" |
|||
3
milan
10.05.13
✎
15:51
|
"Документ.ЗдесьИмяДокумента.Форма.ЗдесьИмяФормы"
|
|||
4
Web00001
10.05.13
✎
15:53
|
Действительно. Спасибо.
|
|||
5
kosts
10.05.13
✎
15:55
|
По новым веяниям фирмы 1С не рекомендует использовать модальные формы. Вместо них нужно использовать формы блокирующие владельца...
|
|||
6
Web00001
10.05.13
✎
16:04
|
Фирма 1С тут не причем, не следует использовать модальные формы без явной на то необходимости. Для выбора значения из формы существует ОбработкаВыбора.
|
|||
7
kosts
10.05.13
✎
16:06
|
(6) Я не про модальные-не модальные формы. А просто про то, что теперь модальные формы нужно по другому реализовывать.
|
|||
8
Web00001
10.05.13
✎
17:15
|
(7)Ок. Как?
|
|||
9
Web00001
10.05.13
✎
17:17
|
(7)гхм. Ты просто так тонко и остро пошутил. Ага. Смешно.
|
|||
10
kosts
10.05.13
✎
17:47
|
(9) Вроде не шутил.
http://v8.1c.ru/o7/201301nm/ |
|||
11
Web00001
10.05.13
✎
18:05
|
(10)Тоже интересно. Но не актуально, но интересно :)
|
|||
12
kosts
10.05.13
✎
18:21
|
(11) Пока не актуально...
|
|||
13
Web00001
10.05.13
✎
18:28
|
(12)Ближайшие несколько лет не актуально.
|
|||
14
kosts
10.05.13
✎
18:31
|
(13) Не спорю
|
|||
15
Torquader
10.05.13
✎
19:23
|
А тогда не подскажете как в УФ режиме проделать такой стандартный фокус - создать документ, заполнить его данными и открыть его основную форму - документ создаётся на сервере, а форму открыть можно только на клиенте, куда открытый документ передать нельзя.
|
|||
16
zavrik
10.05.13
✎
19:38
|
(15)
&НаСервере Процедура СоздатьЗаказыНаСервере() ................................. КонецПроцедуры &НаКлиенте Процедура Далее(Команда) СоздатьЗаказыНаСервере(); |
|||
17
NickOmsk
10.05.13
✎
19:40
|
(16) он вроде хочет открыть форму
|
|||
18
NickOmsk
10.05.13
✎
19:47
|
(15) на клиенте ссылку созданного документа в параметры и открываешь форму документа с параметрами
|
|||
19
Torquader
10.05.13
✎
22:36
|
(16,17,18) Я хочу - создать документ (объект), заполнить его через присвоение, потом, не сохраняя, открыть его форму, чтобы пользователь посмотрел и решил, что с ним делать.
В семёрке - штатно так было нельзя; в восьмёрке - прекрасно делалось (с учётом присвоения номера при записи - вообще гладко), а в управляемых формах - на клиенте нельзя создать объект, а на сервере - открыть форму. |
|||
20
NickOmsk
10.05.13
✎
22:51
|
(19) с какой стати нельзя создать на клиенте? Открываешь форму на клиенте для нового элемента, хочешь задействую обработку заполнения
|
|||
21
NickOmsk
10.05.13
✎
22:55
|
ОткрытьФорму("Справочник.Товары.ФормаОбъекта");
|
|||
22
Torquader
11.05.13
✎
00:17
|
(20) Это обходной способ - создаётся новый документ методом открытия его формы - после мы можем задать данные документа или даже реквизиты формы, но нужно отслеживать, что происходит на форме и как она заполняется.
Потом задача стоит - создавать документы, и только для тех, для кого не ясно что делать, открывать форму пользователю - остальные же просто сохраняются. |
|||
23
NickOmsk
11.05.13
✎
01:15
|
(22) это нормальный способ, а "не обходной", если хочешь задать данные реквизитов пользуй обработку начального заполнения, если для пользователя не надо открывать док., то делай условие... Вообщем почитай Проф. разработка.
|
|||
24
Web00001
11.05.13
✎
02:22
|
(22)Тебе таки надо определиться хочешь ли ты создавать документы никому ничего не показывая или хочешь открывать форму не записывая документ.
|
|||
25
Web00001
11.05.13
✎
03:57
|
Потому, что подход будет разный, как создать и записать документ на сервере ты и знаешь. Вот так еще можно открыть форму и заполнить как записанный так и не записанный документ
&НаСервереБезКонтекста Процедура ЗаполнитьОбъект(ЧтоЗаполнить) ЧтоЗаполнить.Сотрудник = Справочники.Сотрудники.НайтиПоКоду("000000077"); КонецПроцедуры &НаКлиенте Процедура Команда1(Команда) Форма = ОткрытьФорму("Документ.АвансовыйОтчет.ФормаОбъекта");//Сюда можно передать ссылку и на существующий документ НовыйОбъект = Форма.Объект; ЗаполнитьОбъект(НовыйОбъект); КопироватьДанныеФормы(НовыйОбъект, Форма.Объект); КонецПроцедуры |
|||
26
Torquader
12.05.13
✎
18:23
|
Это и понятно - то есть сначала мы готовим данные для документов - анализируем, можем ли мы полностью сформировать документ, потом то, что можем, просто записываем, а то, что не можем - показываем.
Но, приходится делать кучу ненужных действий там, где было несколько строчек кода. Да и вообще, вместо того, чтобы сделать два модуля - клиентский и серверный, как в нормальных системах, в 1С решили сделать всё через то, на чём сидят. И в итоге программистам тоже приходится через это работать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |