Cómo CREAR una función para obtener TODA la información de un CFDI o XML de Nómina

  Рет қаралды 32,466

Exoluciones Y más

Exoluciones Y más

Күн бұрын

Пікірлер: 43
@javierdelgado-strc8712
@javierdelgado-strc8712 6 ай бұрын
Es excelente tu demostración y explicación, agradezco y valoro mucho tu esfuerzo por apoyar y mostrarnos tus conocimientos. Te deseo lo mejor y Dios te bendiga.
@heracliogarcialopez6704
@heracliogarcialopez6704 7 жыл бұрын
El público que busca este tipo de temas es muy reducido gracias por tu esfuerzo soy fan del Exel.
@Mar10Bravo
@Mar10Bravo 4 жыл бұрын
En temas de programación y curiosamente en funciones de Excel poca gente le interesa pero saber le da un plus a nuestro perfil.
@albarrason
@albarrason 4 жыл бұрын
Muy bueno! Bien explicado y muy útil ahora que las facturas electrónicas nos inundan! Gracias!
@gerardoortizgonzalez5904
@gerardoortizgonzalez5904 Жыл бұрын
Excelente video curso y tutorial de programación. Gracias
@LIRIMAR7
@LIRIMAR7 7 жыл бұрын
BUENAS NOCHES, GRACIAS POR COMPARTIR, ESTOY APRENDIENDO COSAS MUY ÚTILES, GRACIAS A SU DEDICACIÓN, TRABAJO Y ESFUERZO. AUN NO ENTIENDO MUCHOS TERMINOS, PERO SEGUIRE VIENDO SUS VIDEOS, DE VERDAD MUCHAS GRACIAS.
@Dfloresu86
@Dfloresu86 4 жыл бұрын
Agradezco mucho el aporte, demasiado valioso, te felicito, muchas gracias por compartir, felicidades!!
@zurisadaialvarezhernandez5676
@zurisadaialvarezhernandez5676 2 жыл бұрын
muchas gracias!!! super excelente video!!
@solistapacori7117
@solistapacori7117 3 жыл бұрын
Brillante , gracias por la paciencia en explicar
@xzanatozx
@xzanatozx 6 жыл бұрын
Muchas gracias!. Hacia rato que buscaba como obtener la información del los CFDI formato XML. Este video es una super ayuda!!
@celiahernandezcervantes6974
@celiahernandezcervantes6974 5 жыл бұрын
Hola! Yo tenía mucho tiempo buscando un video tutorial así. Tus dos fonciones para sacar los atributos y los nodos repetidos me funcionó muy bien. Ya solo estoy adaptando tu código al mio. Muchas gracias, ya tienes un seguidor más.
@juanantonioramirezescobedo1520
@juanantonioramirezescobedo1520 5 жыл бұрын
Muchisimas sgacias por tu aporte está genial, lo voy a modificar para un cfdi de ingreso
@JMAnguiano
@JMAnguiano 7 жыл бұрын
Buen día 1000 gracias por tu ayuda y tus consejos, seguiré practicando y te enviaré mi archivo para compartirlo ¡¡¡ Conocimiento que no se comparte, se estanca y se pudre !!! Gracias por tus videos y apoyo
@ernestoportillo3350
@ernestoportillo3350 6 жыл бұрын
mil gracias por este excelente tema , a sido gran utilidad para mi trabajo
5 жыл бұрын
Mucho gusto.
@gilbertogarcia2832
@gilbertogarcia2832 7 жыл бұрын
Gracias por tus contribuciones amigo excelente trabajo y sobre todo por compartir el conocimiento saludos.
@rodribezul
@rodribezul 6 жыл бұрын
Excelente ... Lo estoy aplicando acá en Colombia.
6 жыл бұрын
Hola, ¿me podría pasar su correo por favor? Es para darle unos tips que le pueden servir de ayuda.
@alonsoelcraa8119
@alonsoelcraa8119 4 жыл бұрын
Gracias amigo, DIOS te lo pague
@The13Bruja
@The13Bruja 6 жыл бұрын
Un millón de gracias!!!! Excelente tutorial
@excelexcel1012
@excelexcel1012 7 жыл бұрын
Amigo tus videos son muy buenos, para aprender a programar en vba. Pero por ejemplo a un usuario final no le sirve de mucho. ya que una macro se supone que es para facilitarle el trabajo a dicho usuario, pero con ese tipo de macro yo creo que le es mas dificil, el manejo de los datos. Saludos soy un suscriptor que no se pierde tus vídeos.
@alejandromurillo6783
@alejandromurillo6783 7 ай бұрын
Perfecto!
@facundo2312ify
@facundo2312ify 7 жыл бұрын
Disculpa muy buenos todos tus videos solo tengo una duda que pasa si tengo en el xml varios atributos con diferente valor, solo lo diferencia el atributo el id del nodo
@LuisAntonio-cd4ck
@LuisAntonio-cd4ck 7 жыл бұрын
Gracias por el buen material, hace tiempo buscaba un código igual de comprensible. ¿¿Donde se pone 5 estrellas??...
@micronegocioygestionperson5426
@micronegocioygestionperson5426 3 жыл бұрын
gracias por tu aporte; pregunta ¿como extraigo los nodos y sus datos en base al numero de cada nodo (0,1, 2, 3 etc ) por las veces que se repite en algunas ocaciones y eso ocasiona que se agreguen en columnas que no les corresponda, debido que no siempre los xml del cfdi traiga la misma cantidad de nodos; se me ocurre usar la funcion indice coincidr mas contar.so
@johndragonrider88
@johndragonrider88 4 жыл бұрын
Excelentes videos. Me han ayudado a entender más sobre el tema. Una consulta. Un xml qué trabajo no tiene atributos. En lugar de eso, la información está directamente en los nodos. Esto es, tiene una estructura similar a esta: valor Cómo puedo leer el "valor"?
@joascha20
@joascha20 2 жыл бұрын
Hola supiste como poder leer el valor ?
@johndragonrider88
@johndragonrider88 2 жыл бұрын
@@joascha20 la verdad no recuerdo
@fernandoalexismooluna7635
@fernandoalexismooluna7635 3 жыл бұрын
CALIDAD DE TRABAJO
@pablochiriboga388
@pablochiriboga388 3 жыл бұрын
necesito una macro que elimine varias etiquetas mi archivo xml ya que no consigo que excel pueda leer los nodos que hay depsues de las etiquetas de encabezado
@luzadrianaurias881
@luzadrianaurias881 2 жыл бұрын
como le puedo hacer para de forma automática me inserte tantas filas sean necesarias, para poder leer todos los indices y poder hacer una tabla donde por XML me devuelva el contenido de los nodos de casa uno de los indices
@netoo6007
@netoo6007 7 жыл бұрын
muchisimas gracias
@juragoza44
@juragoza44 5 жыл бұрын
GRACIAS
@fillipbuscador
@fillipbuscador 5 жыл бұрын
Hola, necesito si pudieras ayudarme con tu código. Mira yo no se desarrollar pero si leo un codigo VBA lo medio entiendo y por mi falta de conocimiento, intentaré explicarme a ver si me doy a entender lo que necesito. Mira, Esta es tu función: Private documentoxml As MSXML2.DOMDocument Private listanodos As MSXML2.IXMLDOMNodeList Private nodo As MSXML2.IXMLDOMNode Function OBTENER_ATRIBUTOS(ruta As String, nombrenodo As String, estenodo As Integer, atributo As String) As String Set documentoxml = New DOMDocument documentoxml.Load (ruta) Set listanodos = documentoxml.getElementsByTagName(nombrenodo) OBTENER_ATRIBUTOS = listanodos.Item(estenodo).Attributes.getNamedItem(atributo).Text End Function Tu función es super útil cuando el nombre de un nodo se repite varias veces en diferentes renglones pero tengo un problema. tengo el nombre de nodo "cfdi:Retencion" algunos están integrados en el nombre de nodo ("/cfdi:Comprobante/cfdi:Conceptos") Ejemplo 1: cfdi:Comprobante -cfdi:Conceptos -cfdi:Concepto (Venta Item 1) -cfdi:Impuestos -cfdi:Retenciones cfdi:Retencion Impuesto="003"/> {Nodo 0} -cfdi:Concepto (Venta Item 2) -cfdi:Impuestos -cfdi:Retenciones cfdi:Retencion Impuesto="003"/> {Nodo 1} y el nombre de nodo "cfdi:Retencion" también están integrados en la ruta nodo ("/cfdi:comrpobante/cfdi:Impuestos/cfdi:Retenciones") Ejemplo 2: cfdi:Comprobante -cfdi:Impuestos -cfdi:Retenciones cfdi:Retencion Impuesto="002"/> {Nodo 2} cfdi:Retencion Impuesto="003"/> {Nodo 3} En el Ejemplo 1 se encuentran los datos: "Importe" e "Impuestos" entre otros mas En el Ejemplo 2 se encuentran También los Mismos datos, pero en el Ejemplo 1 se calculan para cada venta o Item y el el Ejemplo 2 se calculan de manera Total. Imaginemos que en el "cfdi:Conceptos" tengo 2 "item" vendidos (pero pueden ser mas, depende del XML). Y en el cfdi:Retencion tengo dos, uno para Impuesto 002 y otro para impuesto 003 Por lo que cuando hago la función de contar nodos, me da un total de 4 nodos por lo cual los nodos que están en el ejemplo 2 toman los números de nodos 2 para el Atributo "002" y 3 para el atributo 003 Pero si cambio a otro archivo .XML que tiene solo un Item de venta, los nodos en el ejemplo 2 Ya no son 3 y 4, si no 1 y 2 Y eso hace que tenga que estar recalculando la cantidad de nodos para un mismo nombre de nodo. La pregunta aquí es: Cómo hago para que al correr tu función, haga lo siguiente: Paso 1 Tome la celda "F1" que es donde se encuentra la ruta del archivo XML, es decir, siempre estará la ruta en esa celda en específico. Paso 2 que tome esta ruta de nodo ("/cfdi:comrpobante/cfdi:Impuestos/cfdi:Retenciones/cfdi:Retencion") Paso 3 Especificarle que se refiere al primer nodo en esa ruta, es decir como nodo 0 (o si no se puede porque existen otros iguales en la ruta del ejemplo 1, entonces darle a ese nodo específico un nombre alfanumérico, se me ocurre "reten1". Paso 4 que tome al atributo "Impuesto" dentro de ese valor de nodo y me arroje el dato "002" Hacer los mismos pasos para el siguiente "cfdi:Retencion" Paso 1 Igual que el anterior. Paso 2 Igual que el anterior Paso 3 Especificarle que se refiere al segundo nodo en esta ruta, es decir, como nodo 1, o si no se puede por el motivo anterior, entonces darle a ese nodo específico un nombre alfanumérico, "reten2". Paso 4 que tome el atributo "impuesto" dentro de ese valor de nodo y me arroje el dato "003" Cabe mencionar que esto mismo me serviría para los nodos ubicados en cfdi:Conceptos En resumen debería quedar en una celda de excel algo asi: =OBTENER_ATRIBUTOS(F1,"cfdi:Retencion",0,"Impuesto") En otra celda algo asi: =OBTENER_ATRIBUTOS(F1,"cfdi:Retencion",1,"Impuesto") O quedaría algo asi: =OBTENER_ATRIBUTOS(F1,"cfdi:Retencion","reten1,"Impuesto") =OBTENER_ATRIBUTOS(F1,"cfdi:Retencion","reten2,"Impuesto") En el caso de "cfdi:Conceptos" Como no sabemos si el XML va a tener 1 Item o más, sería útil que se ejecutara la instrucción para el ejemplo 1 y haciendo un bucle para cada "cfdi:Retencion", para esto se me ocurre algo así como tu otra función "CONTAR_NODOS" y decirle que solo cuente los nodos especificados en la ruta =cfdi:Conceptos= y nada mas Analicé varios archivos XML y es el único problema que se presenta con esos nombres de nodos, en el caso de facturas de ventas, pero esto mismo serviría para el caso de nominas. Mira, estoy utilizando esta otra función: Private documentoxml As MSXML2.DOMDocument Private listanodos As MSXML2.IXMLDOMNodeList Private nodo As MSXML2.IXMLDOMNode _____________________________ Function carga(ruta) Set documentomxl = New DOMDocument documentoxml.load (ruta) End Function _____________________________ Function cfdi_emisor(ruta, dato) carga (ruta) Set listanodos = documentoxml.selectNodes("/cfdi:comrpobante/cfdi:Emisor") For each nodo In listanodos cfdi_emisor = nodo.attibutes.getNamedItem(dato).Text En la celda de excel me queda algo asi: =cfdi_emisor(F1,"Rfc") Esta última función para mi es muy útil porque especifico exactamente de que ruta de nodo necesito los atributos de un determinado dato (Ejemplo "Rfc") Pero no me funciona para del nodo "cfdi:Retencion" porque se repite dos veces para cfdi:Retencion y n numero de veces para cfdi:Concepto Esto solo me sirve para los otros nodos como cfdi:Comprobantes, o cfdi:Emisor, cfdi:Receptor, es decir, para los nodos que sabemos no se van a repetir. Para los nodos que se repiten me serviría algo como lo que de favor necesito me ayudes. Tu como eres sabio para esto, seguro conforme vas leyendo en tu cabeza se está desarrollando codigos y codigos. ¿Podrías ayudarme con esto por favor? Mira igual y te envío el archivo de excel en el que tengo estos códigos y otros mas que utilizo para importar datos de un XML. Chance y así si no me supe explicar, comprenderías mejor viendo el código. Saludos.
@anamo65
@anamo65 6 жыл бұрын
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Gracias!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@albaficaespindola2198
@albaficaespindola2198 7 жыл бұрын
una pregunta estoy generando la macro no me aparece ni un error,abre correcto el buscador de archivos pero al querer ver algun archivo no me muestra nada para cargar ni xml y tampoco algun otro
@danielaguilera6035
@danielaguilera6035 5 жыл бұрын
Dentro del ambiente VBA selecciona: Herramientas ---> Referencias ---> Microsoft XML, vx.0
@luismontano5360
@luismontano5360 3 жыл бұрын
No me aparece la función CONTAR_NODOS en el libro de Excel =( he seguido todos los pasos al pie de la letra...
@aurigonzalez2152
@aurigonzalez2152 7 жыл бұрын
Buenas tardes una pregunta a la hora de obtener las funciones de obtener atributos no me da la fórmula de hecho me ds un error de NOMBRE será mi versión de Excel?! Tengo el xml gracias!!
@danielaguilera6035
@danielaguilera6035 5 жыл бұрын
Dentro del ambiente VBA selecciona: Herramientas ---> Referencias ---> Microsoft XML, vx.0
@johnnybarron8716
@johnnybarron8716 6 жыл бұрын
Oye amigo me puedes ayudar a crear una macro para buscar un archivo xml el cual tengo el nombre en una celda y bucarlo en el explorador de Windows y hacer una carpeta que contenga ese archivo y ponerle el nombre que esté en una celda
@danielaguilera6035
@danielaguilera6035 5 жыл бұрын
Dentro del ambiente VBA selecciona: Herramientas ---> Referencias ---> Microsoft XML, vx.0
Cómo crear una función de EXCEL para obtener datos de un XML o CFDI
18:06
Exoluciones Y más
Рет қаралды 114 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
Cómo CREAR tu programa Visor de XML o CFDI en EXCEL
19:57
Exoluciones Y más
Рет қаралды 52 М.
DeepSeek R1: genial para startups, malo para Silicon Valley
18:58
¡Deja de usar BUSCARV! Funciones y fórmulas robustas para buscar y asociar datos en Excel
21:42
Excel Avanzado para Administración de Empresas
Рет қаралды 2,2 МЛН
Curso de XML con VBA Introducción Vídeo 1
14:12
Exoluciones Y más
Рет қаралды 15 М.
Convierte Tu XML a Excel masivamente  2025 solo con excel
13:00
Ing.AlexRws
Рет қаралды 20 М.