Unbeantwortet
Systemaktivitäten Eingabeparameter Gliederung
Hey Jan,
ich bin mir nicht sicher ob dir das hilft aber hier ist, wie wir es in unseren Systemaktivitäten lösen:
Am Beispiel aus unserer SalesForce-Aktivität:
<outputParameters>
<list id='accountOutput' name='CONST_ACCOUNT_FIELD_LIST' desc='CONST_ACCOUNT_FIELD_LIST_DESC' fix_subtable='no' udl='accountFieldList' worktable='no' subtable='yes' fixed='no' datatype='varchar' required='yes' default='1' />
</outputParameters>
Man beachte den Parameter "udl='accountFieldList', dazu brauchen wir dann eine zusätzliche Funktion wie folgt:
public function getUDL($elementId, $udl) {
if ($elementId === 'accountFieldList') {
return [
['name' => CONST_ACCOUNT_LIST_ID, 'value' => 'Id'],
['name' => CONST_ACCOUNT_LIST_NAME, 'value' => 'Name'],
['name' => CONST_ACCOUNT_LIST_IS_DELETED, 'value' => 'isDeleted'],
['name' => CONST_ACCOUNT_LIST_TYPE, 'value' => 'Type'],
['name' => CONST_ACCOUNT_LIST_BILLING_STREET, 'value' => 'BillingStreet'],
['name' => CONST_ACCOUNT_LIST_BILLING_CITY, 'value' => 'BillingCity'],
['name' => CONST_ACCOUNT_LIST_BILLING_STATE, 'value' => 'BillingState'],
['name' => CONST_ACCOUNT_LIST_BILLING_POSTAL_CODE, 'value' => 'BillingPostalCode'],
['name' => CONST_ACCOUNT_LIST_BILLING_COUNTRY, 'value' => 'BillingCountry'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_STREET, 'value' => 'ShippingStreet'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_CITY, 'value' => 'ShippingCity'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_STATE, 'value' => 'ShippingState'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_POSTAL_CODE, 'value' => 'ShippingPostalCode'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_COUNTRY, 'value' => 'ShippingCountry'],
['name' => CONST_ACCOUNT_LIST_PHONE, 'value' => 'Phone'],
['name' => CONST_ACCOUNT_LIST_FAX, 'value' => 'Fax'],
['name' => CONST_ACCOUNT_LIST_ACCOUNT_NUMBER, 'value' => 'AccountNumber'],
['name' => CONST_ACCOUNT_LIST_WEBSITE, 'value' => 'Website'],
['name' => CONST_ACCOUNT_LIST_ACCOUNT_SOURCE, 'value' => 'AccountSource'],
];
}
}
Das führt zu einem Ergebnis, bei dem man diese Felder als Auswahl bekommt in folgender Form:
Näher komme ich an deine Schilderung nicht heran. Hilft dir das?
Edit:
Achso, das ist jetzt ein OutputParameter, aber der InputParameter sieht ähnlich aus
<inputParameters>
<list id='accountInput' name='CONST_ACCOUNT_FIELD_LIST' desc='CONST_ACCOUNT_FIELD_LIST_DESC' fix_subtable='no' udl='accountInputFieldList' worktable='yes' subtable='yes' fixed='yes' datatype='varchar' required='yes' default='1' />
</inputParameters>
mit
public function getUDL($elementId, $udl) {
if ($elementId === 'accountInputFieldList') {
return [
['name' => CONST_ACCOUNT_LIST_NAME, 'value' => 'Name'],
['name' => CONST_ACCOUNT_LIST_TYPE, 'value' => 'Type'],
['name' => CONST_ACCOUNT_LIST_BILLING_STREET, 'value' => 'BillingStreet'],
['name' => CONST_ACCOUNT_LIST_BILLING_CITY, 'value' => 'BillingCity'],
['name' => CONST_ACCOUNT_LIST_BILLING_STATE, 'value' => 'BillingState'],
['name' => CONST_ACCOUNT_LIST_BILLING_POSTAL_CODE, 'value' => 'BillingPostalCode'],
['name' => CONST_ACCOUNT_LIST_BILLING_COUNTRY, 'value' => 'BillingCountry'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_STREET, 'value' => 'ShippingStreet'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_CITY, 'value' => 'ShippingCity'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_STATE, 'value' => 'ShippingState'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_POSTAL_CODE, 'value' => 'ShippingPostalCode'],
['name' => CONST_ACCOUNT_LIST_SHIPPING_COUNTRY, 'value' => 'ShippingCountry'],
['name' => CONST_ACCOUNT_LIST_PHONE, 'value' => 'Phone'],
['name' => CONST_ACCOUNT_LIST_FAX, 'value' => 'Fax'],
['name' => CONST_ACCOUNT_LIST_ACCOUNT_NUMBER, 'value' => 'AccountNumber'],
['name' => CONST_ACCOUNT_LIST_WEBSITE, 'value' => 'Website'],
['name' => CONST_ACCOUNT_LIST_ACCOUNT_SOURCE, 'value' => 'AccountSource'],
];
}
}
Grüße
Stefan
644 Ansichten
0
Antworten
vor 3 Jahren
vor 3 Jahren