Я создал диалог в классе, метод диалога приведен ниже.
static void dialog(Args _args)
{
Dialog dialog;
DialogField dialogFieldCurrentState;
DialogField dialogFieldNewState;
CustInvoiceTable custInvoiceTable;
;
custInvoiceTable = _args.record();
dialog = new Dialog("Change State");
dialogFieldCurrentState = dialog.addField(TypeID(State_LT),"Current State: ");
dialogFieldCurrentState.value(custInvoiceTable.State);
dialogFieldCurrentState.enabled(false);
dialogFieldNewState = dialog.addField(TypeID(State_LT),"New State: ");
if (dialog.run())
{
custInvoiceTable.State = dialogFieldNewState.value();
}
}
в моем диалоговом окне есть два поля Current State
и New State
. Теперь, когда я выбираю New State
, отображается список всех состояний (независимо от страны), которые мне не нужны. В поиске должны отображаться только штаты, соответствующие стране. Мне нужно использовать фильтр, например, например. while select while select AddressState
where addressState.CountryRegionId == custInvoiceTable.CountryRegionId;
, чтобы отображались только состояния, связанные со страной.
State_LT здесь представляет собой строку EDT (где я поставил отношение State_LT) State_LT == AddressState.StateId
В AdressState есть метод lookupStateId(), как его вызвать из диалога (код выше)?