Fallas en el buscador del catalogo de productos y servicios del portal del SAT

391 views
Skip to first unread message

Mapasac, Sistemas Administrativos Comerciales

unread,
Sep 27, 2017, 8:33:18 PM9/27/17
to vfp-factura-electronica-mexico
buscando el tema de "SEGUROS" me encontré con estas inconsistencias en los nodos de la pagina http://200.57.3.46:443/PyS/catPyS.aspx

anexo imágenes.

Slds....
Mapasac
General Escobedo, N.L. Mexico
FALLA1.png
FALLA2.png
imagen3.png

Arturo Ramos

unread,
Sep 28, 2017, 10:29:47 PM9/28/17
to vfp-factura-electronica-mexico
@mapasac

Puedes pasar los secretos del catálogo de productos y servicios?, cómo le hiciste para armar ese buscador en tu aplicación?

Saludos.

Mapasac, Sistemas Administrativos Comerciales

unread,
Sep 29, 2017, 5:04:26 PM9/29/17
to vfp-factura-electronica-mexico
Arturo, lo principal esta en que tengo una vista que extrae los datos de una db postgresql declarada de la sig. manera :

CREATE OR REPLACE VIEW mapasoft.vw_satcatprse AS
 WITH x AS (
         SELECT ((substr(satcatprse_1.c_claveprodserv::text, 1, 2) || '000000'::text))::character(10) AS grupo0,
            ''::character(200) AS cgrupo0,
            ((substr(satcatprse_1.c_claveprodserv::text, 1, 4) || '0000'::text))::character(10) AS grupo1,
            ''::character(200) AS cgrupo1,
            ((substr(satcatprse_1.c_claveprodserv::text, 1, 6) || '00'::text))::character(10) AS grupo2,
            satcatprse_1.c_claveprodserv,
            satcatprse_1.descripcio,
            satcatprse_1.tipo
           FROM mapasoft.satcatprse satcatprse_1
        )
 SELECT x.grupo0,
    x.cgrupo0,
    x.grupo1,
    x.cgrupo1,
    x.grupo2,
    satcatprse.descripcio,
    x.c_claveprodserv,
    x.descripcio AS descripcion,
    x.tipo
   FROM x,
    mapasoft.satcatprse
  WHERE x.grupo2 = satcatprse.c_claveprodserv AND "right"(x.c_claveprodserv::text, 2) <> '00'::text AND x.tipo = satcatprse.tipo
  ORDER BY x.grupo2, satcatprse.descripcio, x.c_claveprodserv, x.descripcio;

ALTER TABLE mapasoft.vw_satcatprse
  OWNER TO "Mapasac";

y desde vfp. la invoco de la sig. manera además limpio y lleno el treeview:

SET SAFETY OFF

THISFORM.lnohay=.F.

cbus="'%"+ALLTRIM(cbusca)+"%'"

nval=0

DO CASE

CASE tipo.tipo=[T]

nval=csqlexec(_SCREEN.obj_sysconection, "SELECT * FROM mapasoft.vw_satcatprse WHERE descripcio LIKE '"+&cbus+"' OR descripcion LIKE '"+&cbus+"';", "respuesta", ALLTRIM(PROGRAM())+[ LINEA : ]+ALLTRIM(STR(LINENO())))

CASE tipo.tipo=[P]

nval=csqlexec(_SCREEN.obj_sysconection, "SELECT * FROM mapasoft.vw_satcatprse WHERE (descripcio LIKE '"+&cbus+"' OR descripcion LIKE '"+&cbus+"') AND tipo='P';", "respuesta", ALLTRIM(PROGRAM())+[ LINEA : ]+ALLTRIM(STR(LINENO())))

CASE tipo.tipo=[S]

nval=csqlexec(_SCREEN.obj_sysconection, "SELECT * FROM mapasoft.vw_satcatprse WHERE (descripcio LIKE '"+&cbus+"' OR descripcion LIKE '"+&cbus+"') AND tipo='S';", "respuesta", ALLTRIM(PROGRAM())+[ LINEA : ]+ALLTRIM(STR(LINENO())))

ENDCASE

IF nval>0 THEN

IF ! EOF() THEN

STORE .T. TO ThisForm.Pageframe1.Page1.lblnivel1.Visible, ThisForm.Pageframe1.Page1.lblnivel4.Visible

SELECT respuesta

DO WHILE ! EOF()

c0=ALLTRIM(respuesta.grupo0)

nvan=0

DO WHILE ! EOF()

IF nvan=0 THEN

SELECT satcat0

LOCATE FOR ALLTRIM(satcat0.c_claveprodserv)=c0

IF FOUND() THEN

SELECT respuesta

REPLACE respuesta.cgrupo0 WITH satcat0.descripcio

nvan=nvan+1

ENDIF

ENDIF

SELECT respuesta

SKIP

IF ALLTRIM(respuesta.grupo0)<>c0 OR EOF() THEN

EXIT

ENDIF

ENDDO

SELECT respuesta

ENDDO

GO TOP

DO WHILE ! EOF()

c1=ALLTRIM(respuesta.grupo1)

nvan=0

DO WHILE ! EOF()

IF nvan=0 THEN

SELECT satcat1

LOCATE FOR ALLTRIM(satcat1.c_claveprodserv)=c1

IF FOUND() THEN

SELECT respuesta

REPLACE respuesta.cgrupo1 WITH satcat1.descripcio

nvan=nvan+1

ENDIF

ELSE

REPLACE respuesta.descripcio WITH []

ENDIF

SELECT respuesta

SKIP

IF ALLTRIM(respuesta.grupo1)<>c1 OR EOF() THEN

EXIT

ENDIF

ENDDO

SELECT respuesta

ENDDO

CREATE CURSOR cMiMenu (nivel character(20), nombre character(200), c_claveprodserv character(10))

SELECT respuesta

GO TOP

STORE 0 TO nniv1, nniv2, nniv3, nniv4

DO WHILE ! EOF()

IF INT(LEN(ALLTRIM(respuesta.cgrupo0)))>3 THEN

nniv1=nniv1+1

STORE 0 TO nniv2, nniv3, nniv4

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv);

VALUES (TRANSFORM(nniv1, '@RL 9999')+[_], respuesta.cgrupo0, [])

ENDIF

IF INT(LEN(ALLTRIM(respuesta.cgrupo1)))>3 THEN

nniv2=nniv2+1

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv);

VALUES (TRANSFORM(nniv1, '@RL 9999')+[_]+TRANSFORM(nniv2, '@RL 9999')+[_], respuesta.cgrupo1, [])

ENDIF

IF INT(LEN(ALLTRIM(respuesta.descripcio)))>3 THEN

nniv3=nniv3+1

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv);

VALUES (TRANSFORM(nniv1, '@RL 9999')+[_]+TRANSFORM(nniv2, '@RL 9999')+[_]+TRANSFORM(nniv3, '@RL 9999')+[_], ALLTRIM(respuesta.grupo2)+[ - ]+ALLTRIM(respuesta.descripcio), [])

ENDIF

nniv4=nniv4+1

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv);

VALUES (TRANSFORM(nniv1, '@RL 9999')+[_]+TRANSFORM(nniv2, '@RL 9999')+[_]+TRANSFORM(nniv3, '@RL 9999')+[_]+TRANSFORM(nniv4, '@RL 9999_'), ALLTRIM(respuesta.c_claveprodserv)+[ - ]+ALLTRIM(respuesta.descripcion), respuesta.c_claveprodserv)

SELECT respuesta

SKIP

ENDDO

SELECT cMiMenu

ELSE

THISFORM.lnohay=.T.

CREATE CURSOR cMiMenu (nivel character(20), nombre character(200), c_claveprodserv character(10))

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv) VALUES (TRANSFORM(1, '@RL 9999')+[_], [POR DEFINIR], [])

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv) VALUES (TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999')+[_], [POR DEFINIR], [])

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv) VALUES (TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999')+[_], [POR DEFINIR], [])

INSERT INTO cMiMenu (nivel, nombre, c_claveprodserv) VALUES (TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999')+[_]+TRANSFORM(1, '@RL 9999_'), [NO SE ENCUENTRA EN EL CATALOGO, TE SUGERIMOS BUSCAR UNA PALABRA QUE SE APROXIME AL PRODUCTO O SERVICIO QUE BUSCAS.], [])

ENDIF

ENDIF

SET SAFETY ON


Lo demás es puro juego con los objetos.....

Slds....
Mapasac
General Escobedo, N.L.



El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:

Mapasac, Sistemas Administrativos Comerciales

unread,
Sep 29, 2017, 7:15:13 PM9/29/17
to vfp-factura-electronica-mexico
complemento paso a paso....

al momento no cuento con ejemplo utilizando archivos dbf's...


Slds...
Mapasac
General Escobedo, N.L. Mexico


El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:
tabla_nivel_1.jpg
resultado_nivel_1.jpg
resultado_nivel_4.jpg
tabla_nivel_2.jpg
tabla_nivel_4.jpg
la vista.jpg
los_temporales.jpg
parametros.jpg
llamado_y_llenado_parte_1.jpg
llamado_y_llenado_parte_2.jpg
llamado_y_llenado_parte_3.jpg

Angel Perez

unread,
Oct 2, 2017, 1:10:24 PM10/2/17
to vfp-factura-ele...@googlegroups.com
@mapasac

De donde obtuviste los datos que incluyen la información de División, Grupo y Clase del Catalogo de Claves, Productos y Servicios que maneja el SAT? porque el que se descarga en Excel no trae esos registros como para armar lo que tu tienes?

Salu2

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electronica-mexico+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-electronica-mex...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Mapasac, Sistemas Administrativos Comerciales

unread,
Oct 2, 2017, 2:07:09 PM10/2/17
to vfp-factura-electronica-mexico
catalogo de productos y servicios......


Slds...
Mapasac
General Escobedo, N.L. Mexico

El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:
catalogo.zip

Angel Perez

unread,
Oct 2, 2017, 5:16:19 PM10/2/17
to vfp-factura-ele...@googlegroups.com
Gracias por tu tiempo y respuesta, solo 2 detalles, preguntaba de donde obtuviste los datos para tratar de obtener una fuente directa, es decir, se supone que viene del SAT cierto?, pero no sabemos cada cuando esten actualizando dicha información y cuando lo hicieran me gustaría poder hacer un proceso para actualizar sin depender de alguien que me pase el catalogo como en este caso, el segundo detalle es que supongo que la información del catalogo tu en tus procesos clasificaste la información en un campo para saber cuales corresponden a "productos" y cuales a "servicios", deduzco que del codigo 10000000 al 60000000 son Productos y del 70000000 al 95141904 son Servicios? o como los clasificaste?

De antemano gracias!!

--

Coco Liso

unread,
Oct 2, 2017, 6:58:17 PM10/2/17
to vfp-factura-electronica-mexico
Se obtiene del archivo "Búsqueda por Clase del Catálogo de Productos y Servicios SAT.XLSM". Mira extrae los datos de las hojas, ya puse en un msg anterior la clave para desprotegerla, y generas tu bd. No hay tanto lío. No te ayudo porque lo mio no es VFP.

Saludos.


Mapasac, Sistemas Administrativos Comerciales

unread,
Oct 2, 2017, 6:59:18 PM10/2/17
to vfp-factura-electronica-mexico
la fuente son varias, sistemas compaq, aspel, finkok, SAT y del mismo foro con este hilo "DIVISIONES DEL CATALOGO DE PROD SERVICIOS DE SAT".

Slds...
Mapasac
General Escobedo, N.L. Mexico



El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:

Angel Perez

unread,
Oct 2, 2017, 8:02:57 PM10/2/17
to vfp-factura-ele...@googlegroups.com
Perfecto mil gracias!!

--

Angel Perez

unread,
Oct 3, 2017, 3:28:25 PM10/3/17
to vfp-factura-ele...@googlegroups.com
Por último @mapasac, estoy trabajando con el treeview pero no se como cambiarle el color a los nodos y como vuelvo a dejar en blanco o reinicializo el treevie? 

De antemano gracias.. Salu2!!

El 2 de octubre de 2017, 19:02, Angel Perez <impre...@gmail.com> escribió:
Perfecto mil gracias!!

El 2 de octubre de 2017, 17:59, Mapasac, Sistemas Administrativos Comerciales <facturacionelectronicamapasac@gmail.com> escribió:
la fuente son varias, sistemas compaq, aspel, finkok, SAT y del mismo foro con este hilo "DIVISIONES DEL CATALOGO DE PROD SERVICIOS DE SAT".

Slds...
Mapasac
General Escobedo, N.L. Mexico




El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:
buscando el tema de "SEGUROS" me encontré con estas inconsistencias en los nodos de la pagina http://200.57.3.46:443/PyS/catPyS.aspx

anexo imágenes.

Slds....
Mapasac
General Escobedo, N.L. Mexico

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electronica-mexico+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-electronica-mexico@googlegroups.com.

Mapasac, Sistemas Administrativos Comerciales

unread,
Oct 3, 2017, 5:58:43 PM10/3/17
to vfp-factura-electronica-mexico
*****cambio de color según nivel....

DO CASE

   CASE LEN(ALLTRIM(lcNivel))=10  &&&nivel 1

        loNode.FORECOLOR=RGB(0,128,64)

   CASE LEN(ALLTRIM(lcNivel))=15  &&&nivel 2

        loNode.FORECOLOR=RGB(255,128,0)

   CASE LEN(ALLTRIM(lcNivel))=20  &&&nivel4

        loNode.FORECOLOR=RGB(0,0,128)

ENDCASE


*****limpiar treeview


Thisform.oleTreeView.Nodes.Clear


Thisform.oleTreeView.REFRESH()



Slds....

Mapasac






El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:

Angel Perez

unread,
Oct 3, 2017, 8:53:08 PM10/3/17
to vfp-factura-ele...@googlegroups.com
Mil grs!!

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electronica-mexico+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-electronica-mex...@googlegroups.com.

Angel Perez

unread,
Oct 5, 2017, 4:14:32 PM10/5/17
to vfp-factura-ele...@googlegroups.com
Buenas tardes nuevamente Mapasac,

Con una molestia, estoy tratando de hacer el formulario que tu hiciste, solo que me marca error al querer agregar los nodos al treeview  el error que me marca es:

                  Código de excepción OLE IDispatch 0 de Nodes: Invalid key

Y el error me lo marca en la linea que tiene este codigo:

                   oNode = o.Nodes.Add(,,qtree.clave,ALLTRIM(qtree.descrip)) 

Lo que veo es que no toma los valores de la tabla qtree de los campos correspondientes clave y descrip ahí me marca el error y no se como solucionarlo, si esos campos de la tabla los meto de forma manual como texto, ya no marca error, pero obvio necesito que tome los valores del archivo pues de ahí debe cargar los datos previamente filtrados, alguna sugerencia?

Salu2!!

El 3 de octubre de 2017, 19:53, Angel Perez <impre...@gmail.com> escribió:
Mil grs!!

El 3 de octubre de 2017, 16:58, Mapasac, Sistemas Administrativos Comerciales <facturacionelectronicamapasac@gmail.com> escribió:
*****cambio de color según nivel....

DO CASE

   CASE LEN(ALLTRIM(lcNivel))=10  &&&nivel 1

        loNode.FORECOLOR=RGB(0,128,64)

   CASE LEN(ALLTRIM(lcNivel))=15  &&&nivel 2

        loNode.FORECOLOR=RGB(255,128,0)

   CASE LEN(ALLTRIM(lcNivel))=20  &&&nivel4

        loNode.FORECOLOR=RGB(0,0,128)

ENDCASE


*****limpiar treeview


Thisform.oleTreeView.Nodes.Clear


Thisform.oleTreeView.REFRESH()



Slds....

Mapasac






El miércoles, 27 de septiembre de 2017, 19:33:18 (UTC-5), Mapasac, Sistemas Administrativos Comerciales escribió:
buscando el tema de "SEGUROS" me encontré con estas inconsistencias en los nodos de la pagina http://200.57.3.46:443/PyS/catPyS.aspx

anexo imágenes.

Slds....
Mapasac
General Escobedo, N.L. Mexico

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electronica-mexico+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-electronica-mexico@googlegroups.com.

Angel Perez

unread,
Oct 5, 2017, 6:39:14 PM10/5/17
to vfp-factura-ele...@googlegroups.com
Favor de hacer caso omiso al último correo, ya resolví el problema, de cualquier forma gracias!!
Reply all
Reply to author
Forward
0 new messages