Codeunit "Job Calculate WIP"

ID 1000
Namespace: Microsoft.Projects.Project.WIP

Properties

Name Value
Permissions TableData "Job Ledger Entry" = rm, TableData "Job Task" = rimd, TableData "Job Planning Line" = r, TableData "Job WIP Entry" = rimd, TableData "Job WIP G/L Entry" = rimd

Methods

JobCalcWIP

procedure JobCalcWIP(var Job: Record Job, WIPPostingDate2: Date, DocNo2: Code[20])

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
WIPPostingDate2 Date
DocNo2 Code[20]

DeleteWIP

procedure DeleteWIP(Job: Record Job)

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job

CreateWIPBufferEntryFromTask

procedure CreateWIPBufferEntryFromTask(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", JobWIPBufferType: Enum "Job WIP Buffer Type", AppliedAccrued: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPBufferType Enum Microsoft.Projects.Project.WIP."Job WIP Buffer Type"
AppliedAccrued Boolean

FindJobLedgerEntriesByJobTask

procedure FindJobLedgerEntriesByJobTask(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", JobWIPBufferType: Enum "Job WIP Buffer Type")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPBufferType Enum Microsoft.Projects.Project.WIP."Job WIP Buffer Type"

CreateWIPBufferEntryFromLedger

procedure CreateWIPBufferEntryFromLedger(var JobLedgerEntry: Record "Job Ledger Entry", var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", JobWIPBufferType: Enum "Job WIP Buffer Type")

Parameters

Name Type Description
JobLedgerEntry Table Microsoft.Projects.Project.Ledger."Job Ledger Entry"
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPBufferType Enum Microsoft.Projects.Project.WIP."Job WIP Buffer Type"

CalcGLWIP

procedure CalcGLWIP(JobNo: Code[20], JustReverse: Boolean, DocNo: Code[20], PostingDate: Date, NewPostDate: Boolean)

Parameters

Name Type Description
JobNo Code[20]
JustReverse Boolean
DocNo Code[20]
PostingDate Date
NewPostDate Boolean

ReOpenJob

procedure ReOpenJob(JobNo: Code[20])

Parameters

Name Type Description
JobNo Code[20]

VerifyJobWIPEntryOnBeforeModify

[EventSubscriber(Table,1001,OnBeforeModifyEvent,,False,False)]
procedure VerifyJobWIPEntryOnBeforeModify(var Rec: Record "Job Task", var xRec: Record "Job Task", RunTrigger: Boolean)

Parameters

Name Type Description
Rec Table Microsoft.Projects.Project.Job."Job Task"
xRec Table Microsoft.Projects.Project.Job."Job Task"
RunTrigger Boolean

VerifyJobWIPEntryOnBeforeRename

[EventSubscriber(Table,1001,OnBeforeRenameEvent,,False,False)]
procedure VerifyJobWIPEntryOnBeforeRename(var Rec: Record "Job Task", var xRec: Record "Job Task", RunTrigger: Boolean)

Parameters

Name Type Description
Rec Table Microsoft.Projects.Project.Job."Job Task"
xRec Table Microsoft.Projects.Project.Job."Job Task"
RunTrigger Boolean

SetGenJnlBatch

procedure SetGenJnlBatch(NewGenJnlBatch: Record "Gen. Journal Batch")

Parameters

Name Type Description
NewGenJnlBatch Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Batch"

Events

OnAfterCalcUsageTotalCostCosts

[IntegrationEvent(False,False)]
local procedure OnAfterCalcUsageTotalCostCosts(var JobTask: Record "Job Task")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"

OnAfterCalcWIP

[IntegrationEvent(False,False)]
local procedure OnAfterCalcWIP(var JobTask: Record "Job Task", JobWIPTotal: Record "Job WIP Total", JobComplete: Boolean, var RecognizedAllocationPercentage: Decimal, var JobWIPTotalChanged: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobComplete Boolean
RecognizedAllocationPercentage Decimal
JobWIPTotalChanged Boolean

OnBeforeActivateErrorMessageHandling

[IntegrationEvent(False,False)]
local procedure OnBeforeActivateErrorMessageHandling(var Job: Record Job, var ErrorMessageMgt: Codeunit "Error Message Management", var ErrorMessageHandler: Codeunit "Error Message Handler", var ErrorContextElement: Codeunit "Error Context Element", var IsHandled: Boolean)

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
ErrorMessageMgt Codeunit System.Utilities."Error Message Management"
ErrorMessageHandler Codeunit System.Utilities."Error Message Handler"
ErrorContextElement Codeunit System.Utilities."Error Context Element"
IsHandled Boolean

OnBeforeCalcPercentageOfCompletion

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcPercentageOfCompletion(var JobTask: Record "Job Task", JobWIPTotal: Record "Job WIP Total", var JobWIPTotalChanged: Boolean, var WIPAmount: Decimal, var RecognizedAllocationPercentage: Decimal, var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPTotalChanged Boolean
WIPAmount Decimal
RecognizedAllocationPercentage Decimal
IsHandled Boolean

OnBeforeCalcRecognizedCosts

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcRecognizedCosts(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", var JobWIPMethod: Record "Job WIP Method", var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPMethod Table Microsoft.Projects.Project.WIP."Job WIP Method"
IsHandled Boolean

OnBeforeCalcRecognizedSales

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcRecognizedSales(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", var JobWIPMethod: Record "Job WIP Method", var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobWIPMethod Table Microsoft.Projects.Project.WIP."Job WIP Method"
IsHandled Boolean

OnBeforeCalcCostValue

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcCostValue(var JobTask: Record "Job Task", JobWIPTotal: Record "Job WIP Total", var WIPAmount: Decimal, var RecognizedAllocationPercentage: Decimal, var JobWIPTotalChanged: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
WIPAmount Decimal
RecognizedAllocationPercentage Decimal
JobWIPTotalChanged Boolean
IsHandled Boolean

OnBeforeJobTaskWIPRelatedFieldsAreModified

[IntegrationEvent(False,False)]
local procedure OnBeforeJobTaskWIPRelatedFieldsAreModified(JobTask: Record "Job Task", var Result: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
Result Boolean
IsHandled Boolean

OnBeforeVerifyJobWIPEntryIsEmpty

[IntegrationEvent(False,False)]
local procedure OnBeforeVerifyJobWIPEntryIsEmpty(var JobWIPEntry: Record "Job WIP Entry")

Parameters

Name Type Description
JobWIPEntry Table Microsoft.Projects.Project.WIP."Job WIP Entry"

OnCreateWIPEntriesOnBeforeJobWIPEntryInsert

[IntegrationEvent(False,False)]
local procedure OnCreateWIPEntriesOnBeforeJobWIPEntryInsert(var JobWIPEntry: Record "Job WIP Entry")

Parameters

Name Type Description
JobWIPEntry Table Microsoft.Projects.Project.WIP."Job WIP Entry"

OnCreateJobWIPTotalOnAfterUpdateJobWIPTotal

[IntegrationEvent(False,False)]
local procedure OnCreateJobWIPTotalOnAfterUpdateJobWIPTotal(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"

OnBeforeCreateJobWIPTotal

[IntegrationEvent(False,False)]
local procedure OnBeforeCreateJobWIPTotal(var JobTask: Record "Job Task")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"

OnInitWIPBufferEntryFromTaskOnBeforeSetDimCombinationID

[IntegrationEvent(False,False)]
local procedure OnInitWIPBufferEntryFromTaskOnBeforeSetDimCombinationID(var TempDimensionBuffer: Record "Dimension Buffer" temporary, JobTask: Record "Job Task")

Parameters

Name Type Description
TempDimensionBuffer Table Microsoft.Finance.Dimension."Dimension Buffer"
JobTask Table Microsoft.Projects.Project.Job."Job Task"

OnInsertWIPGLOnBeforeGenJnPostLine

[IntegrationEvent(False,False)]
local procedure OnInsertWIPGLOnBeforeGenJnPostLine(var GenJournalLine: Record "Gen. Journal Line", Reversed: Boolean)

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"
Reversed Boolean

OnJobTaskCalcWIPOnAfterJobWIPTotalModify

[IntegrationEvent(False,False)]
local procedure OnJobTaskCalcWIPOnAfterJobWIPTotalModify(var Job: Record Job, var JobWIPTotal: Record "Job WIP Total")

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"

OnJobCalcWIPOnBeforeJobModify

[IntegrationEvent(False,False)]
local procedure OnJobCalcWIPOnBeforeJobModify(var Job: Record Job, var JobComplete: Boolean)

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
JobComplete Boolean

OnJobTaskCalcWIPOnBeforeJobWIPTotalModify

[IntegrationEvent(False,False)]
local procedure OnJobTaskCalcWIPOnBeforeJobWIPTotalModify(var Job: Record Job, var JobWIPTotal: Record "Job WIP Total")

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"

OnAfterJobTaskCalcWIP

[IntegrationEvent(False,False)]
local procedure OnAfterJobTaskCalcWIP(var Job: Record Job, FromJobTask: Code[20], ToJobTask: Code[20], var JobWIPTotal: Record "Job WIP Total")

Parameters

Name Type Description
Job Table Microsoft.Projects.Project.Job.Job
FromJobTask Code[20]
ToJobTask Code[20]
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"

OnBeforeCalcWIP

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcWIP(var JobTask: Record "Job Task", JobWIPTotal: Record "Job WIP Total", JobComplete: Boolean, var RecognizedAllocationPercentage: Decimal, var JobWIPTotalChanged: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
JobComplete Boolean
RecognizedAllocationPercentage Decimal
JobWIPTotalChanged Boolean

OnJobTaskCalcWIPOnBeforeCreateTempJobWIPBuffer

[IntegrationEvent(False,False)]
local procedure OnJobTaskCalcWIPOnBeforeCreateTempJobWIPBuffer(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
IsHandled Boolean

OnJobTaskCalcWIPOnBeforeCalcWIP

[IntegrationEvent(False,False)]
local procedure OnJobTaskCalcWIPOnBeforeCalcWIP(var JobTask: Record "Job Task")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"

OnCaclWIPOnAfterRecognizedAmounts

[IntegrationEvent(False,False)]
local procedure OnCaclWIPOnAfterRecognizedAmounts(var JobTask: Record "Job Task")

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"

OnCreateWIPBufferEntryFromLedgerOnBeforeModifyJobLedgerEntry

[IntegrationEvent(False,False)]
local procedure OnCreateWIPBufferEntryFromLedgerOnBeforeModifyJobLedgerEntry(var JobLedgerEntry: Record "Job Ledger Entry", var TempJobWIPBuffer: array[2] of Record "Job WIP Buffer", JobWIPBufferType: Enum "Job WIP Buffer Type")

Parameters

Name Type Description
JobLedgerEntry Table Microsoft.Projects.Project.Ledger."Job Ledger Entry"
TempJobWIPBuffer array[2] of Record "Job WIP Buffer"
JobWIPBufferType Enum Microsoft.Projects.Project.WIP."Job WIP Buffer Type"

OnBeforeGetAppliedCostsWIPEntryAmount

[IntegrationEvent(False,False)]
local procedure OnBeforeGetAppliedCostsWIPEntryAmount(JobTask: Record "Job Task", JobWIPMethod: Record "Job WIP Method", AppliedAccrued: Boolean, var Result: Decimal, var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPMethod Table Microsoft.Projects.Project.WIP."Job WIP Method"
AppliedAccrued Boolean
Result Decimal
IsHandled Boolean

OnBeforeCreateWIPBufferEntryFromLedgerOnBeforeAssignPostingGroup

[IntegrationEvent(False,False)]
local procedure OnBeforeCreateWIPBufferEntryFromLedgerOnBeforeAssignPostingGroup(var TempJobWIPBuffer: Record "Job WIP Buffer", var JobLedgerEntry: Record "Job Ledger Entry", JobComplete: Boolean)

Parameters

Name Type Description
TempJobWIPBuffer Table Microsoft.Projects.Project.WIP."Job WIP Buffer"
JobLedgerEntry Table Microsoft.Projects.Project.Ledger."Job Ledger Entry"
JobComplete Boolean

OnBeforeInsertWIPGL

[IntegrationEvent(False,False)]
local procedure OnBeforeInsertWIPGL(JnlPostingDate: Date, JnlDocNo: Code[20], SourceCode: Code[10], GLAmount: Decimal, JobWIPGLEntry: Record "Job WIP G/L Entry", Reversed: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
JnlPostingDate Date
JnlDocNo Code[20]
SourceCode Code[10]
GLAmount Decimal
JobWIPGLEntry Table Microsoft.Projects.Project.WIP."Job WIP G/L Entry"
Reversed Boolean
IsHandled Boolean

OnJobTaskCalcWIPOnBeforeSumJobTaskCosts

[IntegrationEvent(False,False)]
local procedure OnJobTaskCalcWIPOnBeforeSumJobTaskCosts(var JobTask: Record "Job Task", var RecognizedCostAmount: Decimal, var UsageTotalCost: Decimal, var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
RecognizedCostAmount Decimal
UsageTotalCost Decimal
IsHandled Boolean

OnCreateJobWIPTotalOnBeforeLoopJobTask

[IntegrationEvent(False,False)]
local procedure OnCreateJobWIPTotalOnBeforeLoopJobTask(var JobTask: Record "Job Task", var JobWIPTotal: Record "Job WIP Total", var IsHandled: Boolean)

Parameters

Name Type Description
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPTotal Table Microsoft.Projects.Project.WIP."Job WIP Total"
IsHandled Boolean

OnBeforeGetWIPEntryAmount

[IntegrationEvent(False,False)]
local procedure OnBeforeGetWIPEntryAmount(JobWIPBufferType: Enum "Job WIP Buffer Type", JobTask: Record "Job Task", JobWIPMethod: Record "Job WIP Method", AppliedAccrued: Boolean, var Result: Decimal, var IsHandled: Boolean)

Parameters

Name Type Description
JobWIPBufferType Enum Microsoft.Projects.Project.WIP."Job WIP Buffer Type"
JobTask Table Microsoft.Projects.Project.Job."Job Task"
JobWIPMethod Table Microsoft.Projects.Project.WIP."Job WIP Method"
AppliedAccrued Boolean
Result Decimal
IsHandled Boolean

OnBeforeCheckJobGLAcc

[IntegrationEvent(False,False)]
local procedure OnBeforeCheckJobGLAcc(AccNo: Code[20], var IsHandled: Boolean)

Parameters

Name Type Description
AccNo Code[20]
IsHandled Boolean

See also