@adempiere/grpc-data-client 中文文档教程

发布于 4年前 浏览 3 项目主页 更新于 3年前

ADempiere Data Client for gRPC

npm version许可证下载Dependencies

ADempiere Data Client 用 Ja​​vascript 编写 gRPC 服务,用它来连接 ADempiere-gRPC-Server

Requirements

Using it

# installing via NPM
npm i @adempiere/grpc-data-client --save
# installing via Yarn
yarn add @adempiere/grpc-data-client

A Example

Declare Data

const Data = require('@adempiere/grpc-data-client');
let data = new Data(GRPC_HOST, 'Session UUID');

Declare Data with specific language

const Data = require('@adempiere/grpc-data-client');
let data = new Data(GRPC_HOST, 'Session UUID', 'es_VE');

Request a simple Object based on Table and UUID

//  Request a single Object
data.getEntity('AD_Element', '8cc49692-fb40-11e8-a479-7a0060f0aa01')
.then(valueObject => {
  console.log("Object with single UUID");
    //  Value
  let map = valueObject.getValuesMap();
  console.log("ColumnName: " + map.get("ColumnName").getStringvalue());
  console.log("Name: " + map.get("Name").getStringvalue());
  console.log("Display Type: " + map.get("AD_Reference_ID").getIntvalue());
  console.log("Value Type: " + map.get("AD_Reference_ID").getValuetype());
})
.catch(err => console.log("Error: " + err.message));

Output

Object with single UUID
ColumnName: HR_JobOpening_ID
Name: Job Openings
Display Type: 13
Value Type: 0

Request a simple Object based on Criteria for search

//  Request a Object from criteria
let criteria = data.getCriteria('C_BPartner');
criteria.setWhereclause("AD_Client_ID = 11");
data.requestObjectFromCriteria(criteria)
.then(valueObject => {
  console.log("Object with criteria C_BPartner table");
  //  Value
  let map = valueObject.getValuesMap();
  console.log("Value: " + map.get("Value").getStringvalue());
  console.log("Name: " + map.get("Name").getStringvalue());
  if(map.get("Name2")) {
      console.log("Name2: " + map.get("Name2").getStringvalue());
  }
  if(map.get("Description")) {
      console.log("Description: " + map.get("Description").getStringvalue());
  }
  console.log("IsVendor: " + map.get("IsVendor").getBooleanvalue());
  console.log("IsCustomer: " + map.get("IsCustomer").getBooleanvalue());
})
.catch(err => console.log("Error: " + err.message));

Output

Object with criteria C_BPartner table
Value: GardenUser
Name: GardenUser BP
IsVendor: true
IsCustomer: true

Request a Object List from criteria (User example)

//  Request a Object LIst from criteria
let criteriaForList = data.getCriteria('AD_User');
criteriaForList.setWhereclause("IsLoginUser = 'Y'");
data.requestObjectListFromCriteria(criteriaForList)
.then(valueObject => {
  console.log("Request a Object List from criteria for User table");
  console.log("Record Quantity: " + valueObject.getRecordcount());
  //  Value
  for(var i = 0; i < valueObject.getRecordsList().length; i++) {
    let values = valueObject.getRecordsList()[i];
    let map = values.getValuesMap();
    console.log("Value: " + map.get("Value").getStringvalue());
    console.log("Name: " + map.get("Name").getStringvalue());
    if(map.get("EMail")) {
        console.log("EMail: " + map.get("EMail").getStringvalue());
    }
    if(map.get("Description")) {
      console.log("Description: " + map.get("Description").getStringvalue());
    }
  }
})
.catch(err => console.log("Error: " + err.message));

Output

quest a Object List from criteria for User table
Record Quantity: 5
Value: GardenAdmin
Name: GardenAdmin
EMail: admin @ gardenworld.com
Description: GardenAdmin
Value: GardenUser
Name: GardenUser
EMail: user @ gardenworld.com
Description: GardenUser
Value: WebService
Name: WebService
Value: SuperUser
Name: SuperUser
Description: Super User with Access to all levels
Value: System
Name: System
Description: ** Do not change **

Recreate proto stub class (only for contribute to project)

对于重新创建存根类,您必须遵循:

注意:您还可以通过转到存储库目录并运行命令:

sh install-protoc.sh

安装完成后,检查版本

protoc --version

安装后只需转到源代码文件夹并运行它:

运行 Business gRPC

protoc proto/business.proto \
--js_out=import_style=commonjs:src/grpc \
--grpc-web_out=import_style=commonjs,mode=grpcwebtext:src/grpc

或运行:

sh generate-stub.sh

结果生成于:src/grpc 文件夹

  • business_pb.js
  • business_grpc_web_pb.js

ADempiere Data Client for gRPC

npm versionLicenseDownloadsDependencies

ADempiere Data Client write in Javascript for gRPC service, use it for connect with ADempiere-gRPC-Server.

Requirements

Using it

# installing via NPM
npm i @adempiere/grpc-data-client --save
# installing via Yarn
yarn add @adempiere/grpc-data-client

A Example

Declare Data

const Data = require('@adempiere/grpc-data-client');
let data = new Data(GRPC_HOST, 'Session UUID');

Declare Data with specific language

const Data = require('@adempiere/grpc-data-client');
let data = new Data(GRPC_HOST, 'Session UUID', 'es_VE');

Request a simple Object based on Table and UUID

//  Request a single Object
data.getEntity('AD_Element', '8cc49692-fb40-11e8-a479-7a0060f0aa01')
.then(valueObject => {
  console.log("Object with single UUID");
    //  Value
  let map = valueObject.getValuesMap();
  console.log("ColumnName: " + map.get("ColumnName").getStringvalue());
  console.log("Name: " + map.get("Name").getStringvalue());
  console.log("Display Type: " + map.get("AD_Reference_ID").getIntvalue());
  console.log("Value Type: " + map.get("AD_Reference_ID").getValuetype());
})
.catch(err => console.log("Error: " + err.message));

Output

Object with single UUID
ColumnName: HR_JobOpening_ID
Name: Job Openings
Display Type: 13
Value Type: 0

Request a simple Object based on Criteria for search

//  Request a Object from criteria
let criteria = data.getCriteria('C_BPartner');
criteria.setWhereclause("AD_Client_ID = 11");
data.requestObjectFromCriteria(criteria)
.then(valueObject => {
  console.log("Object with criteria C_BPartner table");
  //  Value
  let map = valueObject.getValuesMap();
  console.log("Value: " + map.get("Value").getStringvalue());
  console.log("Name: " + map.get("Name").getStringvalue());
  if(map.get("Name2")) {
      console.log("Name2: " + map.get("Name2").getStringvalue());
  }
  if(map.get("Description")) {
      console.log("Description: " + map.get("Description").getStringvalue());
  }
  console.log("IsVendor: " + map.get("IsVendor").getBooleanvalue());
  console.log("IsCustomer: " + map.get("IsCustomer").getBooleanvalue());
})
.catch(err => console.log("Error: " + err.message));

Output

Object with criteria C_BPartner table
Value: GardenUser
Name: GardenUser BP
IsVendor: true
IsCustomer: true

Request a Object List from criteria (User example)

//  Request a Object LIst from criteria
let criteriaForList = data.getCriteria('AD_User');
criteriaForList.setWhereclause("IsLoginUser = 'Y'");
data.requestObjectListFromCriteria(criteriaForList)
.then(valueObject => {
  console.log("Request a Object List from criteria for User table");
  console.log("Record Quantity: " + valueObject.getRecordcount());
  //  Value
  for(var i = 0; i < valueObject.getRecordsList().length; i++) {
    let values = valueObject.getRecordsList()[i];
    let map = values.getValuesMap();
    console.log("Value: " + map.get("Value").getStringvalue());
    console.log("Name: " + map.get("Name").getStringvalue());
    if(map.get("EMail")) {
        console.log("EMail: " + map.get("EMail").getStringvalue());
    }
    if(map.get("Description")) {
      console.log("Description: " + map.get("Description").getStringvalue());
    }
  }
})
.catch(err => console.log("Error: " + err.message));

Output

quest a Object List from criteria for User table
Record Quantity: 5
Value: GardenAdmin
Name: GardenAdmin
EMail: admin @ gardenworld.com
Description: GardenAdmin
Value: GardenUser
Name: GardenUser
EMail: user @ gardenworld.com
Description: GardenUser
Value: WebService
Name: WebService
Value: SuperUser
Name: SuperUser
Description: Super User with Access to all levels
Value: System
Name: System
Description: ** Do not change **

Recreate proto stub class (only for contribute to project)

For recreate stub class you must have follow:

Note: You can also install protoc and protoc-gen-grpc-web by going to the repository directory and run the command:

sh install-protoc.sh

When installation is complete, check the version with

protoc --version

After installed it just go to source code folder an run it:

Run Business gRPC

protoc proto/business.proto \
--js_out=import_style=commonjs:src/grpc \
--grpc-web_out=import_style=commonjs,mode=grpcwebtext:src/grpc

Or run:

sh generate-stub.sh

The result is generated on: src/grpc folder

  • business_pb.js
  • business_grpc_web_pb.js
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文