VbzCart/docs/tables/ord pkg lines: Difference between revisions
Jump to navigation
Jump to search
imported>Woozle (correction... those fields weren't what I thought they were) |
m (Woozle moved page VbzCart/VbzCart/tables/ord pkg lines to VbzCart/docs/tables/ord pkg lines without leaving a redirect: part 4/5) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 4: | Line 4: | ||
* '''Fields''': | * '''Fields''': | ||
** '''QtyFromStock''' may be an obsolete field, as ''all'' package quantities should now come from stock. | ** '''QtyFromStock''' may be an obsolete field, as ''all'' package quantities should now come from stock. | ||
* | ==Rules== | ||
** '''2010-10-19''' Adding CostShItm and CostSale fields to record prices charged (parallels ChgShipItm and ChgShipPkg in {{vbzcart/table|ord_pkgs}}) | * across all packages, for a given item: | ||
** quantity ordered - (QtyShipped + QtyNotAvail + QtyKilled) + QtyReturned = quantity we still need to ship | |||
* When a return package is first created, QtyShipped and QtyReturned will be the same. When the items are returned to stock, QtyShipped will be zero but QtyReturned will be unchanged. | |||
* If QtyShipped and QtyReturned are both zero, then the line is void and may be reused. | |||
==History== | |||
* '''2010-10-19''' Adding CostShItm and CostSale fields to record prices charged (parallels ChgShipItm and ChgShipPkg in {{vbzcart/table|ord_pkgs}}) | |||
** Those fields didn't exist until I created them just now (because I thought certain other fields were serving that function), but it's better to have too much data than too little for critical things like packages. | |||
* '''2011-10-08''' Added '''WhenVoided''' field so we have a quick way of removing lines from the package to put them back into stock (while still keeping a record of what was there). | |||
* '''2014-06-14''' | |||
** Added '''QtyReturned''' so we can keep track of what ''was'' in a return-package. | |||
** Doing away with: | |||
*** '''QtyExtra''': This should be indicated by setting '''CostSale''' and '''CostShItm''' to zero. | |||
**** If a given item has some units that are freebies and some that are not, then create separate lines. | |||
*** '''QtyFromStock''' All units now must be entered into stock before they can be shipped. | |||
*** '''WhenVoided''' - This was not really ever used, and I can't think of a reason it should exist. | |||
* '''2014-06-15''' Adding '''CostShPkg''' so totals can be recalculated solely from package line data. | |||
==SQL== | ==SQL== | ||
<mysql>CREATE TABLE `ord_pkg_lines` ( | |||
`ID` INT NOT NULL AUTO_INCREMENT, | `ID` INT NOT NULL AUTO_INCREMENT, | ||
`ID_Pkg` INT NOT NULL COMMENT "ord_pkgs.ID", | `ID_Pkg` INT NOT NULL COMMENT "ord_pkgs.ID", | ||
`ID_Item` INT NOT NULL COMMENT "cat_items.ID", | |||
`ID_OrdLine` INT COMMENT "ord_lines.ID", | `ID_OrdLine` INT COMMENT "ord_lines.ID", | ||
`QtyShipped` INT COMMENT "quantity included in this package", | |||
`QtyShipped` INT COMMENT "quantity | `QtyNotAvail` INT COMMENT "quantity which can't be filled", | ||
` | |||
`QtyKilled` INT COMMENT "quantity fulfilled by being cancelled", | `QtyKilled` INT COMMENT "quantity fulfilled by being cancelled", | ||
` | `QtyReturned` INT COMMENT "quantity returned by customer", | ||
`CostSale` DECIMAL(9,2) DEFAULT NULL COMMENT "price charged for this item", | `CostSale` DECIMAL(9,2) DEFAULT NULL COMMENT "price charged for this item", | ||
`CostShItm` DECIMAL(9,2) DEFAULT NULL COMMENT "per-item shipping cost charged", | `CostShItm` DECIMAL(9,2) DEFAULT NULL COMMENT "per-item shipping cost charged", | ||
`CostShPkg` DECIMAL(9,2) DEFAULT NULL COMMENT "per-package shipping cost minimum for this item", | |||
`Notes` VARCHAR(255), | `Notes` VARCHAR(255), | ||
PRIMARY KEY(`ID`) | PRIMARY KEY(`ID`) | ||
) | ) | ||
ENGINE = MYISAM;</mysql> | ENGINE = MYISAM;</mysql> | ||
Latest revision as of 01:57, 25 February 2024
About
- Purpose: What's in an order package (Template:Vbzcart/table)
- Refers to: Template:Vbzcart/table (parent), Template:Vbzcart/table, Template:Vbzcart/table
- Fields:
- QtyFromStock may be an obsolete field, as all package quantities should now come from stock.
Rules
- across all packages, for a given item:
- quantity ordered - (QtyShipped + QtyNotAvail + QtyKilled) + QtyReturned = quantity we still need to ship
- When a return package is first created, QtyShipped and QtyReturned will be the same. When the items are returned to stock, QtyShipped will be zero but QtyReturned will be unchanged.
- If QtyShipped and QtyReturned are both zero, then the line is void and may be reused.
History
- 2010-10-19 Adding CostShItm and CostSale fields to record prices charged (parallels ChgShipItm and ChgShipPkg in Template:Vbzcart/table)
- Those fields didn't exist until I created them just now (because I thought certain other fields were serving that function), but it's better to have too much data than too little for critical things like packages.
- 2011-10-08 Added WhenVoided field so we have a quick way of removing lines from the package to put them back into stock (while still keeping a record of what was there).
- 2014-06-14
- Added QtyReturned so we can keep track of what was in a return-package.
- Doing away with:
- QtyExtra: This should be indicated by setting CostSale and CostShItm to zero.
- If a given item has some units that are freebies and some that are not, then create separate lines.
- QtyFromStock All units now must be entered into stock before they can be shipped.
- WhenVoided - This was not really ever used, and I can't think of a reason it should exist.
- QtyExtra: This should be indicated by setting CostSale and CostShItm to zero.
- 2014-06-15 Adding CostShPkg so totals can be recalculated solely from package line data.
SQL
<mysql>CREATE TABLE `ord_pkg_lines` (
`ID` INT NOT NULL AUTO_INCREMENT, `ID_Pkg` INT NOT NULL COMMENT "ord_pkgs.ID", `ID_Item` INT NOT NULL COMMENT "cat_items.ID", `ID_OrdLine` INT COMMENT "ord_lines.ID", `QtyShipped` INT COMMENT "quantity included in this package", `QtyNotAvail` INT COMMENT "quantity which can't be filled", `QtyKilled` INT COMMENT "quantity fulfilled by being cancelled", `QtyReturned` INT COMMENT "quantity returned by customer", `CostSale` DECIMAL(9,2) DEFAULT NULL COMMENT "price charged for this item", `CostShItm` DECIMAL(9,2) DEFAULT NULL COMMENT "per-item shipping cost charged", `CostShPkg` DECIMAL(9,2) DEFAULT NULL COMMENT "per-package shipping cost minimum for this item", `Notes` VARCHAR(255), PRIMARY KEY(`ID`)
) ENGINE = MYISAM;</mysql>