private bool EsTarimaValida(int iCodigoTarima)
        {
            if (iCodigoTarima == 0)
            {
                return(false);
            }
            HHsvc.SCPP_HH proxy = null;
            bool          bResult = false, bResultSpecified = true;

            try
            {
                proxy = new HHsvc.SCPP_HH();
                proxy.EsTarimaValida(iCodigoTarima, true, out bResult, out bResultSpecified);
                return(bResult);
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Tarima cerrada.") || ex.Message.Contains("La tarima ya tiene su capacidad maxima de piezas"))
                {
                    IsDisplayingMessage = true;
                    DialogResult result = MessageBox.Show(ex.Message + "\n ¿Desea entarimar piezas?", "Proceso Entarimado", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
                    bResultSpecified = true;
                    bResult          = false;
                    proxy            = new HHsvc.SCPP_HH();
                    if (result == DialogResult.Yes)
                    {
                        proxy.AbrirTarima(iCodigoTarima, true, out bResult, out bResultSpecified);
                    }
                    return((bResult) ? true : false);
                }
                else
                {
                    IsDisplayingMessage = true;
                    MessageBox.Show(ex.Message, "Proceso Entarimado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                }
                return(false);
            }
            finally
            {
                proxy = null;
            }
        }