[object Object]

← back to Filemaker Mcp

auto-save: 2026-07-02T07:11:42 (1 files) — scripts/relookup-invoice-102387.mjs

5a0d50edc5d30b5d62e5ee093b6a3d7cf024d387 · 2026-07-02 07:11:48 -0700 · Steve Abrams

Files touched

Diff

commit 5a0d50edc5d30b5d62e5ee093b6a3d7cf024d387
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Jul 2 07:11:48 2026 -0700

    auto-save: 2026-07-02T07:11:42 (1 files) — scripts/relookup-invoice-102387.mjs
---
 scripts/relookup-invoice-102387.mjs | 42 +++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/scripts/relookup-invoice-102387.mjs b/scripts/relookup-invoice-102387.mjs
new file mode 100644
index 0000000..26d7056
--- /dev/null
+++ b/scripts/relookup-invoice-102387.mjs
@@ -0,0 +1,42 @@
+// Re-fire the WALLPAPER lookups on invoice 102387 (recordId 64919) now that the
+// DWKK-120156 master exists (recordId 536618). FM stored lookups refire only when
+// the KEY field's value CHANGES, and updateRecord diff-skips same-value writes —
+// so each key is re-keyed in two steps: blank -> correct value.
+// Keys (from lib/invoice.js): JS Easy SKU # (Layout #47), wc pattern(1) +
+// WC Pattern Number AKA DW SKU(1) [dashless] (1-order detail 1 Copy3).
+// Usage: node scripts/relookup-invoice-102387.mjs
+import { readFileSync } from 'node:fs';
+import { fileURLToPath } from 'node:url';
+import { dirname, join } from 'node:path';
+const __dir = dirname(fileURLToPath(import.meta.url));
+for (const line of readFileSync(join(__dir, '..', '.env'), 'utf8').split('\n')) {
+  const m = line.match(/^([A-Z_]+)=(.*)$/);
+  if (m && !process.env[m[1]]) process.env[m[1]] = m[2];
+}
+const fm = await import('../src/fm-client.js');
+const ID = 64919;
+
+const rekeys = [
+  ['Layout #47', 'JS Easy SKU #', 'DWKK-120156'],
+  ['1-order detail 1 Copy3', 'wc pattern(1)', 'DWKK-120156'],
+  ['1-order detail 1 Copy3', 'WC Pattern Number AKA DW SKU(1)', 'DWKK120156'],
+];
+for (const [layout, field, value] of rekeys) {
+  for (const v of ['', value]) {
+    try {
+      const r = await fm.updateRecord('invoice', layout, ID, { [field]: v }, { dryRun: false });
+      console.log(`set ${field}=${JSON.stringify(v)}:`, JSON.stringify(r.changes ?? r.note ?? r));
+    } catch (e) { console.log(`FAIL ${field}=${JSON.stringify(v)}: ${e.message}`); }
+  }
+}
+
+const rec = await fm.getRecord('invoice', '1-order detail 1 Copy3', ID);
+const f = rec.fieldData;
+console.log('READBACK:', JSON.stringify({
+  'wc pattern(1)': f['wc pattern(1)'],
+  'WC Pattern Number AKA DW SKU(1)': f['WC Pattern Number AKA DW SKU(1)'],
+  'Detail 1 Mfr Number(1)': f['Detail 1 Mfr Number(1)'],
+  'wc mfr num lookup(1)': f['wc mfr num lookup(1)'],
+  'detail1 dash width': f['detail1 dash width'],
+  'DETAIL 1(1)': f['DETAIL 1(1)'],
+}, null, 1));

← a231cf0 add DWKK-120156 master (order 32513/inv 102387) + invoice pr  ·  back to Filemaker Mcp  ·  sales-to-Slack via FileMaker: EOD daily+MTD summary + per-in 4255ec9 →