Comments (66)
seria la suma de ese valor unitario * cantidad
from demo.
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.
trato de reemplazar esto por el array
from demo.
lo cambie asi y si me genera el archivo xml y cdr de respuesta pero me bota un error siempre
from demo.
cual es el error que te muestra.
from demo.
ya no me manda el mensaje de confirmacion, si no que se cuelga ahi
from demo.
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.
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.
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.
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.
mmm eso no sabia, y los de "tipo afectacion igv = 10" =
10,GRAVADO - OPERACION ONEROSA.
son solo para productos o servicios ?
from demo.
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.
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.
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.
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.
ahh ya te entendi entonces de esta venta mi operacion gravada es 293.8
from demo.
gracias amigo no se donde estaria sin tu ayuda :)
from demo.
ahhh no estoy mal esos mis precios ya tienen igv :'(
from demo.
te refieres a ese que dice "valor unitario" verdad ?
from demo.
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.
me agrada tu idea yo te apoyo, entonces si es la suma de "ese valor unitario"?
from demo.
ya ahora si la tengo clara
from demo.
gracias
from demo.
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
from demo.
creo que eso es mas complejo ya
from demo.
igual como muestras estado ABIERTA de la misma forma, cuando recibas la respuesta de SUNAT guardas el código y descripción
from demo.
from demo.
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.
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.
me bota este error :(
from demo.
tienes la ultima version del codigo?
from demo.
si hoy mismo lo volvi a descargar
from demo.
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.
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
from demo.
pero el detalle es que no puede estar afuera ya que tiene que el reporte tiene que ser dinamico
from demo.
y en que parte intentas mostar el PDF, deberia estar tal vez en un iframe
from demo.
bueno te explico detalladamente quizas me das otra solucion
from demo.
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)
from demo.
con ese codigo javascript habro el frmventas y envio el codigo de la venta para obtener los datos
from demo.
al darle click sobre eso me habre esta ventana con los datos de esa factura
from demo.
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.
ahora si reemplazo ese codigo del frmventas por el codigo que hay en example/report/factura.php
me sale esto :/
from demo.
y al darle imprimir cuando es una ventana modal me da esta opcion es un pop-up creo
from demo.
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.
y ese codigo donde lo aplicaria?
from demo.
cuando recibes la respuesta del PDF, reemplazarla en la linea donde lanzas la ventana y actualmente te sale todo esos garabatos
from demo.
lo coloque asi pero sigue botando esos garabatos
from demo.
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.
ahora no ocurre nada al darle click
from demo.
from demo.
he actualizado el script.
try{
$pdf = $utl->getPdf($invoice);
echo '<script>window.open("data:application/pdf," + escape("'.$pdf.'"));</script>';
}
catch (Exception $e){
}
from demo.
entonces vuelvo a descargar greenter-sample?
from demo.
solo es esta linea:
echo '<script>window.open("data:application/pdf," + escape("'.$pdf.'"));</script>';
from demo.
nada :(
from demo.
amigo si solo quiero guardar el archivo pdf y no abrirlo como seria el codigo
from demo.
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.
en la linea Util::writePdf($data, $pdf->getName().'.pdf');
, la variable $pdf no existe alli debe ir el nombre del PDF
from demo.
en ese caso seria
util::writePdf($data, $data->getName().'.pdf');
pero igual no funciona, data vendira a ser $invoice
from demo.
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.
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.
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.
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.
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.
y con alguno de ellos ya aplciaste las librerias greenter ? cual me recomendarias para volver a hacer desde cero
from demo.
el detalle es que tiene que ser dinamico y eso me complica un poco ya que mi conocimiento es limitado
from demo.
Con cualquiera se puede usar, pero aun no lo he realizado, aunque pretendo usar Symfony.
from demo.
Related Issues (20)
- Nombre del archivo ZIP no es correo HOT 1
- ERROR EN FECHA DE COMUNICACION DE BAJAS HOT 4
- Facturacion Colombia HOT 1
- error \SoapClient.php on line 19 HOT 1
- error fetching http headers, en resúmenes HOT 3
- status-cdr.php ticket no existe HOT 1
- 3277 - La sumatoria del total valor de venta - operaciones gravadas de línea no corresponden al total
- Factura como anticipo HOT 11
- Nota de credito al contado HOT 6
- Factura con retencion para emitir a empresa que es agente de retención. HOT 2
- Factura credito con detraccion importe neto
- Condición para la forma de pago en la factura
- Generar Guia remision Transportista HOT 7
- Baja de Guias de Remision HOT 2
- Nuevas guias de remision HOT 1
- Consulta de ticket de modo prueba HOT 12
- En el setCodProducto iria un codigo interno o codProducto segun Sunat? HOT 2
- El setSubTotal es el total de la venta sin impuesto? HOT 7
- Consulta: Comunicación de Baja y Resumen diario (Estado y tiempo limite de envio) HOT 5
- Descuento Lineal HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from demo.