Click or drag to resize

clsImportProjectContractPositionCollectionAccountingPos Property

(Optionally) Add a list of clsImportProjectContractPositionAccountingPos accounting positions definine the installmentplan of one position. (Mainly for fixed price positions)

Namespace:  MARIInterface
Assembly:  MARIInterface (in MARIInterface.dll) Version: 8.0.0.100
Syntax
public List<clsImportProjectContractPositionAccountingPos> CollectionAccountingPos { get; set; }

Property Value

Type: ListclsImportProjectContractPositionAccountingPos
Remarks
Stored in a sub table MPVKVertraegePositionenAkd

View: MARIContractPositionPayment: :Table: MPVKVertraegePositionenAkd

Examples
Add Contract Position (fixed price) to existing contract
public clsImportProjectContractPosition CreateContractPositionFixedPrice(int lContractID, string sItemCode) {
    Log($"CreateContractPositionFixedPrice(lContractID={lContractID}, sItemCode=\"{sItemCode}\")");

    // create contract position
    clsImportProjectContractPosition oPos = new clsImportProjectContractPosition();
    oPos.PositionTyp = clsImportProjectContractPosition.eContractPositionType.FixedPrice;
    oPos.ContractID = lContractID;
    oPos.Matchcode = "Fix Price Position";
    oPos.Description1 = "FP: Created from the interface";
    oPos.ContractQuantity = 1;
    oPos.ContractPrice = 10000;
    oPos.ItemCode = sItemCode;
    oPos.SalesPriceType = clsImportProjectContractPosition.eSalesPriceType.SalesPriceByContract; //IN20220719
    oPos.SalesPositionRebatePercentage = 0;//IN20220719

    //two accounting details 30%, 70%
    oPos.CollectionAccountingPos = new List<clsImportProjectContractPositionAccountingPos>();
    clsImportProjectContractPositionAccountingPos oAcc1 = new clsImportProjectContractPositionAccountingPos();
    oAcc1.AccountingType = clsImportProjectContractPositionAccountingPos.ePosAccountingType.DueDate;
    oAcc1.DueDate = new DateTime(2015, 1, 15);
    oAcc1.AccountingValue = 3000;
    oAcc1.Percentage = 30;
    oAcc1.Description = "First 30%";
    oPos.CollectionAccountingPos.Add(oAcc1);
    clsImportProjectContractPositionAccountingPos oAcc2 = new clsImportProjectContractPositionAccountingPos();
    oAcc2.AccountingType = clsImportProjectContractPositionAccountingPos.ePosAccountingType.DueDate;
    oAcc2.DueDate = new DateTime(2015, 5, 15);
    oAcc2.AccountingValue = 7000;
    oAcc2.Percentage = 70;
    oAcc2.Description = "Last 70%";
    oPos.CollectionAccountingPos.Add(oAcc2);
    return oPos;
}
public int ImportContractPositionFixedPrice(clsImportProjectContractPosition oPos) {
    Log($"ImportContractPositionFixedPrice(lContractID={oPos.ContractID}, sItemCode=\"{oPos.ItemCode}\")");

    // import contract position
    if (oMPInterface.bImportContractPosition(oPos, clsImportBase.eImportMode.ValidateAndImport)) {
        Log($"ImportContractPositionFixedPrice ContractPositionID={oPos.ContractPositionID}");
        return oPos.ContractPositionID;
    } else {
        // read import error
        LogFail(oMPInterface.oErrors.PrintErrors(true));
        return 0;
    }
}
See Also