# `Sp_Quotation_CalcDataSetStd` (procedure) - **Type:** PROCEDURE - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `sGuid` | `varchar(100)` | | 2 | IN | `bChangeRate` | `int` | | 3 | IN | `sLoginId` | `varchar(100)` | | 4 | IN | `sBrId` | `varchar(100)` | | 5 | IN | `sSuId` | `varchar(100)` | | 6 | OUT | `sCode` | `int` | | 7 | OUT | `sReturn` | `varchar(5000)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_Quotation_CalcDataSetStd`'`._ ## Narrative **Business context:** 销售管理 → 销售单据 — quotation calculator for the 套装产品 (product-set) form variant 报价单单据(通用)(兼容停用). Companion to `Sp_Quotation_CalcDataStd` but adds combine-control handling (`quoquotationcontrolcombine_tmp`) so a single slave can carry several bundled control groups. **What it does:** Mirrors the standard calc loop — walks slave/control/material/process/print-process cursors against the Quo*_Tmp staging set, reads element rates from `eleproduct`/`EleProcess`, system toggles from `SysSystemSettings`/`sysformsetting`, expands formulas via `Sp_System_ReplaceField`/`Sp_Sis_GetConst`, and writes back into the staging tables. The set-specific block additionally updates `quoquotationControlCombine_Tmp` and uses `p_SlaveMoneyTable` / `p_TmpWorkOrderSlave` temp tables to aggregate per-combine totals before rolling them into `quoquotationmaster_tmp`. **Invocation:** Dispatched by `BusinessBaseServiceImpl` via `CaclProNameEnum.SP_QUOTATION_CALCDATASETSTD` — selected when a form's `gdsmodule.sCalcProName='Sp_Quotation_CalcDataSetStd'`. Currently bound to 报价单单据(通用)(兼容停用) `101251240115016244276286330` (the bundled-product quote form). Install: `script/标版/30100101/Sp_Quotation_CalcDataSetStd.sql`.