У класса DictType есть метод extend() - он возвращает предка для выбранного EDT. Т.е.
X++:
DictField df = new DictField(tableNum(Address), fieldnum(Address, RefZipCode));
DictType dt;
;
if (df.typeId())
{
dt = new DictType(df.typeId());
while (dt && dt.extend())
dt = new DictType(dt.extend());
if (dt)
info(dt.Name());
}