toga-ai 1.0.703 → 1.0.704
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -663,6 +663,22 @@ Parameters are stored **per client DB** but accessed **through the TOGa2 API**,
|
|
|
663
663
|
`/locations` for the unit's own location before the write**, mirroring the existing item-line location
|
|
664
664
|
create one level up. Shared/general fix (any client running serialized item receipts), surfaced by
|
|
665
665
|
**GroWrk** location **1569**. Deployed.
|
|
666
|
+
- **The inventory-ADJUSTMENT unit path now has the SAME auto-create (fixed 2026-08-30) — it did not
|
|
667
|
+
before, which froze GroWrk.** `syncInventoryAdjustmentFromNetsuite`'s serialized-unit processing took
|
|
668
|
+
the unit's location from the inventory number's `custitemnumber_location` (the unit's own current
|
|
669
|
+
location, falling back to the adjustment line location), but — unlike `syncItemReceiptFromNetsuite` —
|
|
670
|
+
**never auto-created a missing warehouse**, so `POST /units` failed **EV-12** "unable to find a unique
|
|
671
|
+
match" on `location` (`searchCriteria c_netsuiteInternalLocationId=1596`; **0 rows** in
|
|
672
|
+
`Client_Growrk.Locations` for 1596), leaving `NETSUITE_EXECUTION_MODE_INVENTORY_ADJUSTMENTS` stuck at
|
|
673
|
+
`1-RUNNING`. **Fix:** capture the unit location's NAME (`$unitNetsuiteLocationName` from the
|
|
674
|
+
`custitemnumber_location` ref, carried in `$unitsToGet` as `netsuiteLocationName`) and, before **both**
|
|
675
|
+
unit-location reference points (the per-unit PUT-create path and the batch `POST /units` path),
|
|
676
|
+
`POST /locations` when the id is not already in `$lookupWarehouseByNetsuiteLocationInternalId` and a
|
|
677
|
+
name is present — same payload as the receipt sync (`name`, `c_netsuiteInternalLocationId`,
|
|
678
|
+
`locationType = WAREHOUSE_LOCATION_TYPE_UUID`, `isActive=true`, `allowReceiving`/`allowSending=false`),
|
|
679
|
+
then register it in the warehouse lookup. Guarded by `!isset(lookup[id]) && !empty(name)` so it fires
|
|
680
|
+
only for genuinely-missing locations and never duplicates. Shared 1.0 path — benefits all
|
|
681
|
+
serialized-adjustment clients.
|
|
666
682
|
|
|
667
683
|
- **⚠ The exact api2 rejection detail lives in `Logs_<Client>.Api`, not `Logs.Event` (which TRUNCATES
|
|
668
684
|
it).** When a section throws on an api2 non-success, `Logs.Event` records the error envelope but
|
|
@@ -742,6 +758,14 @@ Parameters are stored **per client DB** but accessed **through the TOGa2 API**,
|
|
|
742
758
|
|
|
743
759
|
## Change history
|
|
744
760
|
|
|
761
|
+
- 2026-08-30 — **Inventory-adjustment serialized-unit path now auto-creates a missing unit warehouse
|
|
762
|
+
(`library`).** `syncInventoryAdjustmentFromNetsuite` took the unit's location from the inventory
|
|
763
|
+
number's `custitemnumber_location` but never created a missing warehouse (unlike
|
|
764
|
+
`syncItemReceiptFromNetsuite`), so `POST /units` failed EV-12 on `location` for GroWrk location **1596**
|
|
765
|
+
(0 rows in `Client_Growrk.Locations`), stuck `INVENTORY_ADJUSTMENTS` at `1-RUNNING`. Fix captures the
|
|
766
|
+
location NAME (`netsuiteLocationName`) and `POST /locations` before both the PUT-create and batch
|
|
767
|
+
`POST /units` paths — guarded `!isset(lookup[id]) && !empty(name)`, same payload as the receipt sync —
|
|
768
|
+
then registers it in the warehouse lookup. Shared path (all serialized-adjustment clients). (jcardinal)
|
|
745
769
|
- 2026-08-30 — **Rebuilt GroWrk transfer-order integration + shared IF/inventory-adjustment fixes (all in
|
|
746
770
|
`library/app/api/toga2.php`).** Root-caused the shared `syncTransferOrderFromNetsuite` **non-idempotency**
|
|
747
771
|
to api2 never inlining `transferOrderItems` (`transfer-orders` has no `InherentRecordChildren` row) — the
|
package/package.json
CHANGED