![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
|
|
#2
|
|||
|
|||
|
Cita:
|
|
#3
|
||||
|
||||
|
Cita:
Código:
//en la parte del load del form incluyo indencia = false;
voluntaria.Incidencia = ServicioVerifactu.IncidenciaType.N;
if(incidencia)
{
voluntaria.Incidencia = ServicioVerifactu.IncidenciaType.S;
}
Código:
try
{
retorno = client.RegFactuSistemaFacturacion(facAPresentar);
}
catch
{
incidencia = true;
consolaError cE = new consolaError();
cE.Text = "Ha habido un error en la conexion con el servicio web de hacienda, por favor verifique el estado de su conexion a internet, en 60\" vuelva a intentar el envio, si tampoco tiene exito, se archivara esta factura como proforma y se le indicara el numero de la misma , para que vuelva a proceder al envio de la misma mas tarde";
cE.Cuentaatras = 60;
cE.Errores = false;
cE.volverAVer.Visible = false;
cE.ShowDialog();
}
|
|
#4
|
|||
|
|||
|
Cita:
Cita:
|
|
#5
|
|||
|
|||
|
Error verificacion/carga XML
Compañeros, tengo un problema que no consigo que pase.
En el RegistroFactura / RegistroAlta </IDFactura> <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"/> <TipoFactura xmlns ........................ Cuando intento cargar el xml, la linea <NombreRazonEmisor xmlns me dice Error registro : 1100, valor o tipo incorrecto de campo : NombreRazonEmisor y no consigo subsanar. Alguien puede indicarme alguna pista por donde seguir investigando Gracias |
|
#6
|
||||
|
||||
|
Cita:
Hola, puedes postear el trozo del xml completo, para ver si esta mal formado? |
|
#7
|
|||
|
|||
|
Cita:
<IDVersion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">1.0</IDVersion> <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"> <IDEmisorFactura>33461360V</IDEmisorFactura> <NumSerieFactura>2024</NumSerieFactura> <FechaExpedicionFactura>15-10-2024</FechaExpedicionFactura> </IDFactura> <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"/> con esto es suficiente o subo el xml completo |
|
#8
|
||||
|
||||
|
Cita:
Cita:
Cita:
|
|
#9
|
||||
|
||||
|
Cita:
Código:
//Es por subsanacion ?
altaFactura.Subsanacion = ServicioVerifactu.SubsanacionType.N;
// Se havia rechazado ?
altaFactura.RechazoPrevio = ServicioVerifactu.RechazoPrevioType.N;
//Si alta es diferente a "ALTA" , que es el valor iniucial actuamos al respecto
if(alta == "RECHAZO")
{
//Es por subsanacion ?
altaFactura.Subsanacion = ServicioVerifactu.SubsanacionType.S;
// Se havia rechazado ?
altaFactura.RechazoPrevio = ServicioVerifactu.RechazoPrevioType.X;
}
if (alta == "SUBSANACION")
{
//Es por subsanacion ?
altaFactura.Subsanacion = ServicioVerifactu.SubsanacionType.S;
// Se havia rechazado ?
altaFactura.RechazoPrevio = ServicioVerifactu.RechazoPrevioType.N;
}
if (alta == "RECHAZO_SUBSANACION")
{
//Es por subsanacion ?
altaFactura.Subsanacion = ServicioVerifactu.SubsanacionType.S;
// Se havia rechazado ?
altaFactura.RechazoPrevio = ServicioVerifactu.RechazoPrevioType.S;
}
El estado lo asigno segun la respuesta del servicio. Código:
XmlSerializer serializaFactura2 = new XmlSerializer(typeof(RespuestaRegFactuSistemaFacturacionType));
info = "";
using (var xmlw = new StringWriter())
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = Encoding.UTF8;
using (XmlWriter writter = XmlWriter.Create(xmlw, settings))
{
serializaFactura2.Serialize(writter, retorno);
info = xmlw.ToString();
}
}
string EstadoRegistro = "";
Match match1 = Regex.Match(info, "<EstadoRegistro>(.*?)</EstadoRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
if (null != match1.Value)
{
EstadoRegistro = match1.Value.Replace("<EstadoRegistro>", "");
EstadoRegistro = EstadoRegistro.Replace("</EstadoRegistro>", "");
switch (EstadoRegistro)
{
case "Correcto":
{
txtConsulta.BackColor = Color.LawnGreen;
txtConsulta.Text = "Correcto";
huella.insertaHuella(new HuellaVerifactu(1, "CONTADO", facAPresentar.Cabecera.ObligadoEmision.NIF, txtSerie.Text, txtNfac.Text, altaFactura.FechaOperacion, altaFactura.TipoFactura.ToString(), altaFactura.CuotaTotal, altaFactura.ImporteTotal, altaFactura.Huella, altaFactura.FechaHoraHusoGenRegistro));
//esto forma parte de mi sistema para guardar las factura... :D
Program.VehiculoSeleccionado.Marca = " ";
Program.VehiculoSeleccionado.Modelo = " ";
Program.facturaSeleccionada.Tasa = " ";
if (txtPortes.Text != "")
{
Program.facturaSeleccionada.Portes = txtPortes.Text;
}
else
{
Program.facturaSeleccionada.Portes = " ";
}
Program.facturaSeleccionada.ClientUID = 0;// Program.ClienteSelecionado.ClientUID;
Program.facturaSeleccionada.TipoFactura = "CONTADO";
Program.facturaSeleccionada.Tipo = "F2";
Program.facturaSeleccionada.Motivo = "";
Program.facturaSeleccionada.Regimen = "01";
Program.facturaSeleccionada.Sujeto = "S1";
Program.facturaSeleccionada.Exento = "";
Program.facturaSeleccionada.Fecha = altaFactura.FechaOperacion;// Program.RepSeleccionada.FechaReparacion;
Program.facturaSeleccionada.Matricula = " ";
Program.facturaSeleccionada.NumReparacion = 0;
Program.facturaSeleccionada.NºHoras = " ";// Program.madobra.Cantidad;
Program.facturaSeleccionada.DTOHoras = " ";//Program.madobra.Descuento;
Program.facturaSeleccionada.PrecioHoras = " ";//Program.madobra.Precio;
Program.facturaSeleccionada.TipoIva = Program.currentIva;
Program.facturaSeleccionada.Tasa = " ";// Program.madobra.Tasa;
Program.facturaSeleccionada.Materiales = info;
//Program.facturaSeleccionada.Portes = Program.madobra.Portes;
//Program.facturaSeleccionada.Materiales = " ";// Program.RepSeleccionada.Reparacion;
Program.facturaSeleccionada.NºFactura = Convert.ToInt32(txtNfac.Text); //
Program.configTaller.NºFactura++;
ConfigDB.actualizaNfac(Program.configTaller.NºFactura.ToString());
FacturasDB.grabaFacturaSimple(Program.facturaSeleccionada, "contado", Program.currentYear);//,"");
MaterialesDB.agregar(Program.MaterialesSeleccionados, "contado"+Program.currentYear);
muestraFactura2 vf1 = FacturasDB.asignaReporteFacturaVenta();
InterfaceFunciones Interface1 = this.Owner as InterfaceFunciones;
Interface1.reiniciaBlocker("Parar");
vistaPrevia vP = new vistaPrevia(vf1);
vP.Text = "Factura Nº " + txtSerie.Text + txtNfac.Text;
vP.ShowDialog(Owner);
borra.PerformClick();
break;
}
case "AceptadoConErrores":
{
txtConsulta.BackColor = Color.Yellow;
txtConsulta.Text = "AceptadoConErrores";
if(alta=="ALTA")
{
alta = "SUBSANACION";
}
else
{
alta = "RECHAZO_SUBSANACION";
}
Match match2 = Regex.Match(info, "<CodigoErrorRegistro>(.*?)</CodigoErrorRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string codigoRegistro = match2.Value.Replace("<CodigoErrorRegistro>", "");
codigoRegistro = codigoRegistro.Replace("</CodigoErrorRegistro>", "");
Match match3 = Regex.Match(info, "<DescripcionErrorRegistro>(.*?).", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string DescripcionRegistro = match2.Value.Replace("<DescripcionErrorRegistro>", "");
txt_motivo.Text = codigoRegistro + " -> " + DescripcionRegistro;
break;
}
case "Incorrecto":
{
txtConsulta.BackColor = Color.Red;
txtConsulta.Text = "Errores";
alta="RECHAZO";
Match match2 = Regex.Match(info, "<CodigoErrorRegistro>(.*?)</CodigoErrorRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string codigoRegistro = match2.Value.Replace("<CodigoErrorRegistro>", "");
codigoRegistro = codigoRegistro.Replace("</CodigoErrorRegistro>", "");
Match match3 = Regex.Match(info, "<DescripcionErrorRegistro>(.*?)</DescripcionErrorRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string DescripcionRegistro = match3.Value.Replace("<DescripcionErrorRegistro>", "");
DescripcionRegistro = DescripcionRegistro.Replace("</DescripcionErrorRegistro>", "");
txt_motivo.Text = codigoRegistro + " -> " + DescripcionRegistro;
break;
}
default://Incorrecta
{
txtConsulta.BackColor = Color.Red;
txtConsulta.Text = "Errores";
Match match2 = Regex.Match(info, "<CodigoErrorRegistro>(.*?)</CodigoErrorRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string codigoRegistro = match2.Value.Replace("<CodigoErrorRegistro>", "");
codigoRegistro = codigoRegistro.Replace("</CodigoErrorRegistro>", "");
Match match3 = Regex.Match(info, "<DescripcionErrorRegistro>(.*?)</DescripcionErrorRegistro>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string DescripcionRegistro = match3.Value.Replace("<DescripcionErrorRegistro>", "");
DescripcionRegistro = DescripcionRegistro.Replace("</DescripcionErrorRegistro>", "");
txt_motivo.Text = codigoRegistro + " -> " + DescripcionRegistro;
break;
}
}
}
No sera la forma mas limpia de hacerlo, pero a mi me funciona. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|