Closed abelnexus closed 6 years ago
amigo tengo esas 2 tablas ventas y detalle-ventas en detalle_ventas estan los items de cada venta, como meteria esos items en:
alguna sugerencia ?
si usas pdo puedes hacerlo de esta forma.
$invoice = new Invoice();
$items = [];
$result = $con->query("SELECT...");
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
$detail = new SaleDetail();
$detail->setDescripcion($row["producto"])
->setCantidad($row["cantidad"]);
// llenar los demas campos
$items[] = $detail;
}
$invoice->setDetails($items);
lo estoy tratando de implementar, pero tengo un grave error :'( mi arquitectura es mvc Y poo y no puedo incluirle la carpeta "vendor/autoload.php"
si factu es la carpeta raiz de tu projecto seria algo asi.
include __DIR__.'/../../vendor/autoload.php';
si ya lo intente y no me deja, solo puedo incluirlo en las vistas
el error indica que no puede abrir el autoload.php, tiene que ser problema de la ruta. Puedes colocar la ruta absoluta para verificar que si lo toma.
es un poco dificil de explicar pero estoy seguro que concoes esta arquitectura
este es el controlador
lo que intento hacer es pasarle tus librerias aca al controlador de ventas para ahi mismo crear la factura xml
pero cuando lo coloco este controlador deja de funcionar
usas algún framework, parece codeigniter, si es ese puedes guiarte aqui https://serprogramador.es/integrar-composer-a-codeigniter/
desgraciadamente no es codeigniter :( es un framework reciclado
ya logre incluirlo :D
ahora me surge un problemilla mas :'v
cuando uso un evento para abrir esa pagina y ahi le meto el codigo del reporte de factura sale eso D:
eso con que lo generas.
todo ese formulario al momentor de darle submit utilizo este script para llamar a otra funcion
y esa funcion es imprimir ticket
lo que hace eso es abrirme esta pagina
y en esa pagina pongo el codigo del reporte
enviandole el codigo de ultima venta registrada de hecho todo ocurre al recibir por mensaje la confirmacion que se ingreso correctamente en la bd y me captura el codigo de ultima venta y eso lo envia al print_ticket.php para sacar los datos desde ese codigo
para hacer este sistema estoy reciclando otros 2 sistemas de uno su framework y del otro sus stylos te enviare a tu correo ese sistema
tal vez no has colocado los headers adecuados, por ejemplo si es pdf.
header("Content-type: application/pdf");
header("Content-Disposition: inline;filename='downloaded.pdf'");
echo $contentPdf;
ya te envie a tu correo
te volvi a enviar
lo siento, no me llego ningun adjunto.
ahora se pudo ?
amigo estas ?
he podido abrir el archivo, pero son varias configuraciones que se tiene que realizar para poderlo probar, ahora mismo no cuento con el tiempo. Primero debes probar generando el pdf y guardandolo en el servidor, luego fijate en el content-type envias, parece que mostraras 2 resultados (la respuesta de sunat y el pdf) en una mismo request.
no puedo lograrlo :( puedo generar los archivos y guardarlos(xml y cdr) pero no se como mostrar el mensaje de que se envio y recibio
de alguna manera ya me salio pero no como deseo: public function generar_factura($data) { $see = Util::getSee(SunatEndpoints::FE_BETA); $res = $see->send($data); Util::writeXml($data, $see->getFactory()->getLastXml()); if ($res->isSuccess()) { $cdr = $res->getCdrResponse(); Util::writeCdr($data, $res->getCdrZip()); $this->sms = 'aceptado por sunat'; Util::getResponseFromCdr($cdr);
} else {
var_dump($res->getError());
}
return $this->sms;
}
solo recibo ese mensaje de "aceptado por sunat" :'''v pero yo quiero que me diga la "La Factura numero F001-123, ha sido aceptada"
puedes obtenerlo del cdr,
//...
$cdr = $res->getCdrResponse();
Util::writeCdr($data, $res->getCdrZip());
$this->sms = $cdr->getDescription(); // La Factura ... ha sido aceptada.
ya lo consegui muchas gracias :D