Giter Club home page Giter Club logo

Comments (66)

giansalex avatar giansalex commented on June 28, 2024 1

seria la suma de ese valor unitario * cantidad

from demo.

abelnexus avatar abelnexus commented on June 28, 2024 1

ya lo consegui amigo me habre el pdf generado con este codigo

                <tr>
                    <td class="text-center"><?=$valor['codigo']?></td>
                    <td class="text-center"><?=$valor['fecha']?></td>
                    <td class="text-center"><?=$valor['tipo_doc']?></td>
                    <td class="text-center">
                      <a href="../files/20491037785-01-<?=$valor['serie']?>-<?=$valor['numeracion']?>.pdf" target='_blank'>
                          <?=$valor['serie']?> - <?=$valor['numeracion']?>
                        </a>
                    </td>
                    <td><?=$valor['cliente']?></td>
                                   <td>  

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

trato de reemplazar esto por el array
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

lo cambie asi y si me genera el archivo xml y cdr de respuesta pero me bota un error siempre
captura

from demo.

giansalex avatar giansalex commented on June 28, 2024

cual es el error que te muestra.

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ya no me manda el mensaje de confirmacion, si no que se cuelga ahi
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

creo saber de que se trata el error es por mi documento xml esta mal pero no me envia el mensaje de error por eso se cuelga

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ya lo solucione, el error era que en mi bd la unidad de medida estaba como "niu" y solo acepta "NIU" en mayuscula al igual que "PEN"

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

aun asi hay errores que no entiendo, por ejejmplo al momento de crear al $invoice:
->setMtoOperGravadas(0)
->setMtoOperExoneradas(0)
->setMtoOperInafectas(0)
esos valores deben ser 0 por que en mi factura solo debe haber el total, el subtoal y el igv
pero sunat me rechaza diciendo que no peude estar en cero :/

from demo.

giansalex avatar giansalex commented on June 28, 2024

pero tus facturas tienen igv, entonces debe haber Operaciones Gravadas, que es la suma del valor de venta de los items que tienen tipo de afectacion de IGV = 10

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

mmm eso no sabia, y los de "tipo afectacion igv = 10" =

10,GRAVADO - OPERACION ONEROSA.
son solo para productos o servicios ?

from demo.

giansalex avatar giansalex commented on June 28, 2024

eso forma parte de temas de contabilidad, segun me informaron hay productos que son exonerados o inafectos a IGV, los servicios creo siempre son gravados con igv

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

entonces las gravadas vienen a ser el precio del producto - igv y la sumatoria de todos los items
mmmm ahora como saco eso de mi array D:

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

sunat es una m.. no se entiende sus explicaciones,
o se refiere al precio con el tu compraste el producto ? creo que ese es el valor de venta

from demo.

giansalex avatar giansalex commented on June 28, 2024

es que esos temas lo debe saber generalmente un contador.
Para obtener total gravados se suma el valor venta de cada ítem, el valor venta es cantidad*precio unitario (sin igv).

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ahh ya te entendi entonces de esta venta mi operacion gravada es 293.8
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

gracias amigo no se donde estaria sin tu ayuda :)

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ahhh no estoy mal esos mis precios ya tienen igv :'(

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

te refieres a ese que dice "valor unitario" verdad ?
factura-spot

from demo.

giansalex avatar giansalex commented on June 28, 2024

ese valor unitario vendría al precio sin igv, he estado pensando en crear un Github Pages, donde se puedan publicar estas cosas y que se pueda crear una guía para todos. También conertirlos manuales de sunat a paginas web y con la opcion que da github puedan editar o agregar cosas.

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

me agrada tu idea yo te apoyo, entonces si es la suma de "ese valor unitario"?

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ya ahora si la tengo clara

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

gracias

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

una duda mas amigo quizás tengas alguna idea, tengo esta tabla y quisiera que en la columna estado se vea el estado del xml si ah sido aceptado o rechasado ya sea leendolo directamente desde el archivo xml o guardando la respuesta de sunat en la bd
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

creo que eso es mas complejo ya

from demo.

giansalex avatar giansalex commented on June 28, 2024

igual como muestras estado ABIERTA de la misma forma, cuando recibas la respuesta de SUNAT guardas el código y descripción

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

llegue a eso maximo uso este codigo:

require 'vendor/autoload.php';

$util = Util::getInstance();

$invoice = $util->getInvoice();

try {
$pdf = $util->getPdf($invoice);
$util->showPdf($pdf, $invoice->getName().'.pdf');
} catch (Exception $e) {
var_dump($e);
}

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ahora si utilizo este codigo:
use Greenter\Model\Sale\Document;
use Greenter\Model\Sale\Invoice;
use Greenter\Model\Sale\SaleDetail;
use Greenter\Model\Sale\Legend;
use Greenter\Ws\Services\SunatEndpoints;
use Greenter\Model\Client\Client;
use Greenter\Model\Company\Company;
use Greenter\Model\Company\Address;

$client = new Client();
$client->setTipoDoc('6')
->setNumDoc('10486113532')
->setRznSocial('FERNANDO ABEL');
// Emisor
$address = new Address();
$address->setUbigueo('150101')
->setDepartamento('LIMA')
->setProvincia('LIMA')
->setDistrito('LIMA')
->setUrbanizacion('NONE')
->setDireccion('AV LS');

$company = new Company();
$company->setRuc('20000000001')
->setRazonSocial('EMPRESA SAC')
->setNombreComercial('EMPRESA')
->setAddress($address);
// Venta
$invoice = new Invoice();
$invoice
->setFecVencimiento(new DateTime())
->setTipoDoc('01')
->setSerie('F001')
->setCorrelativo('000001')
->setFechaEmision(new DateTime())
->setTipoMoneda('PEN')
->setClient($client)
->setMtoOperGravadas(100)
->setMtoIGV(18)
->setMtoImpVenta(100)
->setCompany($company);

$item1 = new SaleDetail();
$item1
->setUnidad('NIU')
->setCantidad(2)
->setDescripcion('LANA')
->setIgv(18)
->setTipAfeIgv('10')
->setMtoValorVenta(82)
->setMtoValorUnitario(100)
->setMtoPrecioUnitario(100);

$legend = new Legend();
$legend->setCode('1000')
->setValue('SON CIEN CON 00/100 SOLES');

$invoice->setDetails($item1)
->setLegends([$legend]);

try {
$pdf = Util::getPdf($invoice);
Util::showPdf($pdf, $invoice->getName().'.pdf');
} catch (Exception $e) {
var_dump($e);
}

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

me bota este error :(

captura

from demo.

giansalex avatar giansalex commented on June 28, 2024

tienes la ultima version del codigo?

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

si hoy mismo lo volvi a descargar

from demo.

giansalex avatar giansalex commented on June 28, 2024

el codigo que muestra a cambiado, ahora se hace asi.

// $invoice = $util->getInvoice();

$util = Util::getInstance();

try {
    $pdf = $util->getPdf($invoice);
    $util->showPdf($pdf, $invoice->getName().'.pdf');
} catch (Exception $e) {
    var_dump($e);
}

tambien elimina los archivos de cache

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

sigue el mismo error, parece que es alguna interferencia con mi controlador o mi framework por que si lo habro directamente si genera el pdf
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

pero el detalle es que no puede estar afuera ya que tiene que el reporte tiene que ser dinamico

from demo.

giansalex avatar giansalex commented on June 28, 2024

y en que parte intentas mostar el PDF, deberia estar tal vez en un iframe

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

bueno te explico detalladamente quizas me das otra solucion

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

en esa pagina frmventas hay un diseño que te muestra algo para imprimir (trato de mostrar el reporte pdf en vez de ese diseño para imprimir)
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

con ese codigo javascript habro el frmventas y envio el codigo de la venta para obtener los datos
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

al darle click sobre eso me habre esta ventana con los datos de esa factura
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

estaba pensando quizas darle ahi mismo la apariencia de la factura yde ahi luego imprimirlo o bien convertilo en pdf directamente con la funcion de goolge chrome , pero el detalle es que como hare para lo del codigo qr no tengo ni la ams minima idea de como se genera eso

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ahora si reemplazo ese codigo del frmventas por el codigo que hay en example/report/factura.php
me sale esto :/
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

y al darle imprimir cuando es una ventana modal me da esta opcion es un pop-up creo
captura

from demo.

giansalex avatar giansalex commented on June 28, 2024

EL problema debe ser que los estas mostrando como si fuera un HTML y no lo es, para abrirlo en una ventana puedes usarse
window.open("data:application/pdf," + escape(pdfString));

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

y ese codigo donde lo aplicaria?

from demo.

giansalex avatar giansalex commented on June 28, 2024

cuando recibes la respuesta del PDF, reemplazarla en la linea donde lanzas la ventana y actualmente te sale todo esos garabatos

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

lo coloque asi pero sigue botando esos garabatos
captura

from demo.

giansalex avatar giansalex commented on June 28, 2024

el problema es que ya no debes llamar $util->showPdf(),
pdfString no existe esa variable, tiene que ser $pdf.

try{
$pdf = $utl->getPdf($invoice);
echo '<script>window.open("data:application/pdf," + escape("'.$pdf.'"));</script>';
}
catch (Exception $e){
}

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

ahora no ocurre nada al darle click
captura

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

captura

from demo.

giansalex avatar giansalex commented on June 28, 2024

he actualizado el script.

try{
$pdf = $utl->getPdf($invoice);
echo '<script>window.open("data:application/pdf," + escape("'.$pdf.'"));</script>';
}
catch (Exception $e){
}

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

entonces vuelvo a descargar greenter-sample?

from demo.

giansalex avatar giansalex commented on June 28, 2024

solo es esta linea:

echo '<script>window.open("data:application/pdf," + escape("'.$pdf.'"));</script>';

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

nada :(

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

amigo si solo quiero guardar el archivo pdf y no abrirlo como seria el codigo

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

utilizo ese codigo y me genera el xml y el cdr pero no el pdf
$util = Util::getInstance();
// Envio a SUNAT.
$see = $util->getSee(SunatEndpoints::FE_BETA);
$res = $see->send($data);
Util::writeXml($data, $see->getFactory()->getLastXml());

      if ($res->isSuccess()) {
      /**@var $res \Greenter\Model\Response\BillResult*/
     $cdr = $res->getCdrResponse();
     Util::writeCdr($data, $res->getCdrZip());
     $this->sms = $util->getResponseFromCdr($cdr);  

     Util::writePdf($data, $pdf->getName().'.pdf');  
                          
     } else {
     $this->sms = $res->getError();
     }
	return $this->sms;

from demo.

giansalex avatar giansalex commented on June 28, 2024

en la linea Util::writePdf($data, $pdf->getName().'.pdf'); , la variable $pdf no existe alli debe ir el nombre del PDF

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

en ese caso seria
util::writePdf($data, $data->getName().'.pdf');
pero igual no funciona, data vendira a ser $invoice

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

si lo utilizo asi si me crea el pdf, xml y cdr pero no me bota el mensaje ($this->sms)
$util = Util::getInstance();
// Envio a SUNAT.
$see = $util->getSee(SunatEndpoints::FE_BETA);
$res = $see->send($data);
Util::writeXml($data, $see->getFactory()->getLastXml());

      if ($res->isSuccess()) {
      /**@var $res \Greenter\Model\Response\BillResult*/
     $cdr = $res->getCdrResponse();
     Util::writeCdr($data, $res->getCdrZip());
     $this->sms = $util->getResponseFromCdr($cdr);
     $pdf = $util->getPdf($data);    
     $util->showPdf($pdf, $data->getName().'.pdf');                                                    
     } else {
     $this->sms = $res->getError();
     }
	return $this->sms;

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

amigo ya puedo guardar el pdf sin que me bote error, lo consegui eliminado de la clase
util - showpdf- echo content.
ahora me crea el xml el cdr y el pdf.
alguna manera de abrir ese pdf ya creado ? me refiero a un evento que me habra el archivo recien creado

from demo.

giansalex avatar giansalex commented on June 28, 2024

para mostrarlo en el navegador, seria cuestión que abras el link del pdf generado en el servidor. en otra pestaña, o en un modal con iframe

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

de alguna manera funciona pero siento que mi codigo esta muy mal :´( no es como quisiera siento que en cualqier momento puede fallar algo

from demo.

giansalex avatar giansalex commented on June 28, 2024

Si parte de ese orden y escalabilidad te lo provee los framework que se basan en algun patrón de diseño y arquitectura, entre ellos mi favorito es Symfony, para REST API uso SlimFramework

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

y con alguno de ellos ya aplciaste las librerias greenter ? cual me recomendarias para volver a hacer desde cero

from demo.

abelnexus avatar abelnexus commented on June 28, 2024

el detalle es que tiene que ser dinamico y eso me complica un poco ya que mi conocimiento es limitado

from demo.

giansalex avatar giansalex commented on June 28, 2024

Con cualquiera se puede usar, pero aun no lo he realizado, aunque pretendo usar Symfony.

from demo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.