From b3e0f8358f9c334d50e134f243f141eb52199ae1 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 4 Mar 2021 17:42:16 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 14c3b39e..bf447079 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -185,6 +185,49 @@ todo: Changes to allow in place updates of server: CURRENTLY DOING: Contract +Contract general notes / changes +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +Overview + V7 contracts did this: + Limit rates that can be selected + apply a discount to all parts selected for that contract in effect + + V8 contracts need to do this: + +Contracts are never tied directly to an object they affect other than the Customer or Headoffice with a foreign key link + workorders should never be reliant on the existance of a contract but rather just have a contract applied to them for example + +Need rates picklists to support criteria of contract rates only for selection + perhaps server supplies which contract id is in effect and limit to rates + then client uses variant to say "limittocontractid:xx" when fetching rate lists or other contract restricted items + +Markup / Markdown / Discount + v7 can only have discount % but we now want: + Discount % off price + Markup on cost to price + Markup on price + +Contract affected fields + in a wo or other object a contract should only affect adjacent fields, never the primary field like price or cost + In this way a contract can be rescinded off a workorder when a customer is changed (required feature) and it's easy to update it + without breaking anything + +Contract applied field + objects with contract that affects then should seperately have a contract name field for contract applie + this supports not directly linking the contract but rather seeing it as an object that is applied to another object, + not linked to it. Can apply, unapply, delete contract and no affect on primary wo or other object + +TAGS + in v7 contracts could be set to apply to all parts or none + in v8 need finer control so: + Contract needs selectable tags for any aspect to apply + Discount / markup etc parts / rates + So, in practice like in v7 you set a discount for all parts but then you can also on the same line restrict it to specific part tags and select tags right there + The server then applies the discount based on whether the parts are tagged or not if that's the case in it's bizactions + + + + then the picklist can be supplied the variant for contract id which pulls the contract, finds the tags and then populates the picklist with the extra tag search