проблема:
из небольших нововведений в 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");
//<--
проект приаттачен.
если это бага, то, как говорится, просьба подправить там в консерватории. если же фича, то неплохо было бы придерживаться единообразия в подходах.