Plan general contable


([N2] zenonburgos) #1

Alguien que tenga en funcionamiento un Plan general contable? específicamente cómo se haría la suma en una tabla arbolada, @Pepeto dio esta solución hace años y quiero saber si alguien puede darme una explicación sobre cómo crear las actualizaciones que él sugiere crear:

"Lo que quiero decir es:

Las familias estan en una tabla arbolada, y cada nivel del codigo de la familia tiene p.e. 1 digito mas que el anterior, del modo siguiente:

1
12
123
1234
12345

Si creas una actualizacion, de modo que la familia con el codigo de 5 digitos, actualice sobre la anterior, con 4 digitos, y lo haces bien, el resto funcionara automaticamente, porque las demas se actualizaran en cascada.

La de 4 digitos actualizara sobre la de 3 digitos.
La de 3 digitos actualizara sobre la de 2 digitos.
Y la de 2 digitos actualizara sobre la de 2 digito.

Pero solo es necesario crear una actualizacion que lo haga sobre el nivel anterior, el resto sera recursivo.

un saludo
José Luis"


([N2] Mgalvezh) #2

No veo el problema que tienes, solo creas una actualización sobre un campo maestro que apunta a su nivel anterior, a lo mejor es que no tienes creado este campo y por eso no ves la solución, y el resto te lo hace la base de datos.


([N2] zenonburgos) #3

Pero cuales son los pasos para lograr esto? Podrías dar una explicación más “gráfica”? crear actualizaciones de plurales a su maestro es facil, nunca lo he hecho en una misma tabla.

  1. Se hace con un enlace indirecto real? que apunta a la misma tabla?
  2. La resolución? ID(LEFT(#ID,1) o algo así?

([N2] zenonburgos) #4

He conseguido hacerlo. La mayoría de veces en este foro no les gusta responder como fue en este caso, o las respuestas son poco claras. Habemos usuarios con poca experiencia, las bondades de este estupendo software son extensas y si alguien ha resuelto una situación sería bueno que la compartiera sin egoísmo.
Si alguien necesita ayuda en una situación cómo esta, en la que nadie me respondió o dio medias respuestas; le ayudaré con el mayor de los gustos.


([N1] vgegeo) #5

Hombre, es un foro, no un canal de soporte.
Comprenderás que las aportaciones llegan cuando los usuarios pueden, y ademas creen tener la solución.

Para solicitar ayuda con garantia de respuesta, tienes el canal de soporte que Velneo te presta, que como usuario N2, ademas te corresponde.

Este foro tiene como podras comprobar 8616 temas o post publicados, y esto sale de los usuarios que de forma interesada o no, han participado y aportado su granito de arena cuando han podido y han creido ser útiles sus aportaciones. Hay fechas en las que el foro tiene mas actividad, y por contra, en otras tiene bastante menos.

Tambien ha mejorado bastante la documentacion, y esto habra influido en reducir de alguna manera la participación en el mismo.

Y por ultimo, y tomandote tus mismas palabras que si alguien ha resuelto una situación sería bueno que la compartiera sin egoísmo podrias ser tu mismo el que aportase esa solución a la que has llegado con el mayor de tus gustos, en lugar de evidenciar si alguien te respondió o dio medias respuestas.

Un saludo


([N2] zenonburgos) #6

Evidentemente estabas bastante pendiente de este hilo. Te tomaste el tiempo para hacer todos esos señalamientos -los cuales son válidos y te los acepto en su mayoría- más no te lo tomaste para tratar de ayudar sobre lo que consulté, a pesar que el debate lo abrí hace días. Como bien dices, los usuarios aquí tienen ocupaciones y colaboran cuando pueden; agradezco que tú te hallas tomado un valioso tiempo para responder mi queja casi instantáneamente.
Recurro a este foro para encontrar gente que talvez se haya atascado en lo mismo que yo, a la vez que he “visto” gente muy experimentada que podría ayudar; si no encuentro respuestas, pues recurro a Soporte como también lo dices correctamente. Pido sinceras disculpas a los compañeros del foro por la manera que me expresé; aunque tengo debates sin respuesta abiertos desde hace años, también he recibido consejos muy acertados.
Por supuesto que aportaré la solución, estoy probando que no tenga errores y si los tiene estaré agradecido que alguien me corrija.


([N2] zenonburgos) #7

Disculpen la tardanza para publicar la posible solución, estaba haciendo pruebas. Esta es la manera que creo haberlo resuelto, falta ver cómo se comportará en el campo de “batalla”. Para ponernos en perspectiva, consulté en este foro, de qué forma podía sumar los distintos niveles de las cuentas en un Plan General Contable definido -en mi caso para latinoamerica- de la siguiente forma: 1110101; la idea es que que cada nivel vaya sumando a su nivel “padre”: 1110101 suma a 11101, éste a 111, éste otro a 11, y por último a la cuenta de resumen 1. Esto también podría ser útil para familias de artículos, para que sume valores de artículos a sus familias y sub familias.
Lo hice de 2 formas y creo que las dos me han funcionado; la primera -recogiendo pistas de otros amigos del foro- la hice con un enlace indirecto real; y la segunda (y más fácil) -gracias a los consejos de Soporte Técnico- con un enlace a maestro en la misma tabla. Cómo? pues trataré de explicarlo así:

  1. En la tabla PGC (o cómo uds quieran nombrarla) creamos un nuevo campo alfa 40 llamado PADRE (será el encargado de “recoger” el valor de la cuenta padre como es obvio)
  2. Creamos un nuevo enlace a maestro hacia la misma tabla (lo dejé con el mismo nombre PGC), cambiamos la propiedad Tipo de enlace a Indirecto real, si lo hicieron bien, verán que la propiedad Tabla enlazada será ella misma: PGC
  3. El índice será ID y la resolución (aquí está la clave de todo), ID(#PADRE)
  4. Sobre nuestro campo enlace indirecto real llamado igual PGC creamos una Actualización, añadimos su respectivo Componente de actualización con Campo: VALOR, Modo: Acumular, Fórmula: #VALOR o el campo numérico en el que uds sumen
    Eso es todo, a la hora de dar de alta una nueva cuenta, sabiendo de antemano que han incluido el campo #PADRE en su formulario y en él especifican la cuenta padre de 1110101, la cual sería 11101 (o en el caso de familias de artículos: A01, su padre sería A) haría un maravilloso efecto en cascada asignando valores correspondiente a cada nivel.
    Se supone que cada cuenta recibirá su valor de los asientos contables pero para que uds prueben, pueden asignar una cantidad al campo #VALOR y verán cómo la Actualización se encarga de “repartir” los valores a cada nivel, Atención: se asignan valores solo a las cuentas de posteo (1110101, 1110102, 1110103, etc.)

La segunda forma es aún mas sencilla:

  1. Creamos igual un enlace a maestro hacia nuestra misma tabla PGC
  2. Creamos la actualización sobre ese campo (Campo: VALOR, Modo: Acumular, Fórmula: #VALOR), lo mismo que en la forma 1;

Ya está!! esta forma tiene el mismo efecto, pero, por qué me compliqué explicando la primera? En lo personal me gustó practicar con enlaces Indirecto real, útil por si quieren tomarlo como aprendizaje.

Cuidado!!! deben elegir una de las dos formas ya que estaríamos haciendo dos actualizaciones sobre un mismo campo innecesariamente

Alguna aclaración pueden preguntar, a la vez señalar cualquier error en la explicación. Si alguien tiene otra forma de hacerlo les ruego que me la compartan, talvez con algún proceso, etc. pueda que existan otras maneras más prácticas.