В данном случае invoiceIssueDate - это переменная класса, которому принадлежит метод invoiceIssueDate(). А _invoiceIssueDate это параметр, который мы передаем в этот метод. Если мы вызовем метод invoiceIssueDate() без передачи параметров, то переменная _invoiceIssueDate будет равна значению по умолчанию - переменной invoiceIssueDate.
Таким образом пишутся практически все setters/getters в аксапте. Про читабельность их по сравнению с двумя отдельными методами setValue, getValue не будем спорить. Просто примите как факт.
Т.е. если мы вызываем invoiceIssueDate() с пустыми параметрами - вернется значение соотв. атрибута класса, если мы вызовем invoiceIssueDate(_date), то этот атрибут класса, будет установлен в значение = _date.
соотвественно, если вернемся к CommerceGateway, то
для подобного типа объектов в файле определений:
PHP код:
<ElementType name="SampleType" content="eltOnly">
<element type="OptionalSample" maxOccurs="1" minOccurs="0" />
</ElementType>
создается соотв. класс.:
PHP код:
public class sampleType extends XMLMap
{
str optionalSample;
}
str optionalSample(str _optionalSample = optionalSample)
{
optionalSample = _optionalSample;
return optionalSample;
}
а для того, чтобы разобраться как CG работает, рекомендую почитать
AX-300-TIP-019-v01.00-ENUS