0

購買要求に新しい製品を挿入し、購買価格を編集したいのですが、フィールドが読み取り専用です。

PurchReqTable フォームのフィールドのロックを解除しようとしましたが、既にロックされています。

フィールドをロックする実行時メソッドを見つけようとしましたが、うまくいきませんでした。

何か案が?

4

1 に答える 1

1

PurchReqTable フォームの次のメソッドを見てください。

void setFieldAccess()
{
    boolean allowEdit = purchReqFormMode == PurchReqFormMode::ShowAll ||
                        purchReqLine.LineType == PurchReqLineType::Category ||
                        isUserTaskOwner ||
                        isUserApprovalOwner;
    ;

    purchReqLine_ds.object(fieldnum(PurchReqLine,PriceUnit)).allowEdit(allowEdit);
    purchReqLine_ds.object(fieldnum(PurchReqLine,PurchUnit)).allowEdit(allowEdit);
    purchReqLine_ds.object(fieldnum(PurchReqLine,PurchPrice)).allowEdit(allowEdit);
    purchReqLine_ds.object(fieldnum(PurchReqLine,LineDisc)).allowEdit(allowEdit);
    purchReqLine_ds.object(fieldnum(PurchReqLine,LinePercent)).allowEdit(allowEdit);
    purchReqLine_ds.object(fieldnum(PurchReqLine,PurchMarkup)).allowEdit(allowEdit);

    purchReqLine_ds.object(fieldnum(PurchReqLine,CurrencyCode)).allowEdit(purchReqLine.RecId != 0);
    purchReqLine_ds.object(fieldnum(PurchReqLine,LineAmount)).allowEdit(!purchReqLine.isCatalogItem());
}

現在の行にカタログ以外のアイテムが含まれている場合、LineAmount が無効になっていることに注意してください。データソースまたはテーブルの設定を変更すると、実行時にこのコードによってオーバーライドされます。これが役立つことを願っています。

于 2012-08-07T23:18:46.163 に答える