Jump to content
thecruzkta

Integração PHP + TOTVS

Recommended Posts

Fala galera, blz? Sou novo no fórum e caso já exista um tópico deste assunto peço perdão.

Estou fazendo um sistema em PHP e cheguei em um determinado momento que preciso fazer a gravação de um orçamento no sistema TOTVS. Para isso, levantei o webservice padrão da TOTVS. Porém não consigo nem fazer a comunicação do meu sistema com o webservice. Na verdade, achei alguns códigos em minhas pesquisas porém nenhum deles funcionou. Estou procurando um "how-to". Caso alguém possa me ajudar.

Obrigado Galera!

Share this post


Link to post
Share on other sites

Se há um web service, use o SoapUI para testar a comunicação. Se não funcionar no SoapUI, o problema é o web service.

Share this post


Link to post
Share on other sites

Como está tentando consumir o serviço através do php?

Share this post


Link to post
Share on other sites

esse foi o último código que teste.

<?php



$companyId = 1;
$user = "";
$password = "";
$name = "NOME_DO_DATASET";
$fields = array("item"=>array('proposta'));
$const1 =  array("contraintType"=>"MUST", "fieldName"=>"metadata#active", "initialValue"=>"true", "finalValue"=>"true");
$const2 =  array("contraintType"=>"MUST", "fieldName"=>"NOME_DO_CAMPO", "initialValue"=>"VALOR", "finalValue"=>"VALOR");
$constraintsDto = array("item"=>array($const1, $const2));
//$order = array("item"=>"CAMPO_PARA_ORDENAR");
require_once('lib/nusoap.php');
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
// Definição da localização do arquivo WSDL
$wsdl = "http://IP_DO_SERVER/ws/CRDORCAMENTO.apw?wsdl";


// criação de uma instancia do cliente
$client = new nusoap_client($wsdl, true);


// verifica se ocorreu erro na criação do objeto
$err = $client->getError();
if ($err) {
  echo "Erro no construtor<pre>".$err."</pre>";
}


// chamada do método SOAP
//$result = $client->call('CRDORCAMENTO',array($companyId, $user, $password, $name, $fields, $constraintsDto, $order));


$result = $client->call('CRDORCAMENTO',array($companyId, $user, $password, $name, $fields, $constraintsDto));


// verifica se ocorreu falha na chamada do método
if ($client->fault) {
  echo "Falha<pre>".print_r($result)."</pre>";
} else {
  // verifica se ocorreu erro
  $err = $client->getError();
  if ($err) {
    echo "Erro<pre>".$err."</pre>";
  } else {
    // motra retorno
    echo "<pre>";
    print_r($result);
    echo "</pre>";
  }
}
Edited by Alaerte Gabriel

Share this post


Link to post
Share on other sites

nusoap é uma biblioteca desenvolvida para o PHP 4. Migre para a biblioteca SOAP do PHP

Share this post


Link to post
Share on other sites

Olá amigo

Por favor, me diga uma coisa.

Você conseguiu se comunicar com o Web Service da Totvs utilizando PHP?

Estou tendo o mesmo problema que você.

Não consigo me conectar no Web Service com o PHP.

Acredito que não devo estar passando corretamente a string com usuário e senha.

Se puder me dar uma dica ficarei muito feliz.

Meus olhos já estão ardendo de tanto ler em busca de uma solução.

Até mais amigo.

;)

Edited by Gabriel Heming
remover o quote

Share this post


Link to post
Share on other sites

Por gentileza. Alguém conseguiu resolver esse problema? Estou na mesma situação. No SOAPUI funciona de boa. Quando tento no PHP, da erro de autorização. Acredito que estamos passando usuário e senha de forma incorreta também. 

Share this post


Link to post
Share on other sites

Conforme as Regras e Orientações do Fórum de PHP, crie um novo tópico para sua dúvida. Além disso, decreva-a o máximo possível. Pois, como pode ver, neste tópico, não foram postados todos os códigos após as solicitações.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • By manoaj
      Boa noite pessoal!
      Alguém ai entente dos checkouts do Mercado Pago pra me explicar como eu obtenho os dados da preferência criada através da url disponível na API
      https://api.mercadopago.com/checkout/preferences/:id?access_token=ACCESS_TOKEN_ENV  
    • By GustavoJacob15
      Quando eu executo esse fonte, trás o resultado triplicado
       
       
       
      SELECT CN9_NUMERO AS 'CONTRATO', CONVERT(DATE, SUBSTRING(CN9_DTINIC, 1, 4) + '-' + SUBSTRING(CN9_DTINIC, 5, 2) + '-' + SUBSTRING(CN9_DTINIC, 7, 2)) AS 'DT INICIO', CONVERT(DATE, SUBSTRING(CN9_DTFIM, 1, 4) + '-' + SUBSTRING(CN9_DTFIM, 5, 2) + '-' + SUBSTRING(CN9_DTFIM, 7, 2)) AS 'DT FIM', CN9_NUMERO AS 'CENTRO DE CUSTO', CN9_ZZEMTI AS 'ART EMITIDA', CONVERT(DATE,CN9_ZZDTVA) AS 'VALIDADE DA ART', CN9_VLATU AS 'VALOR CONTRATO', CNC_CLIENT AS 'CLIENTE', CNC_LOJACL AS 'LOJA CLIENTE', A1_NOME AS 'NOME CLIENTE', CNE_PEDIDO AS 'PEDIDO', CNE_PERC AS 'PERCENTUAL', C6_NOTA AS 'NOTA FISCAL', E1_NUM AS 'NUMERO', CNE_REVISA, CONVERT(DATE,E1_BAIXA) AS 'DT BAIXA', CNF_VLPREV AS 'VALOR PREVISTO', CNF_PARCEL AS 'PARCELA', CONVERT(DATE,CNF_DTVENC) AS 'VENCIMENTO' FROM CN9010 CN9 INNER JOIN CNC010 CNC ON CNC.CNC_NUMERO = CN9.CN9_NUMERO AND CNC.D_E_L_E_T_ ='' INNER JOIN SA1010 A1 ON CNC.CNC_CLIENT = A1.A1_COD AND CNC.CNC_LOJACL = A1.A1_LOJA AND A1.D_E_L_E_T_ ='' INNER JOIN CNF010 CNF ON CNF.CNF_CONTRA = CN9.CN9_NUMERO AND CN9.D_E_L_E_T_='' INNER JOIN CNE010 CNE ON CNE.CNE_CONTRA = CNF.CNF_CONTRA AND CNE.D_E_L_E_T_='' INNER JOIN SC6010 C6 ON C6.C6_NUM = CNE.CNE_PEDIDO AND C6.D_E_L_E_T_ ='' INNER JOIN SE1010 E1 ON E1.E1_NUM = C6.C6_NOTA AND E1.D_E_L_E_T_ ='' AND E1.E1_TIPO ='NF' WHERE CN9.D_E_L_E_T_='' AND CN9_NUMERO = '201000272' AND CN9_REVISA = '002' AND CN9.D_E_L_E_T_='' AND CNF_CONTRA = '201000272' AND CNF_REVISA = '002' AND CNF.D_E_L_E_T_='' AND CNE_CONTRA = '201000272' AND CNE_REVISA = '002' AND CNE.D_E_L_E_T_='' AND E1_PREFIXO = 'SRV' AND CNC_NUMERO = '201000272' AND CNC_REVISA = '002' GROUP BY CN9_NUMERO,CN9_REVISA,CN9_DTINIC,CN9_DTFIM,CN9_NUMERO,CN9_ZZEMTI,CN9_ZZDTVA,CN9_VLATU,CNC_CLIENT,CNC_LOJACL, A1_NOME, CNE_PEDIDO, CNE_PERC, C6_NOTA, E1_NUM, CNE_REVISA, E1_BAIXA, CNF_VLPREV, CNF_PARCEL, CNF_DTVENC  
    • By Jiraya Tupiniquim
      Preciso de um programador experiente, pra integrar o HTML com o OPEN CART...
    • By diegoamferreira
      Bom dia,
       
      Por entender um pouco e gostar muito de programação estou ajudando um amigo a programar algumas consultas sql para retornar KPI's de sua empresa no RM da TOTVS.
       
      Estou travado em uma questão que é adicionar uma coluna de soma acumulativa dos valores totais.
       
      hoje ja tenho a consulta funcionando retornando os valores de venda de cada vendedor:
       
      A3_NOME                                           TOTAL
      DIEGO AUGUSTO                               158641,36
      LUCAS VERGANI                               153615,69
      RODRIGO GUEDES                            103330,38
      FERNANDA SILVESTRE                    71695,48
      ADRIANO PAIVA                                916,5
       
      Para trazer esse resultado minha consulta agrupa todos os pedidos de venda, encontra os vendedores e soma o valor total.
       
      SELECT A3_NOME ,SUM(C6_VALOR) TOTAL FROM SC6010 INNER JOIN SC5010 WITH(NOLOCK) ON C5_FILIAL= C6_FILIAL AND C5_NUM = C6_NUM INNER JOIN SE4010 WITH(NOLOCK) ON C5_CONDPAG = E4_CODIGO AND SE4010.D_E_L_E_T_ = ' ' INNER JOIN SA1010 WITH(NOLOCK) ON C5_CLIENTE = A1_COD AND C5_LOJACLI = A1_LOJA INNER JOIN SA3010 WITH(NOLOCK) ON A3_COD = C5_VEND1 INNER JOIN SB1010 WITH(NOLOCK) ON C6_PRODUTO = B1_COD LEFT JOIN SBM010 WITH(NOLOCK) ON B1_GRUPO = BM_GRUPO AND SBM010.D_E_L_E_T_ = ' ' LEFT JOIN SF4010 WITH(NOLOCK) ON C6_TES = F4_CODIGO AND SF4010.D_E_L_E_T_ = ' ' AND C6_FILIAL = F4_FILIAL JOIN AOV010 AOV WITH(NOLOCK) ON AOV.AOV_CODSEG = A1_CODSEG and AOV.D_E_L_E_T_ = ' ' WHERE SC6010.D_E_L_E_T_ = ' ' AND SC5010.D_E_L_E_T_ = ' ' AND SA1010.D_E_L_E_T_ = ' ' AND SB1010.D_E_L_E_T_ = ' ' and SA3010.D_E_L_E_T_ = ' ' AND E4_DESCRI NOT IN ('BONIFICACAO', 'TROCA', 'BONIFICAÇÃO', 'OUTROS') and F4_TEXTO LIKE '%VENDA%' AND C5_LIBEROK = 'S' AND MONTH(SC5010.C5_EMISSAO) = MONTH(DATEADD(MONTH,-1,GETDATE())) AND YEAR(SC5010.C5_EMISSAO) = YEAR(DATEADD(MONTH,-1,GETDATE())) GROUP BY A3_NOME ORDER BY SUM(C6_VALOR) DESC  
      Porém o que preciso seria um resultado assim:


      A3_NOME                                           TOTAL                              ACUMULADO
      MARCIO AUGUSTO                          158641,36                       158641,36
      JOAO PEREIRA                                 153615,69                        312257,05
      RODRIGO SANTOS                           103330,38                        415587,43  
      FERNANDA CARDOSO                     71695,48                          487282,91
      CLEBER  PAIVA                                 916,5                                 488199,41
       
       
      Não domino muito, o que sei aprendi pesquisando, encontrei formas de fazer isso em outros tópicos, porém nenhum deles tinha outro agrupamento na consulta.
       
      Obrigado.
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.