thegreenter / demo

Ejemplos utilizando Greenter (UBL 2.1, SOAP, Firma digital, PDF, QR)
https://greenter-sample.herokuapp.com
MIT License
60 stars 51 forks source link

consulta #12

Closed abelnexus closed 6 years ago

abelnexus commented 6 years ago

amigo tengo este codigo para obtener el codigo,nombre,y tipo de documento(1,factura,01) captura

abelnexus commented 6 years ago

donde el data[i][1] = nombre(factura) data[i][6] = tipo_documento(01) data[i][1] = codigo(1) //codigo de la bd

abelnexus commented 6 years ago

tengo este otro codigo que me muestra el resultado del anterior codigo captura

abelnexus commented 6 years ago

como veras 'tipo' hace referencia al nombre(factura) y tipo_documento a '03' pero debido a que es el mismo codigo $("#documento option:selected").text(); me muestra el nombre (factura) quiero que me muestre el tipo_documento(03) tienes alguna idea ? captura

giansalex commented 6 years ago

en vez de text seria value

abelnexus commented 6 years ago

la duda es como en este codigo var tipo_documento = $("#documento option:selected").text();
$("#tipodocumento").val(tipo_documento); hago que vaya el data[i][6] por que en var tipo = $("#documento option:selected").text();
$("#tipodoc").val(tipo); va el data[i][1]

abelnexus commented 6 years ago

algo asi ? var tipo_documento = $("#documento option:selected").value(6);
$("#tipodocumento").val(tipo_documento);

abelnexus commented 6 years ago

bueno no se como pero ya me sale usando asi el codigo

captura

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

con este codigo $("#cod").val(codigo);

abelnexus commented 6 years ago

en este imput name="cod" me obtiene el valor '03' por que se selcciono boleta: entocnes ahora busco crear la nota de debito y credito pero usando este mismo esquema captura

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

hay alguna manera de cuando ese imput name="cod" sea '07' con javascript se me abilite o aparescan 4 imputs ? ->setTipDocAfectado('01') ->setNumDocfectado('F001-111') ->setCodMotivo('07') ->setDesMotivo('DEVOLUCION POR ITEM') para poder llenar estos campos ?

abelnexus commented 6 years ago

es posible eso amigo o tengo que hacer en otro php

giansalex commented 6 years ago

tendrias que habilitarlo en el evento onChange, cuando sea 07 o 08, haces visible un div que contenga los 4 inputs

abelnexus commented 6 years ago

este es el on change como seria el codigo captura

giansalex commented 6 years ago

suponiendo que tipo es el que puede ser 07, 08

if (tipo == '07' && tipo == '08')
{
   $("#divInpust").hide();
} else {
   $("#divInpust").show();
}
abelnexus commented 6 years ago

ya me funciona pero hay un detalle: cuando entro a la pagina me aparece visible ya cuando selecciono si es factura o nota de credito recien se oculta o muestra como hago para que sea oculto al cargar la pagina

abelnexus commented 6 years ago

ya lo logre con disply:none :v

abelnexus commented 6 years ago

amigo ayudame con esto, este es mi form form action="<?=URL?>ventas/registrar" class="frm-ventas" method="post" onsubmit="setTimeout(function(){window.location.reload();},5500)"

giansalex commented 6 years ago

y cual es el problema?

abelnexus commented 6 years ago

es posible con javascript cambiar el action=".." despendiendo de el tipo_documento(01-factura) por ejemplo si mi imput tipo_documento="01" me envie a ventas/registrar_factura o si es "03" me envie a ventas/registrar_boleta ya que estoy teniendo problemas al hacer todos los if en uno solo muy lento y largo se hace

giansalex commented 6 years ago

$('#formId').attr('action', 'aqui va la url');

abelnexus commented 6 years ago

mmm no entiendo :'v

abelnexus commented 6 years ago
algo asi necesito pero no me funciona esto

function validar() { var tipo_documento = document.formu.cod.value; if( tipo_documento == 01) { document.search-theme-form.action = "ventas/registrar_factura"; } else if(tipo_documento == 03) { document.search-theme-form.action = "ventas/registrar_boleta"; } else if(tipo_documento == 07) { document.search-theme-form.action = "ventas/registrar_credito"; } else if(tipo_documento == 08) { document.search-theme-form.action = "ventas/registrar_debito"; } return true; }

giansalex commented 6 years ago

el nombre con guiones debe botarte algun error (search-theme-form). Al formulario agregale el id

<form id="search-theme-form" />

y usando jquery agregas la url

function validar()
{
var form = $('#search-theme-form');
var tipo_documento = document.formu.cod.value;
if( tipo_documento == '01') {
   form.attr('action', 'ventas/registrar_factura');
}
//....
}
abelnexus commented 6 years ago

no se si esta bien mi form: form action="" id="comprobante" class="frm-ventas" method="post" onsubmit="validar()" y este es mi imput: input type="hidden" name="cod" id="cod" value="" y este el codigo javascript: function validar() { var form = $('#comprobante'); var tipo_documento = document.formu.cod.value; if( tipo_documento == '01') { document.form.action = "<?=URL?>ventas/registrar_factura"; } else if(tipo_documento == '03') { document.form.action = "<?=URL?>ventas/registrar_boleta"; } else if(tipo_documento == '07') { document.form.action = "<?=URL?>ventas/registrar_credito"; } else if(tipo_documento == '08') { document.form.action = "<?=URL?>ventas/registrar_debito"; } } pero no funciona

abelnexus commented 6 years ago

amigo con este codigo me ya me cambia el action: document.getElementById('send').addEventListener('click', (e) => { e.preventDefault() if(document.getElementById('cod').value == '01') comprobante.setAttribute('action', '<?=URL?>ventas/registrar_factura') if(document.getElementById('cod').value == '03') comprobante.setAttribute('action', '<?=URL?>ventas/registrar_boleta') document.getElementById('comprobante').submit()

abelnexus commented 6 years ago

pero ahora surge otro detalle y no lo entiendo captura

giansalex commented 6 years ago

deveria devolverte HTML?, revisa el codigo de registrar_factura talvez es para usarla con ajax.

abelnexus commented 6 years ago

no deberia quedarse la url asi deberia quedarse en localhost:82/invoice/ventas y recibir el mensaje de confirmacion y se meustre en pantalla asi: captura

abelnexus commented 6 years ago

ahorita esta error por que suant creoe sta fallando pero no debe salir de esta pagina

giansalex commented 6 years ago

es que el form redirige a la pagina de action="", tienes que enviarlo con ajax, para que se mantenga en la pagina, busca un tutorial de como enviar un form por ajax

abelnexus commented 6 years ago

parece que me complicare mas :( encontrare otra manera

abelnexus commented 6 years ago

amigo al enviar en guardar : primero me guarda en la bd luego genera el xml y luego el pdf al hacer todo eso hay como un momento de "lag" y se ve como si fallara el sistema como haria para poner ese spinner que gira mientras realiza todo eso ?

giansalex commented 6 years ago

te podrias guiar con esto https://www.w3schools.com/icons/tryit.asp?filename=tryicons_awesome_intro_animate y usar display:none o show

abelnexus commented 6 years ago

CUANDO APARECE ESTE ERROR: object(Greenter\Model\Response\Error)#193 (2) { ["code":protected]=> string(3) "200" ["message":protected]=> string(53) " - Detalle: Failed to establish a backside connection" } es falla de sunat verdad ? todo el dia esta asi

giansalex commented 6 years ago

si al parecer hoy no ha estado operativo el servicio beta, aunque también el mensaje puede ocurrir cuando no hay internet