Fxiaoke Developer Manual Fxiaoke Developer Manual
  • APL Development Manual
  • PWC Development Manual
  • OpenAPI Documentation
APL Code Introduction
API Reference
Development Tools
Release Notes
  • 简体中文
  • English
APL Code Introduction
API Reference
Development Tools
Release Notes
  • 简体中文
  • English
  • Getting Started

  • APL Function Open Scenarios

  • APL Class Open Scenarios

    • Common Library

    • Electronic Signature

    • Authentication Provider

    • Available Business Types

    • Object Controller Plugin

    • Event Listener

    • Object Export Plugin

    • ERP Integration Platform

    • Field Service Type Function Validation

      • 1.Overview
      • 2.Configuration Steps
      • 3.Groovy Code Examples
      • 4.FAQ
    • FMCG Order Business Plugin

    • Object Business Handler

    • Online Documentation

    • Custom Model

    • Environment Deployment

Groovy Code Example

class A implements CheckinVisitPlugin {
    // Whether each node executes depends on configuration in the type settings to trigger methods in this class

    @Override
    CheckinValidate.Result beforeCheckin(CheckinValidate.Arg beforeCheckArg) {
       // Parameters included
        String checkId = beforeCheckFinishArg.checkId as String  // ID of advanced field object (may be null for temporary field operations)
        String mainObjApiName = beforeCheckFinishArg.mainObjApiName as String  // API name of main object for advanced field visit (may be empty)
        String mainObjDataId = beforeCheckFinishArg.mainObjDataId as String  // Data ID of main object for advanced field visit (may be empty)
        String checkTypeId = beforeCheckFinishArg.checkTypeId as String // Field operation type ID, used to distinguish cases where different types share the same APL class (not needed if different types are configured with different APL classes)
        switch(checkTypeId) {
          case "641c093ca70a6f56080ab9a7":
            return CheckinValidate.Result.builder().success(false).block(false).title("Popup Title").message("Popup Content").build();
            break;
          default:
            return CheckinValidate.Result.builder().success(true).build()
        }
    }

    @Override
    CheckinValidate.Result beforeCheckout(CheckinValidate.Arg beforeCheckoutArg) {
        // Construct return result
        return CheckinValidate.Result.builder().success(false).block(false).title("Popup Title").message("Popup Content").build();
    }

    @Override
    CheckinValidate.Result beforeCheckFinish(CheckinValidate.Arg beforeCheckFinishArg) {
        // Construct return result
        return CheckinValidate.Result.builder().success(false).block(true).title("Popup Title").message("Popup Content").build();
    }
}
2.Configuration Steps
4.FAQ

← 2.Configuration Steps 4.FAQ→

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式