function Alta(&$num, $strUsuario, $strServicio, $strCliente, $strDescripcion, $strDocAplicable, $strOficinaAfectada, $strDepartamento, $strProductos2, $strContrato)
 {
     logger('traza', 'clsCNNCS.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " ||||Medición, Análisis y Mejora->No Conformidades->Alta|| clsCNNCS->Alta()");
     //validación datos entrada
     if (is_null($strUsuario)) {
         return false;
     }
     //comprobación oficina
     $oficina = explode('.', $strOficinaAfectada);
     $strCodigo = $oficina[0];
     $existeOficina = $this->existeOficina($strCodigo);
     require_once '../CN/clsCNUsu.php';
     $clsCNUsu = new clsCNUsu();
     $clsCNUsu->setStrBD($this->getStrBD());
     logger('traza', 'clsCNNCS.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNNCS->Alta()->ObtieneOficinaDep_usuario(" . $_SESSION['usuario'] . ")>");
     $datos = $clsCNUsu->ObtieneOficinaDep_usuario($_SESSION['usuario']);
     //Control de la oficina
     if (isset($strOficinaAfectada) && $strOficinaAfectada == '' || $existeOficina == 'NO') {
         $ofi = explode('.', $datos['strOficina']);
         $strCodigo = $ofi[0];
     }
     //Control del departamento
     //si el dato del departamento viene vacio o no existe en la tabla tbdepartamentos, le asigno el departamento del usuario
     $lngDepartamento = 0;
     require_once '../CN/clsCNRecl.php';
     $clsCNRecl = new clsCNRecl();
     $clsCNRecl->setStrBD($this->getStrBD());
     $existeDpto = $clsCNRecl->existeDpto($strDepartamento);
     if (isset($strDepartamento) && $strDepartamento == '' || $existeDpto == 'NO') {
         $lngDepartamento = $datos['lngDepartamento'];
     } else {
         //sino busco el $lngDepartamento
         require_once '../CN/clsCNDep.php';
         $clsCNDep = new clsCNDep();
         $clsCNDep->setStrBD($this->getStrBD());
         $lngDepartamento = $clsCNDep->ObtieneIdDep($strDepartamento);
     }
     require_once '../CAD/clsCADNCS.php';
     $clsCADNCS = new clsCADNCS();
     $clsCADNCS->setStrBD($this->getStrBD());
     return $clsCADNCS->Alta($num, $strUsuario, $strServicio, $strCliente, $strDescripcion, $strDocAplicable, $strCodigo, $lngDepartamento, $strProductos2, $strContrato, $strCodigo);
 }