07.03.2012, 00:37 | #1 |
Участник
|
AX2012: форма выбора RouteId
проблема:
из небольших нововведений в 2012 следует отметить невозможность ручного ввода номера маршрута на форме создания в таблице маршрутов, привязанной к таблице товаров. такая же форма прекрасно работает при ручном вводе номера номенклатуры. и проблема тут не в нумераторе, а в том, что для поиска по таблице номенклатуры написан соответствующий класс BOMCreateDialog где в методе promptCreateBOMDialog мы видим использование нового расширенного типа BOMIdBase, к которому в свою очередь привязана своя форма выбора. X++: if (_manual) { fieldNumber = dialog.addField(extendedtypestr(BOMIdBase),"@SYS22298"); } а вот с таблицей маршрутов решили особо не возиться и оставили всё, как было, то есть прямо на таблице RouteTable в аналогичном методе promptCreateRoute, который использует для создания поискового поля типа RouteId. в новой версии к расширенному типу RouteId жёстко привязана таблица RouteTable, поэтому ввести номер пока ещё несуществующего маршрута невозможно. решение: трогать базовый расширенный тип я не стал, а просто создал дополнительный расширенный тип WmpRouteIdBase и привязал к нему соответствующую lookup форму по аналогии с BOMIdBase. этот тип я и использую в перекрытом методе promptCreateRoute X++: dialog = new Dialog("@SYS25123"); if (manual) // Alex Voytsekhovskiy (WMP) (2012/03/06) (Demande #) // to allow to input the route id manually //--> fieldNumber = dialog.addField(extendedtypestr(WmpRouteIdBase),"@SYS21709"); //<-- если это бага, то, как говорится, просьба подправить там в консерватории. если же фича, то неплохо было бы придерживаться единообразия в подходах.
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: Мартынов Дмитрий (1). |
|
|