Имя: Пароль:
1C
1С v8
Создание нового элемента справочника (УФ)
,
0 Gossar1C
 
17.02.13
16:59
Здравствуйте. Помогите пожалуйста решить одну небольшую проблемку.
Есть Поле "Собственник" ссылается на справочник физ лица, так вот если пользователь не находит нужное физ лицо "вводом по строке" тогда нужно создать новое физ лицо. Я сделал кнопочку рядом с этим полем.

Форма=ПолучитьФорму("Справочник.ФизическиеЛица.Форма.ФормаЭлемента");
Форма.Открыть();

Пользователю открывается форма для записи нового элемента, вопрос заключается в том как получить ссылку этого нового элемента... а потом уже присвоить ее полю "Собственник". Заранее спасибо!
1 sanja26
 
17.02.13
17:14
значение = форма.открыть() не пробовал?
2 Gossar1C
 
17.02.13
18:26
(1) Ошибочка. Обращение к процедуре как к функции.
3 MrStomak
 
17.02.13
18:33
смотри в СП методы СправочникМенеджер УстановитьСсылкуНового, ПолучитьСсылкуНового
4 sanja26
 
17.02.13
18:33
открытьмодально тогда
5 sanja26
 
17.02.13
18:34
(3) мудрености))
6 MrStomak
 
17.02.13
18:35
если открывать модально, то ссылка будет возвращаться при вызове метода Форма.ОткрытьМодально(). Но модальные замуты это плохой тон!
Еще есть оповещения, можно через них мутить.
7 MrStomak
 
17.02.13
18:36
(5) При создании элемента справочника модальное открытие это вообще не айс, там очень часто пользователи что-то хотят посмотреть в отчетах/базе некую инфу, которая им опнадобится для заполнения элемента, а возможности такой не будет:)
8 sanja26
 
17.02.13
18:36
(6) что плохого? это как раз и есть оповещение
9 MrStomak
 
17.02.13
18:38
(8) Нет, это не оповещение. Оповещение - это когда ты форму выбора создаёшь, передавая владельцем поле заполняемое, и открываешь в обычном режиме - при закрытии будет автоматом отработано оповещение и поле заоплнится. А модальное открытие - зависание системы на строчке кода, ни отчет посмотреть, ни пользователя не отключить в этот момент, лажа полная, в типовых не используется почти нигде например.
10 sanja26
 
17.02.13
18:40
(9) да с пользоваьелями так и надо, а то понаоткрывают окон, а потом путаются. Тут есть кнопочка создать нового, нажал, создавай или отказывайся от создания.
11 Gossar1C
 
17.02.13
18:44
(9) я в 1С новичек, можно пожалуйста поподробнее как мне реализовать это с помощью оповещения?
12 MrStomak
 
17.02.13
18:55
(11)
Форму вызывать передавая владельца, т.е.
Форма=ПолучитьФорму("Справочник.ФизическиеЛица.Форма.ФормаЭлемента",,ЭтаФорма);

При записи нового элемента вызывать
ОповеститьОЗаписиНового(ЭтаФорма.Владелец);

В форме владельца установить нужную тебе ОбработкуОповещения.
13 sanja26
 
17.02.13
18:57
(12) ага, дописывать форму элемента. изящное решение подсказал)
14 MrStomak
 
17.02.13
19:01
(13) Изящное решение - через установку ссылки заранее, тут автор попросил подсказать через оповещение. Кстати, там возможно если передавать владельцем непосредственно поле ввода, то, возможно, дописывать ничего не нужно будет и платформа сама оповестит.
15 Snovy
 
17.02.13
19:44
(9) Не поленился, проверил утверждение о типовых и использование модального открытия. В УПП 2.0 модальное открытие встречается 641 раз. Около 100 в общих модулях, справочниках и документах (в том числе в торговых), остальное - в регламентированной отчетности. Так что в типовых используется и еще как!!!
16 Gossar1C
 
17.02.13
20:37
Вообщем ребят, проще говоря мне нужно получить ссылку на записываемый объект (физ лицо). ОткрытьМодально() содержит пустую ссылку не записанную, УстановитьСсылкуНового() работает только сервер и толст., открытие формы обязательно так как пользователь заполняет доп информацию (тел, адрес почты и тд) а открытие только через клиент...
17 Gossar1C
 
17.02.13
20:42
хм а может можно как то передать объект на сервер там установить ссылку и получить ссылку вернуть ее функцией?... а может я брежу)
18 sanja26
 
17.02.13
20:44
вообщем нет такого слова. открыть модально надо с владельцем.. и записать новый элемент надо обязательно
19 sanja26
 
17.02.13
20:46
вот ты форму открыл, что-то заполнил, форму закрыл. где ссылка возьмется? запись на сервере происходит
20 Gossar1C
 
17.02.13
20:52
(18) не подскажешь пожалуйста как открыть с владельцем?
21 sanja26
 
17.02.13
20:54
(20) смотри (12) получить форму так же
22 Gossar1C
 
17.02.13
21:09
(21) Значение неопределено

Форма=ПолучитьФорму("Справочник.ФизическиеЛица.Форма.ФормаЭлемента",,ЭтаФорма);
Значение = Форма.ОткрытьМодально();
23 Gossar1C
 
17.02.13
21:32
хм, а как уловить это оповещение?
24 Gossar1C
 
17.02.13
21:36
Люди подскажите пожалуйста... мозг уже не варит...
25 Gossar1C
 
17.02.13
22:32
Решил проблему. Если кому интересно вот хороший способ v8: И снова про передачу данных из формы.
Всем спасибо за помощь.