Установить данные по умолчанию в поле x ++ PurchaseCreateOrder - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу установить значение по умолчанию на основе curUserid () в PurchaseCreateOrder. Как я могу поместить данные в моем поле в расширение формы? Есть ли лучший вариант сделать это? Поля привязаны к источнику данных, и у меня есть разные поля с разными источниками данных.

Мой код выдаёт мне ненормальную ошибку завершения с нулевыми ссылками. XPPCompiler

[ExtensionOf(tableStr(PurchTable))]

final class PurchCreateOrderGetDefAdress_Extension
{
void initvalue(PurchaseType  _purchaseType)
{
    next initvalue(_purchaseType);

    PurchTable purchtable;
    LogisticsPostalAddress logpostadress;
    UserInfoSz usrsz;
    str user = curUserId(); 


    select firstonly logpostadress where logpostadress.city == 'lub';
   // select firstonly InventSiteId, InventLocationId from purchtable join usrsz where purchtable.InventSiteId == usrsz.InventSiteId && usrsz.IsDefault == true;
    select firstonly InventSiteId from usrsz where usrsz.UserId == user && usrsz.IsDefault == true;

    purchtable.initValue();
    purchtable.deliveryname = 'asasasasas' ;//logpostadress.Address;
    purchtable.inventsiteid = usrsz.InventSiteId;
    purchtable.inventlocationid = usrsz.InventSiteId;


    info(strFmt("%1, %2, %3", logpostadress.Address, usrsz.InventSiteId));

}

}

1 Ответ

1 голос
/ 20 февраля 2020

Ошибка прямолинейна.

Ошибка Расширенный класс «Покупка» предоставляет метод с этим именем, но этот метод нельзя использовать в качестве метода цепочки команд, поскольку параметр профиль не соответствует исходному методу .

Посмотрите на выделенный профиль параметров и сравните с вашим.

enter image description here

Редактировать: Посмотрите эти ссылки для получения дополнительной информации о цепи управления (Co C):

...