|
10.02.2015, 16:57 | #1 |
Участник
|
Вывод модальной формы перед super в кнопке менютембаттона
Здравствуйте!
Есть кнопка разноски заказа - это менюитембаттон который вызывает менюитем который указан у него в свойствах. Я хочу: не давать открывать форму разноски пока не будут добавлены файлы - то есть я хочу показывать форму docuview перед формой разноски, и если пользователь добавил файл то пускать его к форме разноски. Что я сделал: Форму добавления файла (Docuview) сделал popup. В заказе Перед супером менюитембаттона влепил new menuFunction(menuItemDisplayStr(Docuview), MenuItemType:isplay).run(); this.wait(); //???? По поводу this.wait(); : если его оставить то успешно открывается форма файла но за ней не открывается форма разноски (даже после закрытия формы файла) Если же его убрать то открывается форма файла, потом открывается форма разноски и из-за этого слетают переданные параметры для формы файла и она становится пустой (Форму разноски и форму заказа менять сильно не хотелось бы) Подскажите пожалуйста как это можно сделать малой кровью |
|
10.02.2015, 17:18 | #2 |
Участник
|
А почему не добавить нужную логику в какой-нить SalesEditLinesForm?..
|
|
10.02.2015, 19:21 | #3 |
Участник
|
Оставьте форму DocuView "как есть". Если не ошибаюсь, то надо примерно так (вызов из формы заказов на продажу SalesTable)
X++: // Метод Click() на MenuItem void clicked() { Args args = new Args(); FormRun formRun; ; args.record(SalesTable); formRun = new MenuFunction(menuitemdisplaystr(DocuView), MenuItemType::Display).create(args); formRun.run(); formRun.wait(); // Убеждаемся, что запись создана if (DocuRef::exist(SalesTable.DataAreaId, SalesTable.TableId, SalesTable.RecId)) { super(); } }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: at5454 (1). |
10.02.2015, 23:12 | #4 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
Оставьте форму DocuView "как есть". Если не ошибаюсь, то надо примерно так (вызов из формы заказов на продажу SalesTable)
X++: // Метод Click() на MenuItem void clicked() { Args args = new Args(); FormRun formRun; ; args.record(SalesTable); formRun = new MenuFunction(menuitemdisplaystr(DocuView), MenuItemType::Display).create(args); formRun.run(); formRun.wait(); // Убеждаемся, что запись создана if (DocuRef::exist(SalesTable.DataAreaId, SalesTable.TableId, SalesTable.RecId)) { super(); } } |
|
10.02.2015, 21:11 | #5 |
Участник
|
говнодизайн
и говнокод |
|
|
За это сообщение автора поблагодарили: skuull (0). |
11.02.2015, 09:54 | #6 |
Участник
|
ИМХО, достаточно сделать проверку наличия файлов (необходимых данных) при разноске, и пользователи приучатся открывать нужные формы до разноски
Последний раз редактировалось ice; 11.02.2015 в 10:05. |
|
|
За это сообщение автора поблагодарили: dn (1). |
11.02.2015, 23:26 | #7 |
Участник
|
Цитата:
слишком поздно и на формах ничего не надо делать, в классах salesTableType есть уже готовые методы по типу canInvoiceBeUpdated |
|
12.02.2015, 10:06 | #8 |
Участник
|
canInvoiceBeUpdated() управляет доступностью кнопок на форме и не предназначен для вывода сообщения, а в данном случае пользователю желательно сообщить о необходимом действии, тк не очевидно что нужно сделать
|
|