Relevant from version 3.12 on wards.


In order to improve the flexibility of  the tenders workflow we've now created a concept called Tenders Phases and phase sets.

These can be used to configure a customised workflow for the various types of stages (phases) in your workflow.

e.g. 

Sales Quote

Variations

Contract

Selections

Post Contract Variations

Building Variations

etc.


At this point there is no front end to manage tender phases and phase sets. It is configurable using the below database scripts.


Database Insert Scripts:

First setup a phase set for example Sales Quote.

Then setup the phases of that set for example, Draft,, Client Review, Contract.

Then setup which business unit each phase set will apply to.


Phase Set:

insert into tbltenderphasesets

(fkidbusinessunit,sgphasesetname)

VALUES

(0, 'SALES QUOTE')


Phase 1:

insert into tbltenderphases

(fkidPhaseSet, fkidTenderPhase, sgPhaseName, inMoveNextOnStatus, inDefaultStatus, bAllowMoveNextPhaseWithOpenVariations, fkidOptionVariationFee, bLockPreviousPhases, inMaxTenders, inSetExpiryRule, inExpiryDays, bCanEditExpiryDate, bCanRepriceTender, bCanRepriceVariation, sgTenderNamingRule, sgVariationNamingRule, inStatusAllowed, inStatusVariationsAllowed, inStatusOpenSubstitutionsAllowed, inMaxVariationsPerTender, bAutomaticVariationSelections, bConsolidatePreviousVariations, bVisibleOnMyHome, bCanAddCustomOptions, bCanConvertBuildUp, bAllowedNewTender, inApprovalRule, inTriggerLevel)

VALUES

(1, NULL, 'Draft Quote', 1, 0, 0, 0, 0, 1000, 0, 30, 1, 1, 0, 'JOBNO|HOUSENAME|CLIENTNAME|SAM', 'X', 3, 0, 1, -1, 0, 0, 0, 1, 0, 1, 0, 0 )


Setting Business Unit of phase set:

insert into tblvalidationentries

(fkidBusinessUnit, cdvalidcode, sgdisplay, fkidOther)

VALUES

(15, 'SETTINGS', 'ClickHome.Tenders.DefaultPhaseSet', 2)



Field Values and their meanings:

fkidPhaseSet:

The phase set ID that these phases are in

See tblTenderPhaseSets


fkidTenderPhase:

The tender phase that comes after this phase unless this phase is the last phase and thus it will be NULL

See tblTenderPhases


sgPhaseName:

The name of this phase

Text

 

inMoveNextOnStatus:

The status that when set, will change this phase to the next phase

See statuses legend


inDefaultStatus: 

The status that this phase starts in

See https://support.clickhome.com.au/a/solutions/articles/3000075649 


bAllowMoveNextPhaseWithOpenVariations:

Setting that determines if the user can move to the next phase with variations open in this phase or not

0 = no

1 = yes


fkidOptionVariationFee:

The reference to the Option which states what the variation fee will be for this phase


bLockPreviousPhases

Setting that determines if the user can go backwards to a previous phase or not once they get to this phase

0 = no

1 = yes


inMaxTenders

The maximum number of tenders allowed to be created in this phase

Number


inSetExpiryRule:

Setting that determines how the expiry date is worked out in this phase

Number

0 = Calc (Tender created date + inExpiryDays from tblTenderPhase will be set in expiry date )

1 = Copy (When tender is created we will check for the expiry date of the tender that is being copied and copy that expiry date in current phase )

2 = Reset (Creation date of original tender + inExpiryDays value will be set in expiry date)

3 = Extend (Previous tender expiry date + inExpiryDays value will be set in expiry date )


inExpiryDays:

The number of days before the tender will expire based on the set expiry rule

Number


bCanEditExpiryDate:

Setting that determines if the user can edit the expiry date manually in this phase or not

0 = no

1 = yes


bCanRepriceTender:

Setting that determines if the user can reprice the tender in this phase or not

0 = no

1 = yes


bCanRepriceVariation:

Setting that determines if the user can reprice the variation in this phase or not

0 = no

1 = yes


bCanRemoveVariationFee:
Setting that determines if the user can remove variation fee in this phase or not
0 = no

1= yes


bIsTraceRequired:

Setting that determines if audit tracking for tender changes is enabled for this phase or not

Audit tracing is recorded in tblTenderAudits.
0 = no

1= yes


sgTenderNamingRule:

Setting that determines the layout of the tender title in this phase, using each component of the title as a pipe

JOBNO| HOUSENAME| CLIENTNAME| 'ANY TEXT'| NUM| = Number starting at 1

JOBNO| HOUSENAME| CLIENTNAME| 'ANY TEXT'| 'nothing'| = Letter starting at A


sgVariationNamingRule:

Setting that determines the layout of the variation title in this phase using each component of the title as a pipe

JOBNO| HOUSENAME| CLIENTNAME| 'ANY TEXT'| NUM| = Number starting at 1

JOBNO| HOUSENAME| CLIENTNAME| 'ANY TEXT'| 'nothing'| = Letter starting at A


inStatusAllowed:

All statuses allowed in this variation

Complex bit map value worked out using a console app (see attached and for more info: https://support.clickhome.com.au/a/solutions/articles/3000097694 )

Number


inStatusVariationsAllowed

All statuses allowed in this variation

Complex bit map value worked out using a console app (see attached and for more info: https://support.clickhome.com.au/a/solutions/articles/3000097694 )

Number


inStatusOpenSubstitutionsAllowed:

All statuses allowed to be changed to within this phase and leave substitutions open

Complex bit map value worked out using a console app (see attached and for more info: https://support.clickhome.com.au/a/solutions/articles/3000097694 )

Number


inMaxVariationsPerTender:

0 = no variation
-1 = unlimited variations
Other value = at a time only one variation will be active 


bAutomaticVariationSelections:

A setting that determines if the selections made in this phase will be recorded as variations or not

0 = no

1 = yes


bConsolidatePreviousVariations:

A setting that determines if the variations that were created prior to this phase will be consolidated when this phase is started or not

0 = no

1 = yes


bVisibleOnMyHome:

A setting that determines if this phase will be visible in MyHome or not

0 = no

1 = yes


bCanAddCustomOptions:

A setting that determines if custom options can be added in this phase or not

0 = no

1 = yes


bCanConvertBuildUp:

A setting that determines if custom build ups can be created in this phase or not

0 = no

1 = yes

bAllowedNewTender:

A setting that determines if the user can create a new tender in this phase or not

0 = no

1 = yes


inApprovalRule:

Need to obtain further requirements on this in future.

Based around an op code for sales or estimator users then when tender phase is being locked down it can reference an actual approval process:

DEFAULT = NOT NULL
-- Default (There is an op code that allows it)
-- Estimator does it
-- SalesPerson does it
-- Goes to Approval Process (?)


inTriggerLevel:

A reference to be used for workflows that allows a particular phase to be the phase that has to be completed before  the workflow can proceed.

1 phase in set = 100

Other phases in set = 0

Reference in workflow is to phase with 100


inStdCustomOrder:

A number used to set the order of the first phase for each phase set.

e.g. 1

Following the first phase, the fkidTenderPhase will be used to order the phases in the set not the inStdCustomOrder so these can be set to any number that comes after the first phase numer

e.g. 2 or 100



Database Update scripts:

Update a value in phase sets:

Begin Tran 

update tbltenderphasesets

set fkidbusinessunit = 15

where idtenderphaseset = 2

Rollback

Commit


Update a value in tender phases:

Begin Tran 

update tbltenderphases

set fkidPhaseSet = 1

where idtenderphase = 0

Rollback

Commit


Update the phase set in Validation Entries:

Begin Tran

update tblvalidationentries

set fkidOther = 1

where idvalidationentry = 27468

Rollback

Commit