public function insertar()
    {
        // Preparamos variables a usar
        $bd = Aplicacion::instanciar()->obtenerBdRelacional();
        $parametros = [];
        $llavePrimaria = (array) $this->__llavePrimaria;

        // Hacemos recorrido de campos
        foreach ($this->__campos as $campo => $meta) {

            // Verificamos si el campo es llave
            $esLlave = in_array($campo, $llavePrimaria);

            // Validamos requerimiento del campo
            if (!empty($meta['requerido']) && $this->campoVacio($campo)) {
                if (!($esLlave && $this->__llavePrimariaAutonum)) {
                    throw new \RuntimeException("Falta el campo requerido '{$campo}'.");
                }
            }

            // Agregamos campo existente a los parametros de inserción
            if (isset($this->{$campo})) {
                $parametros[$campo . '|' . $meta['tipo']] = $this->{$campo};
            }
        }

        if ($bd->insertar($this->__nombreTabla, $parametros)->ejecutar()) {
            if ($this->__llavePrimariaAutonum && !is_array($this->__llavePrimaria)) {
                $this->{$this->__llavePrimaria} = $bd->ultimoIdInsertado();
            }

            return true;
        }

        return false;
    }