Cop pilot has suggested the following to enable having 2 versions of the sales transaction entry window open
Has anyone ever tried this;
# ✅ **How to Clone the Sales Transaction Entry Window in Dexterity** This is the cleanest, safest workflow used by GP ISVs and internal dev teams.
---
# 🧱 **1. Open Dexterity and Load the GP Dictionaries** You need access to: - `Dynamics.dic` (core dictionary) - Any third‑party dictionaries you rely on
Open Dexterity → **File → Open** → select the dictionary.
---
# 🧱 **2. Locate the SOP Entry Form** In the Resource Explorer:
``` Forms → SOP_Entry ```
Inside you’ll see: - Windows (SOP_Entry) - Triggers - Scripts - Fields - Menus - Local resources
This is the form GP treats as a **singleton**.
---
# 🧱 **3. Duplicate the Form (the critical step)** Right‑click the form → **Duplicate**.
Rename it something like:
``` SOP_Entry2 ```
Dexterity will automatically: - Create a new Form ID - Create new Window IDs - Copy all fields, scripts, and layout
This is the key: **a new Form ID means GP treats it as a separate window**, so it can run alongside the original.
### ✅ Window name Rename the window to something like:
``` SOP_Entry2 ```
### ✅ Form‑level scripts Search for references to `SOP_Entry` inside scripts. Replace with `SOP_Entry2` where appropriate.
### ✅ Global references If the original form uses global procedures or functions, you can leave them — but any form‑specific calls must be updated.
---
# 🧱 **5. Adjust Any Custom Logic** This is where you make it “slightly different”:
Examples: - Hide fields - Add new fields - Change default values - Add new triggers - Add new scrolling window columns
Because this is a **new form**, you can customise it without affecting the original.
---
# 🧱 **6. Add the New Form to the Menu** You must expose the new window to users.
In Dexterity: - Go to **Menus** - Add a new menu item under: ``` Sales → Transactions ``` - Point it to the new form: ``` Form: SOP_Entry2 Window: SOP_Entry2 ```
---
# 🧱 **7. Compile to a New Dictionary** You do **not** overwrite Dynamics.dic.
Instead: - Create a new dictionary, e.g. `CustomSOP.dic` - Add it to GP’s launch file (`Dynamics.set`) so GP loads it after the core dictionary
This keeps your clone upgrade‑safe.
---
# 🧱 **8. Assign Security** In GP: - Go to **Security Tasks** - Add access to the new form (it will appear under the dictionary name you created)
Users will now see **two separate SOP Entry windows**.
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.