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:
- PCial\Cialdoco\Actions\CialdocoDerivationManagerAction para gestionar documentos con origen
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
- Visibilidad: public
- Descripción: Constructor de la clase
- Parámetros:
soporte(string) - Tipo de documento a crear
Asignar documento origen a partir del ID: CialdocoDerivationManagerAction::setCialdocoSourceDataById
- Visibilidad: public
- Descripción: Asignar documento origen a partir del ID
- Parámetros:
id_cocabe_source(string) - ID del cialdoco origen
- Devuelve: string - Se retorna posible string de error o string vacía si no hay
Obtener registro documento origen: CialdocoDerivationManagerAction::getCialdocoSourceData
- Visibilidad: public
- Descripción: Retornar registro cabecera origen asignado
- Devuelve: array - Registro de cabecera del documento origen asignado previamente
Creación documento con origen: CialdocoDerivationManagerAction::createCialdocoFromSource
- Visibilidad: public
- Descripción: Crear cabecera cialdoco y guardar el registro de la misma en $this->cialdocoData (si no hay error) Se llama al método
cialdocoArrastraOrigenColsdel cialdoco para arrastrar campos de origen a destino, pero los campos $data recibidos tienen preferencia, y machacarán siempre los campos del arrastre. El registro origen debe haberse definido previamente con alguno de los métodos para ello. - Parámetros:
data(array) - Campos del cialdoco a asignar a la cabecera, se dispara un EVENT por cada uno de ellos, y en el orden recibido
- Devuelve: string - Se retorna posible string de error o string vacía si no hay
Asignar línea documento origen a partir del ID: CialdocoDerivationManagerAction::setCialdocolinSourceDataById
- Visibilidad: public
- Descripción: Asignar línea documento origen a partir del ID
- Parámetros:
id_coline_source(string) - ID del cialdocolin origen
- Devuelve: string - Se retorna posible string de error o string vacía si no hay
Obtener registro línea origen asignado: CialdocoDerivationManagerAction::getCialdocolinSourceData
- Visibilidad: public
- Descripción: Retornar registro línea origen asignado
- Devuelve: array - Registro de línea origen asignado
Crear línea documento con origen CialdocoDerivationManagerAction::createCialdocolinFromSource
- Visibilidad: public
- Descripción: Crear línea cialdocolin y guardar el registro de la misma en $this->cialdocolinData (si no hay error) Se llama al método
cialdocolinArrastraOrigenColsdel cialdocolin para arrastrar campos de origen a destino, pero los campos $data recibidos tienen preferencia, y machacarán siempre los campos del arrastre. El registro línea origen debe haberse definido previamente con alguno de los métodos para ello. - Parámetros:
data(array) - Campos del cialdocolin a asignar a la línea, se dispara un EVENT por cada uno de ellos, y en el orden recibido
- Devuelve: string - Se retorna posible string de error o string vacía si no hay
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);
}
}