用途:面向 Bitrix24 本地部署(on-premise)环境的服务端 CRM 开发,验证版本为 crm 26.800.0、main 26.800.0。针对门户内运行的 PHP(/local/ 模块、处理器、代理);若通过 REST 调用 CRM,则应改用 bitrix24-rest-api。
主要能力与主题:
- Container、Factory、读取 Item、字段名、电话/邮箱规则
- 增删改、Context、校验、自定义操作
- 智能流程、漏斗、阶段、智能发票
- 权限检查、按权限过滤的列表
- 响应变更、Factory 覆盖、机器人、触发器
- 时间线评论、待办、活动
- 字段集合、用户字段
- CCrmDeal/CCrmLead 等替代方案、D7 与 REST 映射
必要用法(不变量):
- 先 Loader::includeModule('crm');从 Container::getInstance() 获取服务。
- 仅通过 Factory 操作写入:getAddOperation()/getUpdateOperation()/getDeleteOperation() → launch()。切勿使用 DealTable::add()、$factory->getDataClass()::update()、Item::save()/Item::delete(),它们会跳过权限、必填字段、事件、时间线、搜索索引和机器人。
- 使用 Item::FIELD_NAME_* 名称;Factory 会将其映射到实体列(如 lead STAGE_ID → STATUS_ID)。
- 动态 entityTypeId、漏斗与阶段 ID 因门户而异:应在运行时按代码或语义解析,切勿硬编码。
- 代理、CLI 和队列没有用户:需传入带用户 ID 的 Context,或有意关闭访问检查。
- 检查每次 launch() 的 isSuccess(),并向上传递其错误。
限制:仅覆盖服务端 D7 CRM 开发;REST 调用需另用 bitrix24-rest-api。其余细节资料未提供。