2 Replies Latest reply on Apr 20, 2018 1:00 AM by hernan.scotta

    cuentas de activo

    5cc78b75-7ca8-434a-8810-782daf0b9945

      estimada comunidad, necesito determinar como se configura una cuenta o mapeo de esta para determinar que cuentas tiene asociada, en este caso puntual para cuentas de activo.

        • 1. Re: cuentas de activo
          Clarisa Maman Orfali

          Hola, la verdad no se entiende lo que estas necesitando.

           

          Por favor primero cambia el nombre en tu perfil para saber con quién estamos interactuando y segundo intenta explayarte un poco más para que podamos saber si podemos ayudarte o no.

           

          ¡Saludos!

          • 2. Re: cuentas de activo
            hernan.scotta

            Hola 5cc78b75-7ca..... Si, es verdad lo que dice Clarisa

             

            Igualmente, mientras esperamos tú nueva consulta depurada, intento explicar algo, quizás la pego

            Considero que te referís a como recorrer un Plan de cuentas contable. Si es así, eso desde ya depende en primera instancia, de cómo diseñaste las tablas.

             

            Propongo un diseño básico de plan de cuentas como para partir de ahí

             

            CREATE TABLE tb_ctb_plan_cuentas(

            id_cuenta                  NUMBER(12) NOT NULL,              “Identificador interno”

            ejercicio_contable     NUMBER(4) NOT NULL,                “Ejercicio al que pertenece el plan”

            cuenta_superior        NUMBER(12) NOT NULL,              “El identificador de la cuenta superior, si no tiene es cero”

            codigo_cuenta          NVARCHAR2(60),                           “Código contable de la cuneta”

            descripcion               NVARCHAR2(100),                         “Descripción de la cuenta”

            imputable                  NUMBER(1)                                    “Si es una cuneta imputable o no”

            );

            ALTER TABLE tb_ctb_plan_cuentas ADD CONSTRAINT pk_ctb_plan_cuentas PRIMARY KEY ( id_cuenta);

             

            Llenamos una tabla con info para probar:

             

            insert into tb_ctb_plan_cuentas values ( 1, 1, 0, '1.0.000', 'Activos', 0);

            insert into tb_ctb_plan_cuentas values ( 2, 1, 0, '2.0.000', 'Pasivos', 0);

            insert into tb_ctb_plan_cuentas values ( 3, 1, 0, '3.0.000', 'Patrimonio Neto', 0);

             

            insert into tb_ctb_plan_cuentas values ( 4, 1, 1, '1.1.000', 'Disponibilidades', 0);

            insert into tb_ctb_plan_cuentas values ( 5, 1, 1, '1.2.000', 'Bienes de usos', 0);

             

            insert into tb_ctb_plan_cuentas values ( 6, 1, 4, '1.1.001', 'Caja', 1);

            insert into tb_ctb_plan_cuentas values ( 7, 1, 4, '1.1.002', 'Bancos', 1);

            insert into tb_ctb_plan_cuentas values ( 8, 1, 5, '1.2.001', 'Rodados', 1);

            insert into tb_ctb_plan_cuentas values ( 9, 1, 5, '1.2.002', 'Inmuebles', 1);

             

            insert into tb_ctb_plan_cuentas values (10, 1, 2, '2.1.000', 'Deudas', 0);

            insert into tb_ctb_plan_cuentas values (11, 1, 10, '2.2.000', 'Deudas por operaciones', 1);

             

             

            select * from tb_ctb_plan_cuentas;

            tabla.png

             

            Al fin llegamos; ahora una  consulta que representa un plan de cuentas sería (te agrego además otras columnas valiosas para utilizar como mapeo):

             

            CREATE OR REPLACE VIEW vi_ctb_plan_cuentas

            AS

            SELECT  id_cuenta,

                            ejercicio_contable,

                            cuenta_superior,

                            codigo_cuenta,

                            descripcion,

                            imputable,

            level as nivel,

                           SYS_CONNECT_BY_PATH( descripcion , ' -> ') AS path

            FROM  tb_ctb_plan_cuentas

            START WITH cuenta_superior      = 0

            CONNECT BY PRIOR id_cuenta = cuenta_superior

            ORDER BY codigo_cuenta;

             

            Select * From vi_ctb_plan_cuentas;

            vista.png

             

            Nivel: Te indica en que "altura" del árbol esta una cuenta determinada.

            Path: Ruta o camino para "llegar" a una determinada cuenta.

            (Ambos datos son útiles al momento de realizar operaciones)

             

            Saludos.