|
v8: Как получить ссылку на программно созданный и незаписанный элемент справочника | ☑ | ||
---|---|---|---|---|
0
qwe123
24.11.13
✎
11:00
|
1С 8.2, УФ, тонкий клиент. Из общего клиентского модуля создаю элемент справочника и открываю форму
ЗначенияЗаполнения = Новый Структура("Владелец", Параметры.Контрагент); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения); ОткрытьФормуМодально("Справочник.ДоговорыКонтрагентов.ФормаОбъекта", ПараметрыФормы); Не могу сообразить, как в случае записи этого элемента вернуть на него ссылку? |
|||
1
SerMaxim
24.11.13
✎
11:10
|
ОткрытьФормуМодально по умолчанию вернет ссылку на созданный объект если иное не переопределено в модуле формы
|
|||
2
Лаврентий Берия
24.11.13
✎
11:13
|
УстановитьСсылкуНового(), ПолучитьСсылкуНового(). Не?
|
|||
3
qwe123
24.11.13
✎
11:40
|
(1) не возвращает
|
|||
4
qwe123
24.11.13
✎
11:42
|
(2) как мне из применить? у меня объекта ж нет
|
|||
5
Ork
24.11.13
✎
11:48
|
(0) " как в случае записи этого элемента вернуть на него ссылку?"
Классика жанра - Оповестить. |
|||
6
Ork
24.11.13
✎
11:49
|
+(5) И в оповещении передать сформированную при записи ссылку.
|
|||
7
qwe123
24.11.13
✎
11:50
|
(5)я ж не из формы вызываю, а из общего модуля. мне в модуле надо получить ссылку, если этот элемент записали
|
|||
8
Ork
24.11.13
✎
11:53
|
(7) Для меня загадка - как в модуле можно организовать ожидание выбора пользователя. Как модуль ждет запишется/не запишется элемент?
|
|||
9
Ork
24.11.13
✎
11:57
|
(8) Сорри. Заметил - ОткрытьМодально...
Тогда все проще. Передать параметром метода Закрыть() вызываемой формы. Примерно так : ЗначенияЗаполнения = Новый Структура("Владелец", Параметры.Контрагент); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения); Форма = ПолучитьФорму("Справочник.ДоговорыКонтрагентов.ФормаОбъекта", ПараметрыФормы); Результат = Форма.ОткрытьМодально(); |
|||
10
qwe123
24.11.13
✎
11:59
|
(9)пыталась так. но не нашла куда засунуть "Закрыть()" в модуле формы объекта. заменять стандартную командную панель на свою?
|
|||
11
Ork
24.11.13
✎
12:02
|
(10) йес. И можно у панели убрать галку автозаполнение, накидать туда нужных стандартных команд и на закрытие положить свою.
|
|||
12
qwe123
24.11.13
✎
12:05
|
(11) мерси. ушла пробовать
|
|||
13
qwe123
24.11.13
✎
12:28
|
сделала через Закрыть(Объект.Ссылка). Если перед этим принудительно записали, то возвращает ссылку, если нет - пустую ссылку. Могу, конечно, перед Закрыть() анализировать Модифицированность, но, может, как-то поизящней сделать?
|
|||
14
Ork
24.11.13
✎
14:04
|
(13) Зачем?
Можно, конечно типа такого : Результат = ?(ЗначениеЗаполнено(Ссылка), Ссылка, Неопределено); //вместо Неопределено можно любое другое значение Закрыть(Результат); И все равно продолжает мучить ТКВ. |
|||
15
qwe123
24.11.13
✎
17:20
|
(14) Я в форме объекта убрала автозаполнение командной панель. Добавила стандартную Записать и свою ЗакрытьФорму.
В обработчике ЗакрытьФорму() пишу Закрыть(Объект.Ссылка). Если перед этим записали, то ссылка нормально возвращается. Если, например, ввести наименование и сразу нажать закрыть, то Модифицированность=Истина, Ссылка пустая и срабатывает стандартный вопрос - сохранить или нет. Вот в нем можно нажать Да, тогда ссылку тоже надо возвращать. Получается, всё-таки, перед Закрыть() надо самостоятельно обрабатывать модифицированность и записывать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |