20% OFF para compra e renovaÇÃo »

Autor Tópico: Classe de Biblioteca Externa  (Lida 1146 vezes)

frservicos

  • Novato
  • *
  • Mensagens: 48
    • Email
Classe de Biblioteca Externa
« Online: Outubro 18, 2017, 11:12:11 am »
Tenho esse codigo em uma aplicação blank: require('../_lib/vendor/autoload.php');


$sql ="SELECT
   empresa_emitente.cnpj,
   empresa_emitente.razao_social,
   empresa_emitente.contato_nome,
   empresa_emitente.contato_telefone,
   empresa_emitente.contato_cpf,
   ped_pagamento.codigo,
   ped_pagamento.vencimento,
   ped_pagamento.valor
FROM
   form_pedido LEFT OUTER JOIN empresa_emitente ON form_pedido.cliente = empresa_emitente.codigo
   LEFT OUTER JOIN ped_pagamento ON form_pedido.pedido_id = ped_pagamento.pedidoid
WHERE
   (form_pedido.pedido_id = '[par1]')";

sc_lookup(dats,$sql);

$cnpj = {dats[0][0]};
$razaosocial = {dats[0][1]};
$contatoNome = {dats[0][2]};
$contatoTelefone = {dats[0][3]};
$contatoCpf = {dats[0][4]};


$j = count($dats);

for ($i = 0; $i < $j; $i++) {

$codigoPag = {dats[$i][5]};
$vencimento = {dats[$i][6]};
$valorVenc = {dats[$i][7]};
 

 
$clientId = 'Client_Id_d96e10649fb37d307e7a042c14476d3b6ef32843'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)
$clientSecret = 'Client_Secret_1460a5c80cbf646786a5cc5b2702fcbc83cfb08c'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)
 
$options = [
  'client_id' => $clientId,
  'client_secret' => $clientSecret,
  'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)
];
 
$item_1 = [
    'name' => 'Serviço Fatura Numero:', // nome do item, produto ou serviço
    'amount' => 1, // quantidade
    'value' => $valorVenc // valor (1000 = R$ 10,00)
];
 
 
$items =  [
    $item_1
];

$body  =  [
    'items' => $items
];
try {
   
    $api = new Gerencianet($options);
    $charge = $api->createCharge([], $body);
   print_r($charge);
   
} catch (InvalidArgumentException $e) {
    print_r($e->code);
    print_r($e->error);
    print_r($e->errorDescription);
} catch (Exception $e) {
    print_r($e->getMessage());
}   
   
}// Fecha Comando ( For )



Porém ele esta me retornando o seguinte erro: Fatal error: Uncaught Error: Class 'Gerencianet' not found in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php:1566 Stack trace: #0 C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php(1923): blank_Fatura_apl->controle() #1 {main} thrown in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\ProjetoADM\blank_Fatura\index.php on line 1566

Como faço o uso desse Classe Gerencianet ja que o erro me mostra que esta procurando na pasta errada?

Haroldo

  • Expert
  • *****
  • Mensagens: 8592
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Classe de Biblioteca Externa
« Responder #1 Online: Outubro 18, 2017, 06:16:21 pm »
Esse código não rola em biblioteca externa nem na interna.

Ronyan Alves

  • Administrator
  • Expert
  • *****
  • Mensagens: 979
Re:Classe de Biblioteca Externa
« Responder #2 Online: Outubro 19, 2017, 11:07:07 am »
Se tiver namespace não funciona.
--

Ronyan Alves
Equipe Scriptcase

Bruno P

  • Novato
  • *
  • Mensagens: 16
  • WW Development - Consultoria em dsv. WEB
    • Email
Re:Classe de Biblioteca Externa
« Responder #3 Online: Abril 18, 2018, 11:48:42 am »
Ótimo não funcionar, agora é me virar pra integrar o o projeto do NFEphp com o scriptcase.... Não da pra fazer as coisas do jeito "correto" tem que ser tudo na gambiarra mesmo.

WW Development
Consultoria em Desenvolvimento Web
bprece@gmail.com

Robson

  • Novato
  • *
  • Mensagens: 39
  • Esse cara sou eu!
Re:Classe de Biblioteca Externa
« Responder #4 Online: Abril 18, 2018, 12:21:56 pm »
Boa tarde!

Já tentou fazer no métodos PHP?

Pode ser que dê certo.
Deus é fiel!

Bruno P

  • Novato
  • *
  • Mensagens: 16
  • WW Development - Consultoria em dsv. WEB
    • Email
Re:Classe de Biblioteca Externa
« Responder #5 Online: Abril 18, 2018, 02:46:14 pm »
Boa Tarde, na verdade funciona, porém a instanciação deve ser realizada com o namespace completo.
Exemplo:
      sc_include_library("sys", "bblioteca", "/nfephp-org/sped-efdreinf/src/Factories/Classe.php");

     $instancia = new NFePHP\EFDReinf\Factories\Classe($param);

Para auxiliar, após realizar o include da biblioteca, utilize este comando:
      print_r(get_declared_classes());
Que irá exibir todas as classes que foram dadas include, assim será mais fácil de saber se a sua biblioteca foi incluída ou não, além de já exibir o namespace que poderá utilizar na instanciação.

WW Development
Consultoria em Desenvolvimento Web
bprece@gmail.com

Kleyber

  • Expert
  • *****
  • Mensagens: 3118
    • TK Informídia
Re:Classe de Biblioteca Externa
« Responder #6 Online: Abril 18, 2018, 09:18:06 pm »
Aconselho fazer o curso do Jorge Popelnitski que trata sobre como usar o NFEPHP no Scriptcase. Veja em: https://icentro.info/training/
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão

Robson

  • Novato
  • *
  • Mensagens: 39
  • Esse cara sou eu!
Re:Classe de Biblioteca Externa
« Responder #7 Online: Abril 19, 2018, 01:18:28 pm »
Aconselho fazer o curso do Jorge Popelnitski que trata sobre como usar o NFEPHP no Scriptcase. Veja em: https://icentro.info/training/

Tentei fazer o cadastro lá, não faz nem a pau!  https://icentro.info/training/login/signup.php?  "o recaptcha está bugado!"
De qualquer forma valeu pela dica.
Deus é fiel!

mjg1909

  • Novato
  • *
  • Mensagens: 19
    • Email
Re:Classe de Biblioteca Externa
« Responder #8 Online: Abril 19, 2018, 01:51:57 pm »
Eu também estava com essa dificuldade ao tentar utilizar a biblioteca PHPProject (https://github.com/PHPOffice/PHPProject).

Consegui utilizar a biblioteca somente quando inclui o namespace (PhpOffice\PhpProject) ao instanciar os objetos:
assim: new \PhpOffice\PhpProject\PHPProject();
ao invés de: "new PHPProject()";
Obs: O namespace é declarado no início do arquivo PHPProject.php (namespace PhpOffice\PhpProjec;) da biblioteca em questão.

Abaixo trecho do código do método php onde utilizo a biblioteca PPHProject. As linhas comentada com *** foram adaptadas para o ScriptCase:
//** FUNCIONA USANDO A MACRO SC_INCLUDE_LIBRARY
//include_once 'Sample_Header.php';
sc_include_library("prj", "PhpProject", "/PHPProject-develop/samples/Sample_Header.php", "true", "true");

//*** FUNCIONA USANDO A MACRO SC_INCLUDE_LIBRARY
//use PhpOffice\PhpProject\PHPProject;
sc_include_library("prj", "PhpProject", "/PHPProject-develop/src/PhpProject/Autoloader.php", "true", "true");
   
// Create new PHPProject object
echo date('H:i:s') . ' Create new PHPProject object'.EOL;
//**** FUNCIONA NO SCRITPCASE ALTERANDO ABAIXO, INSERINDO:"\PhpOffice\PhpProject")
//$objPHPProject = new PHPProject();
$objPHPProject = new \PhpOffice\PhpProject\PHPProject();

// Set properties
echo date('H:i:s') . ' Set properties'.EOL;

Abraço. Marcelo.

Boa Tarde, na verdade funciona, porém a instanciação deve ser realizada com o namespace completo.
Exemplo:
      sc_include_library("sys", "bblioteca", "/nfephp-org/sped-efdreinf/src/Factories/Classe.php");

     $instancia = new NFePHP\EFDReinf\Factories\Classe($param);

Para auxiliar, após realizar o include da biblioteca, utilize este comando:
      print_r(get_declared_classes());
Que irá exibir todas as classes que foram dadas include, assim será mais fácil de saber se a sua biblioteca foi incluída ou não, além de já exibir o namespace que poderá utilizar na instanciação.

jorgepopel

  • Expert
  • *****
  • Mensagens: 759
    • iCentro Tecnologia e Sistemas
    • Email
Re:Classe de Biblioteca Externa
« Responder #9 Online: Abril 20, 2018, 11:16:14 am »
Aconselho fazer o curso do Jorge Popelnitski que trata sobre como usar o NFEPHP no Scriptcase. Veja em: https://icentro.info/training/

Tentei fazer o cadastro lá, não faz nem a pau!  https://icentro.info/training/login/signup.php?  "o recaptcha está bugado!"
De qualquer forma valeu pela dica.


Robson, o site estava com alguns problemas na execução do script com o captcha.
Qualquer coisa me chame pelo email: cursos@icentro.info