Creación de documentos comerciales en las tablas cialdoco/cialdocolin

Clase QcialdocoCreate

En Quartup, desde Septiembre del 2025, tenemos la nueva clase QcialdocoCreate que nos permite crear documentos y líneas de documentos, con y sin origen, de forma cómoda.

A continuación detallamos los métodos de la clase.


__construct


insertCialdoco


getACialdoco


insertCialdocolin


getACialdocolin


Ejemplo de uso para un documento sin origen:

    public static function ejemploSinOrigen ()
    {
        // creamos objeto
        $soporte = 'PV';
        $cod_serie = 'PED';
        $oCialdocoCreate = new QcialdocoCreate($soporte, $cod_serie);

        // crear cabecera sin origen
        $aData = [
            'cod_cuenta'    => '430000001',
            'fecha'         => date('Y-m-d'),
        ];
        $ko = $oCialdocoCreate->insertCialdoco($aData);
        if ($ko) {
            throw new RuntimeException($ko);
        }

        // crear línea sin origen
        $aData = [
            'cod_articulo'  => 'ABC-123',
            'cantidad'      => '7.5',
            'precio_mone'   => '123.5',
        ];
        $ko = $oCialdocoCreate->insertCialdocolin($aData);
        if ($ko) {
            throw new RuntimeException($ko);
        }
    }

Ejemplo de uso para un documento con origen:

    public static function ejemploConOrigen ()
    {
        // creamos objeto
        $soporte = 'AV';
        $cod_serie = 'ALB';
        $oCialdocoCreate = new QcialdocoCreate($soporte, $cod_serie);

        // leer cabecera origen
        $oCialdoco = QU_TablePool::getOTable('cialdoco');
        $aInit = [
            'id_cocabe'     => '1234567',
        ];
        $aCialdocoPV = $oCialdoco->sqlSelectOne($aInit);

        // crear cabecera con origen
        $aData = [
            'fecha'         => date('Y-m-d'),
            'su_documento'  => 'Alb-987',
        ];
        $ko = $oCialdocoCreate->insertCialdoco($aData, $aCialdocoPV);
        if ($ko) {
            throw new RuntimeException($ko);
        }

        // leer línea origen
        $oCialdocolin = QU_TablePool::getOTable('cialdocolin');
        $aInit = [
            'id_coline'     => '3456789',
        ];
        $aCialdocolinPV = $oCialdocolin->sqlSelectOne($aInit);

        // crear línea con origen
        $aData = [
            'cantidad'      => '7.5',
        ];
        $ko = $oCialdocoCreate->insertCialdocolin($aData, $aCialdocolinPV);
        if ($ko) {
            throw new RuntimeException($ko);
        }
    }