![]() |
![]() |
![]() |
|
Вопрос про форму записи регистра сведений | ☑ | ||
---|---|---|---|---|
0
SHAS
10.03.19
✎
11:51
|
Добрый день! В определённом месте мне надо из формы обработки открыть форму новой записи регистра сведений и после её закрытия, в форме обработки, определить, нажали ли в форме записи регистра сведений кнопку "Записать и закрыть" (т.е. записали запись в регистр) или просто отказались (закрыли крестиком или Esc). Не могу понять, как это определить.
Открываю форму вот так: ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("ЗначенияЗаполнения", ПередаваемыеПараметры); Форма = ПолучитьФорму("РегистрСведений.Штрихкоды.ФормаЗаписи", ПараметрыФормы,этаФорма); й = Форма.ОткрытьМодально(); После закрытия "Формы" й всегда принимает значение "Неопределено". |
|||
1
SHAS
10.03.19
✎
11:56
|
После закрытия формы записи регистра обращаться к регистру, чтобы проверить, есть ли запись в базе не хочется - лишнее обращение к базе, может можно как-то по-другому?
|
|||
2
palsergeich
10.03.19
✎
11:57
|
Пилить свою кнопку записать и закрыть и в ней оповещать форму родителя
|
|||
3
palsergeich
10.03.19
✎
12:00
|
А в ней код простой
Процедура КнопкаЗаписатьИзакрыть() Записать() ОповеститьОВыборе(Истина)// ну или что надо передать в родителя КонецПроцедуры |
|||
4
SHAS
10.03.19
✎
12:01
|
Про свою кнопку мысль была, но очень похоже на костыли. Была надежда, что есть более технологичное решение, о котором я не знаю, в силу пробелов в знаниях про УФ.
|
|||
5
SHAS
10.03.19
✎
12:01
|
(3) в любом случае лучше. чем к базе обращаться, спасибо
|
|||
6
palsergeich
10.03.19
✎
12:02
|
Стандартно форма именно записи, а не выбора ничего не возвращает во владельца.
При записи кидается оповещение ОповеститьОбИзменении, но оно не перехватывается во встроенных процедурах |
|||
7
palsergeich
10.03.19
✎
12:04
|
Я бы не назвал это костылями, глянь любую конфу современную на УФ. Очень много стандартных кнопок заменены своими
|
|||
8
SHAS
10.03.19
✎
12:06
|
(7) Если костылями пользуются в типовых, то они ж не перестают быть костылями :)
|
|||
9
palsergeich
10.03.19
✎
12:08
|
(8) Это не костыль, а подмена стандартного поведения.
Ну вот зачем оповещать о записи владельца в общем случае? |
|||
10
SHAS
10.03.19
✎
12:10
|
Ну, это уже философский вопрос, как можно было бы реализовать знание о том, что запись была произведена. Будем подменять...
|
|||
11
SHAS
10.03.19
✎
12:47
|
А вот не срабатывает обработкаОповещения. В момент "Оповестить о выборе" в "ВладелецФормы" стоит моя форма обработки. Но в форме обработки в "ОбработкуОповещения" не заходит. В СП:
Может применяться в случае, когда открытие формы выбора или подбора выполнено средствами языка. Может потому что у меня не форма выбора или подбора? В общем, пришлось добавить реквизит ("ЗаписалиШК") в обработку и из процедуры "ЗаписатьИЗакрыть" его присваивать. Но это костылищи! Может я что-то делаю не так? |
|||
12
hhhh
10.03.19
✎
13:42
|
(11) Оповестить о выборе и просто Оповестить - это две совершенно разные вещи. Вы всё свалили в одну кучу.
Так должно быть ОповеститьОВыборе() -> ОбработкаВыбора Оповестить() -> ОбработкаОповещения |
|||
13
palsergeich
10.03.19
✎
13:42
|
Ну я думал что справку по этому методу то он прочитает)
|
|||
14
palsergeich
10.03.19
✎
13:43
|
А широковещательные оповещения - зло
|
|||
15
SHAS
10.03.19
✎
15:29
|
Спасибо, тормоз, бывает, внимание никогда не было моей сильной стороной, а оповещения мне встречаются очень редко.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |