Как получить результат выбора записей в окне без использования события OnNotify
Как получить результат выбора записей в окне без использования события OnNotify?
Что-то похожее на это:
Я хочу с помощью окна выбирать партии, которые находятся на складе. На выходе должно быть 3 массива:
- массив ID выбранных партий
- массив количества списываемого товара с каждой партии
- массив стоимости товара в каждой партии
Дело в том, что я вызываю окно из скрипта и в этом же скрипте хочу получить список выбранных записей.
Нравится
"Underscore a.k.a. _" написал:Окно выбора можно модально показвать.
А что это даст? Я не совсем понимаю как это свойство использовать.
Еще я подумал, что возможно таймер поможет.
После вызова модального окна в скрипте выполнение функции дальше не пойдет, пока окно не будет закрыто, оно будет поверх всех других окон и, пока Вы его не закроете, не сможете ничего делать, таким образом сразу после строчки ModalWindow.Show(); Вы можете обрабатывать возвращаемый ModalResult и какие-нибудь атрибуты окна.
"Глова Сергей" написал:Чем нотифай не подходит ?
потому что я все хочу в библиотеке scr_WarehouseUtils обрабатывать, а здесь нету такой возможности как обработать событие OnNotify. Притом, что мне нужно дальше работать с полученными данными в самой библиотеке и выводить другие окна.
"Раловец Ольга" написал:После вызова модального окна в скрипте выполнение функции дальше не пойдет, пока окно не будет закрыто, оно будет поверх всех других окон и, пока Вы его не закроете, не сможете ничего делать, таким образом сразу после строчки ModalWindow.Show(); Вы можете обрабатывать возвращаемый ModalResult и какие-нибудь атрибуты окна.
Спасибо, то, что нужно.
То есть я буду писать что-то типа:
var MyWindow = Services.GetSingleItemByUSI('wnd_ConignmentSelectGridArea'); MyWindow.Prepare(); var ModalResult = MyWindow.ShowModal(); if (ModalResult == wmrOK) { var Result = GetAttribute(MyWindow, 'Result'); } else { var Result = false; }
в таком случае нужно использовать только модальное окно
"Кошкаров Андрей" написал:То есть я буду писать что-то типа:
Именно это я и имела ввиду :)
Я так и подумала, что Вы хотите избегнуть использование OnNotify потому, что хотите описать функцию в общеиспользуемом скрипте. Но в таком случае еще возможен вариант разбить логику на 2 части, то есть 2 функции. Первую вызывать откуда-то из скрипта окна и заканчиваться она будет показом окна выбора, а на OnNotify сразу вызывать вторую функцию, которая будет обрабатывать результат. Таким образом эти 2 функции все равно будут в одном скрипте и везде вызываться. Но это я так себе представляю, возможно, не подойдет. Просто модальное окно все-таки накладывает ограничения и как следствие менее удобно.
"Раловец Ольга" написал:Я так и подумала, что Вы хотите избегнуть использование OnNotify потому, что хотите описать функцию в общеиспользуемом скрипте. Но в таком случае еще возможен вариант разбить логику на 2 части, то есть 2 функции.
Дело в том, что я использую результаты выбора значений в окне в этом же скрипте для дальнейшей обработки данных в нем. То есть, все крутится внутри скрипта не выходя за его рамки.
Спасибо всем за помощь. Вопрос решен :lol::twisted:
"Раловец Ольга" написал:ModalWindow.Show()
ModalWindow.ShowModal()
"Underscore a.k.a. _" написал:ModalWindow.ShowModal()
:redface: Спасибо.