realsoftgt / sap-b1-sl

SAPBOSL是连接您的Laravel开发与SAP Business One Service Layer的桥梁,使用Laravel HTTP Client实现。

v0.2.8 2023-03-22 21:41 UTC

This package is auto-updated.

Last update: 2024-09-23 00:45:51 UTC


README

安装SAPBOSL

composer require realsoftgt/sap-b1-sl

配置SAPBOSL

将以下行添加到您的Config/app.php Providers中

    RealSoft\SAPBOSL\SAPBOSLServiceProvider::class

将以下行添加到您的Config/app.php Aliases中

    'SAPClient' => RealSoft\SAPBOSL\SAPClient::class,

您可以使用此命令发布配置

    php artisan vendor:publish --provider="RealSoft\SAPBOSL\SAPBOSLServiceProvider"

默认配置设置在config/SAP.php中,如下所示,您可以根据需要进行修改。

    'https'         => env('SAP_SECURE_URL', false),
    'host'          => env('SAP_BASE_URL', '192.168.1.1'),
    'port'          => env('SAP_BASE_PORT', 50000),
    'company_db'    => env('SAP_COMPANY_DB'),
    'username'      => env('SAP_USERNAME'),
    'password'      => env('SAP_PASSWORD'),
    'sslOptions'    => [
            'cafile'            => env('SAP_BASE_SSL_CA_PATH', 'path/to/certificate.crt'),
            'verify_peer'       => env('SAP_BASE_SSL_VERIFY_PEER', true),
            'verify_peer_name'  => env('SAP_BASE_SSL_VERIFY_PEER_NAME', true),
        ],
    'version'       => env('SAP_BASE_VERSION', 2)

正如我们所见,这些设置可以从以下环境变量文件中的变量获取

#...
SAP_SECURE_URL=false
SAP_BASE_URL=192.168.1.1
SAP_BASE_PORT=50000
SAP_COMPANY_DB='MY_COMPANY_DB'
SAP_USERNAME='Demo01'
SAP_PASSWORD='Demo01#'
SAP_BASE_SSL_CA_PATH='path/to/certificate.crt'
SAP_BASE_SSL_VERIFY_PEER=true
SAP_BASE_SSL_VERIFY_PEER_NAME=true
SAP_BASE_VERSION=2
#...

您可以使用此命令更新配置

    php artisan config:cache

使用SAPBOSL

在控制器中使用SAPClient。

    use RealSoft\SAPBOSL\SAPClient;

创建一个新的Service Layer会话。

    $sap = SAPClient::createSession(config('username'), config('password'), config('company_db'));

获取SAP Business One会话。

    $session = $sap->getSession();

使用上面保存的会话拉取订单的示例

    $sap = new SAPClient(config('SAP') ,$session);
    $orders = $sap->getService('Orders');
    $result = $orders->queryBuilder()
    ->select('DocEntry,DocNum')
    ->orderBy('DocNum', 'asc')
    ->limit(5)
    ->findAll();

SAPBOSL许可证

此SAPBOSL是开源软件,根据MIT许可证授权。