WillyMaciel/SankhyaPHP

PHP API 用于与 Sankhya WebService 集成

0.0.1 2020-02-11 15:01 UTC

This package is auto-updated.

Last update: 2024-09-11 20:15:51 UTC


README

此包使用 "tightenco/collect" 包作为依赖,用于返回结果为 Collection(与 Laravel 框架中使用的相同)。

通过 composer 安装

composer require willymaciel/sankhya-php

认证

登录

require_once __DIR__ . '/vendor/autoload.php';
use WillyMaciel\Sankhya\SwServiceInvoker;

$api = new SwServiceInvoker('http://urldosankhya.com.br:8080/');
$api->login('usuario_sankhya', 'senha');

登出

$api->logout();

服务

DbExplorer

要使用 DbExplorer,登录用户必须在此模块中拥有 SankhyaW 的权限。

注意:DbExplorer 对查询的记录数有限制,为 5000 条。

//Realiza uma query (Somente Select)
//Retorna os resultados em uma Collection
$result = $api->dbExplorer('SELECT * FROM TSIUSU');
dump($result);

CacSp - 添加发票

首先需要创建发票的抬头,这是创建发票所必需的,然后我们可以在发票中添加条目。添加发票的示例

use WillyMaciel\Sankhya\Models\Nota;
use WillyMaciel\Sankhya\Models\NotaCabecalho;
use WillyMaciel\Sankhya\Models\NotaItem;
use WillyMaciel\Sankhya\Services\CacSp;

//Cria Cabeçalho
$notaCabecalho = new NotaCabecalho();
$notaCabecalho->setTipMov('P');
$notaCabecalho->setDtNeg('11/05/2020');
$notaCabecalho->setCodTipVenda(234);
$notaCabecalho->setCodParc(2190);
$notaCabecalho->setCodTipOper(1033);
$notaCabecalho->setCodEmp(1);
$notaCabecalho->setCodVend(777);
$notaCabecalho->setCodNat(1010101);
$notaCabecalho->setCifFob('C');
$notaCabecalho->setCodCenCus(0);
$notaCabecalho->setCustomField('algum_custom_field', 'valor');
$notaCabecalho->setObservacao('Pedido criado pelo Package WillyMaciel\\Sankhya-php');

//Cria a nota enviando o cabeçalho no constructor
$nota = new Nota($notaCabecalho);
//utilize informarPreco = true se pretende informar o preço de cada item manualmente
// $nota->informarPreco(true);


//Cria itens e vincula a nota
$item = new NotaItem();
$item->setCodProd(10961);
$item->setCodVol('UN');
$item->setCodLocalOrig(0);
$item->setQtdNeg(1);
$item->setPercDesc(0);
$item->setVlrUnit(50);

$nota->addItem($item);

$item = new NotaItem();
$item->setCodProd(30068);
$item->setCodVol('UN');
$item->setCodLocalOrig(0);
$item->setQtdNeg(1);
$item->setPercDesc(0);
$item->setVlrUnit(60);

$nota->addItem($item);

//Chamada para incluir a nota no sankhya
dump($api->incluirNota($nota));