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

Disponemos de una clase que nos permite crear documentos y líneas de documentos, con origen, de forma cómoda. Esta clase es:

Esta clase es derivada de la clase CialdocoManagerAction, por tanto incorpora todos sus métodos, más otros adicionales específicos de las relaciones entre documento.

A continuación detallamos los métodos principales propios de la clase (excluimos los métodos derivados de la clase base).


Constructor: CialdocoDerivationManagerAction::__construct


Asignar documento origen a partir del ID: CialdocoDerivationManagerAction::setCialdocoSourceDataById


Obtener registro documento origen: CialdocoDerivationManagerAction::getCialdocoSourceData


Creación documento con origen: CialdocoDerivationManagerAction::createCialdocoFromSource


Asignar línea documento origen a partir del ID: CialdocoDerivationManagerAction::setCialdocolinSourceDataById


Obtener registro línea origen asignado: CialdocoDerivationManagerAction::getCialdocolinSourceData


Crear línea documento con origen CialdocoDerivationManagerAction::createCialdocolinFromSource


Ejemplo de uso para un documento con origen:

    use PCial\Cialdoco\Actions\CialdocoDerivationManagerAction;

    public static function ejemploConOrigen ()
    {
        // creamos objeto
        $soporte = 'AV';
        $cialdocoManager = new CialdocoDerivationManagerAction($soporte, $cod_serie);

        $cod_serie = 'ALB';
        $cialdocoManager->setSerie($cod_serie);

        // asignar cabecera origen
        $id_cocabe = '1234567';
        $ko = $cialdocoManager->setCialdocoSourceDataById($id_cocabe);
        if ($ko) {
            throw new RuntimeException($ko);
        }

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

        // asignar línea origen
        $id_coline = '3456789';
        $ko = $cialdocoManager->setCialdocolinSourceDataById($id_coline);
        if ($ko) {
            throw new RuntimeException($ko);
        }

        // crear línea con origen
        $data = [
            'cantidad'      => '7.5',
        ];
        $ko = $cialdocoManager->createCialdocolinFromSource($data);
        if ($ko) {
            throw new RuntimeException($ko);
        }
    }