Home

Linha Microsiga Protheus

Páginas filhas
  • PLSA090IMP - Customiza guia de Serviço/Consulta

Descrição

PLSA090IMP- Ponto de Entrada Para Customizar Guia de Serviço/Consulta

Observações

Exemplos

Preview

Veja também

Idioma

Português(Brasil)

Versões

Versões_Anteriores

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Updates

Parâmetros

Retorno

Nulo()

Eventos de chamada do Ponto de Entrada

Variáveis

Programa Fonte

PLSA090.PRW

#include "PLSR430.CH" #include "PROTHEUS.CH" #define  cPicCNES PesqPict("BB8","BB8_CNES") /*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Fun‡…o    ³ plsa090imp ³ Autor ³ Sandro Hoffman Lopes  ³ Data ³ 18.10.06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Guia de Consulta                                           ³±± ±±³          ³ Guia de Servico Profissional / Servico Auxiliar de Diag-   ³±± ±±³          ³ nostico e Terapia - SP/SADT                                ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³Sintaxe   ³ plsa090imp(void)                                             ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso      ³ Generico                                                   ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ ATUALIZACOES SOFRIDAS DESDE A CONSTRUCAO INICIAL.                     ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ PROGRAMADOR  ³ DATA   ³ BOPS ³  MOTIVO DA ALTERACAO                   ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³              ³        ³      ³                                        ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ user Function plsa090imp(aPar)  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Define Variaveis                                             ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  Local CbCont, Cabec1, Cabec2, Cabec3, nPos, wnrel  Local Tamanho  := "M"  Local cDesc1   := "Impressao da Guia de Consulta/SADT"  Local cDesc2   := "de acordo com a configuracao do usuario."  Local cDesc3   := " "  Local aArea    := GetArea()  Local lPrinter := .T.  Local lGerTXT  := .T.       Local nSvRecno := BEA->(Recno())  Private aReturn  := { "Zebrado", 1,"Administracao", 1, 1, 1, "", 1 }  Private aLinha  := { }  Private NomeProg := "PLSR430"  Private nLastKey := 0  Private Titulo  := "GUIA DE CONSULTA/SADT"  Private cPerg    DEFAULT aPar := {"1",.F.}    MsgStop("Guia Customizada")    If aPar[1] == "1"   cPerg := ""  Else   cPerg := "PLR430"  EndIf    lGerTXT := aPar[2] // Imprime Direto sem passar pela tela de configuracao/preview do relatorio    If aPar[1] == "1" .And. ! (BEA->BEA_STATUS $ "1,4,3")   Help("",1,"PLSR430")   Return  EndIf      If aPar[1] == "2" .And. lGerTXT   If ! Pergunte("PLR430", .T.)    Return   EndIf  EndIf    //--Altera o Set Epch para 1910  nEpoca := SET(5, 1910)    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Variaveis utilizadas para Impressao do Cabecalho e Rodape    ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  CbCont   := 0  Cabec1   := OemtoAnsi(Titulo)  Cabec2   := " "  Cabec3   := " "  cString  := "BEA"  aOrd     := {}                 wnRel := "PLSR430" // Nome Default do relatorio em Disco  wnRel := SetPrint(cString, wnRel, cPerg, @Titulo, cDesc1, cDesc2, cDesc3, .F., aOrd, .F., Tamanho,,.F.,,, lGerTXT)    If nLastKey = 27   Set Filter To   Return  Endif    If lGerTXT   SetPrintFile(wnRel)  EndIf    RptStatus({|lEnd| R430Imp(@lEnd, wnRel, cString, aPar, lGerTXT)}, Titulo)    //-- Posiciona o ponteiro  BEA->(dbGoto(nSvRecno))     /*  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ³Restaura Area e Ordem de Entrada                              ³  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ*/  //--Retornar Set Epoch Padrao  SET(5, nEpoca)  RestArea(aArea)   Return

/*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Funcao    ³ R430IMP  ³ Autor ³ Sandro Hoffman Lopes  ³ Data ³ 18/10/06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡…o ³ Chamada do Relatorio                                       ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso      ³ PLSR430                                                    ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ Static Function R430Imp(lEnd, wnRel, cString, aPar, lGerTXT)

 Local cCodOpe  Local cGrupoDe  Local cGrupoAte  Local cContDe  Local cContAte  Local cSubDe  Local cSubAte  Local nTipo  Local cSQL       Local aConsulta := {}  Local aSADT     := {}    DEFAULT aPar := {"1",.F.}    If aPar[1] == "1" .Or. BEA->(FieldPos("BEA_GUIIMP")) == 0 // Impressao Individual   If BEA->BEA_TIPO == "1"    aAdd(aConsulta, MtaDados(BEA->BEA_TIPO))   Else    aAdd(aSADT, MtaDados(BEA->BEA_TIPO))   EndIf  Else // Impressao por Lote... de acordo com o pergunte   //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   //³ Busca dados de parametros...                                             ³   //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   Pergunte(cPerg,.F.)      cCodOpe   := mv_par01   cGrupoDe  := mv_par02   cGrupoAte := mv_par03                                                                                          cContDe   := mv_par04   cContAte  := mv_par05   cSubDe    := mv_par06   cSubAte   := mv_par07   nTipo     := mv_par08          cSQL := "SELECT R_E_C_N_O_ AS REG FROM " + RetSQLName("BEA")   cSQL += " WHERE BEA_FILIAL = '" + xFilial("BEA") + "'"   cSQL += "   AND BEA_OPEMOV = '" + cCodOpe + "'"   cSQL += "   AND (BEA_CODEMP >= '" + cGrupoDe + "' AND BEA_CODEMP <= '" + cGrupoAte + "')"   cSQL += "   AND (BEA_CONEMP >= '" + cContDe  + "' AND BEA_CONEMP <= '" + cContAte  + "')"   cSQL += "   AND (BEA_SUBCON >= '" + cSubDe   + "' AND BEA_SUBCON <= '" + cSubAte   + "')"   If nTipo == 1    cSQL += " AND BEA_STATUS = '4'"   ElseIf nTipo == 2    cSQL += " AND BEA_GUIIMP = '1'"   Endif     cSQL += " AND D_E_L_E_T_ = ' '"          PLSQuery(cSQL,"Trb")          If Trb->(Eof())    Trb->(dbCloseArea())    Help("",1,"RECNO")    Return   Else      Do While ! Trb->(Eof())     BEA->(dbGoTo(Trb->REG))     If BEA->BEA_TIPO == "1"      aAdd(aConsulta, MtaDados(BEA->BEA_TIPO))     Else      aAdd(aSADT, MtaDados(BEA->BEA_TIPO))     EndIf     Trb->(dbSkip())    Enddo             Trb->(dbCloseArea())   EndIf                  EndIf

 If Len(aConsulta) > 0   PlsTISS1(aConsulta, lGerTXT)  EndIf  If Len(aSADT) > 0   PlsTISS2(aSADT, lGerTXT)  EndIf   Return

/*/ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Funcao    ³ MtaDados ³ Autor ³ Sandro Hoffman Lopes  ³ Data ³ 19/10/06 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Grava STATUS da tabela BEA e chama a funcao "PLSGSADT"     ³±± ±±³          ³ que ira retornar o array com os dados a serem impressos.   ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso      ³ PLSR420N                                                   ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß /*/ Static Function MtaDados(nGuia)

 Local aDados := {}

 If BEA->BEA_STATUS $ "1,4,3" // ALTERACAO PARA IMPRESSAO DE USUARIOS NAO AUTORIZADOS

  BEA->(RecLock("BEA", .F.))   If BEA->BEA_STATUS == "4"    BEA->BEA_STATUS := "1"   EndIf     If BEA->(FieldPos("BEA_GUIIMP")) > 0    BEA->BEA_GUIIMP := "1"   EndIf     BEA->(MsUnLock())      aDados := U_PLSGSADT(nGuia) // Funcao que monta o array com os dados da guia de CONSULTA ou SP/SADT     EndIf    Return aDados

/* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±± ±±³Fun‡ao    ³ PLSGSADT  ³ Autor ³ Sandro                ³ Data ³ 10.01.07 ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±± ±±³Descri‡ao ³ Dados Relatório TISS (Guia Consulta e SP/SADT )             ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³ Uso      ³ SigaPLS                                                     ³±± ±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±± ±±³Parametros³ nGuia ( Informe 1- Guia de Consulta e 2-Guia de SP/SADT )   ³±± ±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±± ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß */

User Function PLSGSADT(nGuia)

 Local aDados  Local aCpo25  Local aCpo26  Local aCpo27  Local aCpo28  Local aCpo29  Local aCpo40  Local aCpo51  Local aCpo52  Local aCpo53  Local aCpo54  Local aCpo55  Local aCpo56  Local aCpo57  Local aCpo58  Local aCpo59  Local aCpo60  Local aCpo61  Local aCpo62  Local aCpo63  Local aCpo72  Local aCpo73  Local aCpo74  Local aCpo75  Local aCpo76  Local aCpo77  Local aCpo78  Local aCpo79  Local aCpo80  Local aCpo81  Local aCpo82  Local aCpo83  Local aCpo84  Local nVrProc  Local nVrMater  Local nVrMedic  Local nVrTaxas  Local nVrDiar  Local nVrGases  Local nTotOPM  Local lTemPFExe  Local lExecPF  Local lBE2Aut

 aDados := {}

 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Operadora                                          ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BA0->(dbSetOrder(1))  BA0->(dbSeek(xFilial("BA0")+BEA->(BEA_OPEUSR)))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Usuario                                            ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BA1->(dbSetOrder(2))  BA1->(dbSeek(xFilial("BA1")+BEA->(BEA_OPEUSR+BEA_CODEMP+BEA_MATRIC+BEA_TIPREG)))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Vidas                                      ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BTS->(dbSetOrder(1))  BTS->(dbSeek(xFilial("BTS")+BA1->BA1_MATVID))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Familias/Usuarios                                  ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BA3->(dbSetorder(01))  BA3->(dbSeek(xFilial("BA3")+BA1->(BA1_CODINT+BA1_CODEMP+BA1_MATRIC)))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Produtos de Saude - Plano                          ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BI3->(dbSetOrder(1))  BI3->(dbSeek(xFilial("BI3")+BA3->(BA3_CODINT+BA3_CODPLA+BA3_VERSAO)))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Medico Solicitante                                 ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BB0->(dbSetOrder(4))  BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTSOL+BEA_REGSOL+BEA_SIGLA)))    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Rede de Atendimento                                ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BAU->(dbSetOrder(1))  BAU->(dbSeek(xFilial("BAU")+BEA->BEA_CODRDA))  //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Contas Medicas                                     ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BD5->(dbSetOrder(1))  BD5->(MsSeek(xFilial("BD5")+BEA->(BEA_OPEMOV+BEA_CODLDP+BEA_CODPEG+BEA_NUMGUI)))    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  //³ Posiciona Especialidade                                      ³  //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  BAQ->(dbSetOrder(1))  BAQ->(MsSeek(xFilial("BAQ")+BEA->(BEA_OPEMOV+BEA_CODESP)))     If nGuia == "1" // Guia de Consulta   // Cabecalho   aAdd(aDados, BA0->BA0_SUSEP) // 1   aAdd(aDados, BEA->(BEA_OPEMOV+"."+BEA_ANOAUT+"."+BEA_MESAUT+"-"+BEA_NUMAUT)) // 2   aAdd(aDados, BEA->BEA_DTDIGI) // 3   // Dados do Beneficiario   If BA1->BA1_CODINT == BA1->BA1_OPEORI .Or. empty(BA1->BA1_MATANT)    aAdd(aDados, BEA->(SubStr(BEA_OPEMOV,1,1)+SubStr(BEA_OPEMOV,2,3)+"."+BEA_CODEMP+"."+BEA_MATRIC+"."+BEA_TIPREG+"-"+BEA_DIGITO) ) // 4   Else    aAdd(aDados, BA1->BA1_MATANT) // 4   EndIf   aAdd(aDados, BI3->BI3_NREDUZ) // 5   aAdd(aDados, BA1->BA1_DTVLCR) // 6   aAdd(aDados, BEA->BEA_NOMUSR) // 7   aAdd(aDados, BTS->BTS_NRCRNA) // 8   // Dados do Contratado   //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   //³ Posiciona Profissional de Saude                              ³   //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   lTemPFExe := .F. // Tem Profissional Executante informado na Guia   lExecPF   := .F. // O executante (RDA) eh pessoa fisica   If ! Empty(BEA->BEA_REGEXE)    BB0->(dbSetOrder(4))    lTemPFExe := BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTEXE+BEA_REGEXE+BEA_SIGEXE)))   Else    If BAU->BAU_TIPPE == "F"     BB0->(dbSetOrder(1))     lExecPF := BB0->(dbSeek(xFilial("BB0")+BAU->BAU_CODBB0))    EndIf   EndIf      cCodRdaEsp := "000364"   nRec := BAU->(Recno())   BAU->(DbSeek(xFilial("BAU")+cCodRdaEsp))      aAdd(aDados, IIf(BAU->BAU_TIPPE == "F", Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BAU->BAU_CPFCGC, "@R 99.999.999/9999-99"))) // 9   aAdd(aDados, BAU->BAU_NOME) // 10      BAU->(DbGoTo(nRec))      BB8->(dbSetOrder(1))   BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC)))        aAdd(aDados, Transform(BB8->BB8_CNES, cPicCNES)) // 11   aAdd(aDados, BB8->BB8_TIPLOG) // 12   aAdd(aDados, BB8->BB8_END) // 13   aAdd(aDados, BB8->BB8_NR_END) // 14   aAdd(aDados, BB8->BB8_COMEND) // 15   aAdd(aDados, BB8->BB8_MUN) // 16   aAdd(aDados, BB8->BB8_EST) // 17   aAdd(aDados, BB8->BB8_CODMUNI) // 18   aAdd(aDados, Transform(BB8->BB8_CEP, "@R 99999-999")) // 19   aAdd(aDados, IIf(lTemPFExe, BB0->BB0_NOME, "")) // 20   aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_CODSIG, "")) // 21   aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_NUMCR, "")) // 22   aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_ESTADO, "")) // 23   aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BAQ->BAQ_CBOS, "")) // 24   // Hipoteses Diagnosticas   aAdd(aDados, BEA->BEA_TIPDOE) // 25   aAdd(aDados, { BEA->BEA_TPODOE, BEA->BEA_UTPDOE } ) // 26   aAdd(aDados, BEA->BEA_INDACI) // 27   aAdd(aDados, BEA->BEA_CID) // 28   aAdd(aDados, BEA->BEA_CIDSEC) // 29   aAdd(aDados, BEA->BEA_CID3) // 30   aAdd(aDados, BEA->BEA_CID4) // 31   // Dados do Atendimento/Procedimento realizado   BE2->(dbSetOrder(1))   cChave := xFilial("BE2")+BEA->(BEA_OPEMOV+BEA_ANOAUT+BEA_MESAUT+BEA_NUMAUT )   If BE2->(MsSeek(cChave))    aAdd(aDados, BEA->BEA_DATPRO) // 32     BD6->(dbSetOrder(1))     BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO)))       aAdd(aDados,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//33        // aAdd(aDados, BE2->BE2_CODPAD) // 33                     aAdd(aDados, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 34    aAdd(aDados, BEA->BEA_TIPCON) // 35   Else    aAdd(aDados, StoD("")) // 32    aAdd(aDados, "") // 33    aAdd(aDados, "") // 34    aAdd(aDados, "") // 35   EndIf                                                            aAdd(aDados, BEA->BEA_TIPSAI) // 36   aAdd(aDados, AllTrim(BEA->BEA_MSG01) + " " + AllTrim(BEA->BEA_MSG02)) // 37   aAdd(aDados, dDataBase) // 38   aAdd(aDados, dDataBase) // 39  ElseIf nGuia == "2" // Guia de SP/SADT   // Dados da Autorizacao   aAdd(aDados, BA0->BA0_SUSEP) // 1   aAdd(aDados, BEA->(BEA_OPEMOV+"."+BEA_ANOAUT+"."+BEA_MESAUT+"-"+BEA_NUMAUT)) // 2   aAdd(aDados, BD5->BD5_GUIINT) // 3      ??       BD5_REGATE, BD5_GUIINT, BD5_REGFOR DEVEM ESTAR NO BOLETIM TECNICO.   aAdd(aDados, BEA->BEA_DATPRO) // 4   aAdd(aDados, BEA->BEA_SENHA) // 5   aAdd(aDados, IIf(Empty(BEA->BEA_SENHA), StoD(""), BEA->BEA_VALSEN)) // 6   aAdd(aDados, BEA->BEA_DTDIGI) // 7   // Dados do Beneficiario   If BA1->BA1_CODINT == BA1->BA1_OPEORI .Or. empty(BA1->BA1_MATANT) // 8    aAdd(aDados, BEA->(SubStr(BEA_OPEMOV,1,1)+SubStr(BEA_OPEMOV,2,3)+"."+BEA_CODEMP+"."+BEA_MATRIC+"."+BEA_TIPREG+"-"+BEA_DIGITO) )   Else    aAdd(aDados, BA1->BA1_MATANT)   EndIf   aAdd(aDados, BI3->BI3_NREDUZ) // 9   aAdd(aDados, BA1->BA1_DTVLCR) // 10   aAdd(aDados, BEA->BEA_NOMUSR) // 11   aAdd(aDados, BTS->BTS_NRCRNA) // 12   // Dados do Contratado Solicitante   //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   //³ Posiciona Medico Solicitante                                 ³   //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   BB0->(dbSetOrder(4) )   BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTSOL+BEA_REGSOL+BEA_SIGLA)))   aAdd(aDados, IIf(Len(AllTrim(BAU->BAU_CPFCGC)) == 11, Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BB0->BB0_CGC, "@R 99.999.999/9999-99"))) // 13   aAdd(aDados, BAU->BAU_NOME) // 14    BB8->(dbSetOrder(1))   BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC)))   aAdd(aDados, Transform(BB8->BB8_CNES, cPicCNES)) // 15   aAdd(aDados, BEA->BEA_NOMSOL) // 16   aAdd(aDados, BEA->BEA_SIGLA) // 17   aAdd(aDados, BEA->BEA_REGSOL) // 18   aAdd(aDados, BEA->BEA_ESTSOL) // 19   aAdd(aDados, BAQ->BAQ_CBOS) // 20   // Dados da solicitacao/procedimentos/exames solicitados   aAdd(aDados, { BEA->BEA_DATSOL, BEA->BEA_HORSOL }) // 21   BDR->(dbSetOrder(1)) // BDR_FILIAL + BDR_CODOPE + BDR_CODTAD   BDR->(MsSeek(xFilial("BDR")+BEA->(BEA_OPEMOV+BEA_TIPADM)))   aAdd(aDados, BDR->BDR_CARINT) // 22   aAdd(aDados, BEA->BEA_CID) // 23   aAdd(aDados, AllTrim(BEA->BEA_INDCLI)+" "+AllTrim(BEA->BEA_INDCL2)) // 24   aCpo25   := {}   aCpo26   := {}   aCpo27   := {}   aCpo28   := {}   aCpo29   := {}   aCpo51   := {}   aCpo52   := {}   aCpo53   := {}   aCpo54   := {}   aCpo55   := {}   aCpo56   := {}   aCpo57   := {}   aCpo58   := {}   aCpo59   := {}   aCpo60   := {}   aCpo61   := {}   aCpo62   := {}   aCpo63   := {}   aCpo72   := {}   aCpo73   := {}   aCpo74   := {}   aCpo75   := {}   aCpo76   := {}   aCpo77   := {}   aCpo78   := {}   aCpo79   := {}   aCpo80   := {}   aCpo81   := {}   aCpo82   := {}   aCpo83   := {}   aCpo84   := {}   nVrProc  := 0   nVrMater := 0   nVrMedic := 0   nVrTaxas := 0   nVrDiar  := 0   nVrGases := 0   nTotOPM  := 0

  BE2->(dbSetOrder(1))   cChave := xFilial("BE2")+BEA->(BEA_OPEMOV+BEA_ANOAUT+BEA_MESAUT+BEA_NUMAUT)   If BE2->(dbSeek(cChave))    Do While !BE2->(Eof()) .And. cChave == BE2->(BE2_FILIAL+BE2_OPEMOV+BE2_ANOAUT+BE2_MESAUT+BE2_NUMAUT)     //    If BE2->BE2_STATUS <> "1" //     BE2->(dbSkip()) //     Loop //    Endif  

    lBE2Aut := BE2->BE2_QTDPRO > 0       BR8->(dbSetOrder(1))     BR8->(dbSeek(xFilial("BR8")+BE2->(BE2_CODPAD+BE2_CODPRO)))          If BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais)              BD6->(dbSetOrder(1))       BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO)))         aAdd(aCpo25,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//25                       // aAdd(aCpo25, BE2->BE2_CODPAD) // 25      aAdd(aCpo26, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 26      aAdd(aCpo27, BE2->BE2_DESPRO) // 27      aAdd(aCpo28, BE2->BE2_QTDPRO) // 28      aAdd(aCpo29, BE2->BE2_QTDPRO) // 29     EndIf         //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿     //³ Posiciona Vias de Acesso                                     ³     //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ     If BEA->BEA_ORIGEM == "1"      BGR->(dbSetOrder(1))      BGR->(MsSeek(xFilial("BGR")+BE2->(BE2_OPEMOV+BE2_VIA)))          If lBE2Aut .And. BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais)       aAdd(aCpo51, BE2->BE2_DATPRO) // 51       aAdd(aCpo52, BE2->BE2_HORPRO) // 52       aAdd(aCpo53, BE2->BE2_HORFIM) // 53        BD6->(dbSetOrder(1))        BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO)))             aAdd(aCpo54,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//54                   // aAdd(aCpo54, BE2->BE2_CODPAD) // 54       aAdd(aCpo55, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 55       aAdd(aCpo56, BE2->BE2_DESPRO) // 56       aAdd(aCpo57, BE2->BE2_QTDPRO) // 57       aAdd(aCpo58, BGR->BGR_VIATIS) // 58       aAdd(aCpo59, BE2->BE2_TECUTI) // 59       aAdd(aCpo60, BE2->BE2_PERVIA) // 60      EndIf      BD6->(dbSetOrder(1)) // BD6_FILIAL + BD6_CODOPE + BD6_CODLDP + BD6_CODPEG + BD6_NUMERO + BD6_ORIMOV + BD6_SEQUEN + BD6_CODPAD + BD6_CODPRO      If BD6->(dbSeek(xFilial("BD6")+BE2->BE2_OPEMOV+BEA->BEA_CODLDP+ BEA->BEA_CODPEG +BE2->BE2_NUMERO+BEA->BEA_ORIMOV+BE2->BE2_SEQUEN+BE2->BE2_CODPAD+BE2->BE2_CODPRO))       If lBE2Aut .And. BR8->BR8_TPPROC <> "5" // OPM (Orteses, Proteses e Materiais Especiais)        aAdd(aCpo61, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 61        aAdd(aCpo62, BD6->BD6_VLRPAG) // 62       EndIf       BR8->(dbSetOrder(1))       If BR8->(dbSeek(xFilial("BR8")+BE2->(BE2_CODPAD+BE2_CODPRO)))        Do Case         Case lBE2Aut .And. BR8->BR8_TPPROC == "0" // Procedimento          nVrProc  += BD6->BD6_VLRPAG         Case lBE2Aut .And. BR8->BR8_TPPROC == "1" // Material          nVrMater += BD6->BD6_VLRPAG         Case lBE2Aut .And. BR8->BR8_TPPROC == "2" // Medicamento          nVrMedic += BD6->BD6_VLRPAG         Case lBE2Aut .And. BR8->BR8_TPPROC == "3" // Taxas          nVrTaxas += BD6->BD6_VLRPAG         Case lBE2Aut .And. BR8->BR8_TPPROC == "4" // Diarias          nVrDiar  += BD6->BD6_VLRPAG         Case lBE2Aut .And. BR8->BR8_TPPROC == "7" // Gases Medicinais          nVrGases += BD6->BD6_VLRPAG         Case BR8->BR8_TPPROC == "5" // OPM (Orteses, Proteses e Materiais Especiais)             // OPM SOLICITADOS             BD6->(dbSetOrder(1))           BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO)))                aAdd(aCpo72,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//72               // aAdd(aCpo72, BE2->BE2_CODPAD) // 72          aAdd(aCpo73, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 73          aAdd(aCpo74, BE2->BE2_DESPRO) // 74          aAdd(aCpo75, BE2->BE2_QTDSOL) // 75          aAdd(aCpo76, BR8->BR8_FABRIC) // 76          aAdd(aCpo77, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 77             // OPM UTILIZADOS             If lBE2Aut               BD6->(dbSetOrder(1))            BD6->(MsSeek(xFilial("BD6")+BD5->(BD5_CODOPE+BD5_CODLDP+BD5_CODPEG+BD5_NUMERO+BD5_ORIMOV)+BE2->(BE2_SEQUEN+BE2_CODPAD+BE2_CODPRO)))                 aAdd(aCpo78,Posicione("BF8", 2, xFilial("BF8")+BD6->(BD6_CODPAD+BD6_CODOPE+BD6_CODTAB), "BF8_TABTIS"))//78                        //aAdd(aCpo78, BE2->BE2_CODPAD) // 78           aAdd(aCpo79, PlsPicPro(BE2->BE2_CODPAD, BE2->BE2_CODPRO)) // 79           aAdd(aCpo80, BE2->BE2_DESPRO) // 80           aAdd(aCpo81, BE2->BE2_QTDPRO) // 81           aAdd(aCpo82, BR8->BR8_CODBAR) // 82           aAdd(aCpo83, Round(BD6->BD6_VLRPAG / BD6->BD6_QTDPRO, 2)) // 83           aAdd(aCpo84, BD6->BD6_VLRPAG) // 84           nTotOPM += BD6->BD6_VLRPAG          EndIf        EndCase       EndIf      Else       aAdd(aCpo61, 0) // 61       aAdd(aCpo62, 0) // 62      EndIf          Endif      BE2->(dbSkip())    Enddo   EndIf     aAdd(aDados, aCpo25)   aAdd(aDados, aCpo26)   aAdd(aDados, aCpo27)   aAdd(aDados, aCpo28)   aAdd(aDados, aCpo29)   // Dados do Contratado executante   lTemPFExe := .F. // Tem Profissional Executante informado na Guia   lExecPF   := .F. // O executante (RDA) eh pessoa fisica   //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   //³ Posiciona Rede de Atendimento                                ³   //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   BAU->(dbSetOrder(1))   BAU->(MsSeek(xFilial("BAU")+BEA->BEA_CODRDA))       //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   //³ Posiciona Profissional de Saude                              ³   //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   If ! Empty(BEA->BEA_REGEXE)    BB0->(dbSetOrder(4) )    lTemPFExe := BB0->(dbSeek(xFilial("BB0")+BEA->(BEA_ESTEXE+BEA_REGEXE+BEA_SIGEXE)))   Else    If BAU->BAU_TIPPE == "F"     BB0->(dbSetOrder(1))     lExecPF := BB0->(dbSeek(xFilial("BB0")+BAU->BAU_CODBB0))    EndIf   EndIf      BB8->(dbSetOrder(1))   BB8->(dbSeek(xFilial("BB8")+BAU->BAU_CODIGO+BEA->(BEA_OPEMOV+BEA_CODLOC)))      If BEA->BEA_ORIGEM == "1"   aAdd(aDados, IIf(BAU->BAU_TIPPE == "F", Transform(BAU->BAU_CPFCGC, "@R 999.999.999-99"), Transform(BAU->BAU_CPFCGC, "@R 99.999.999/9999-99"))) // 30   aAdd(aDados, BAU->BAU_NOME) // 31   aAdd(aDados, BB8->BB8_TIPLOG) // 32   aAdd(aDados, BB8->BB8_END) // 33   aAdd(aDados, BB8->BB8_NR_END) // 34   aAdd(aDados, BB8->BB8_COMEND) // 35   aAdd(aDados, BB8->BB8_MUN) // 36   aAdd(aDados, BB8->BB8_EST) // 37   aAdd(aDados, BB8->BB8_CODMUNI) // 38   aAdd(aDados, Transform(BB8->BB8_CEP, "@R 99999-999")) // 39   Else //Enquanto eh uma liberacao nao tem executante      aAdd(aDados, "") // 30      aAdd(aDados, "") // 31      aAdd(aDados, "") // 32      aAdd(aDados, "") // 33      aAdd(aDados, "") // 34      aAdd(aDados, "") // 35      aAdd(aDados, "") // 36      aAdd(aDados, "") // 37      aAdd(aDados, "") // 38      aAdd(aDados, "") // 39   Endif     aCpo40 := {}   If BEA->BEA_ORIGEM == "1"   aAdd(aCpo40, Transform(BB8->BB8_CNES, cPicCNES)) // 40   Else         aAdd(aCpo40, "") // 40   Endif     If ( lTemPFExe .Or. lExecPF ) .And. BEA->BEA_ORIGEM == "1"    aAdd(aCpo40, IIf(lTemPFExe, IIf(Len(AllTrim(BB0->BB0_CGC)) == 11, Transform(BB0->BB0_CGC, "@R 999.999.999-99"), Transform(BB0->BB0_CGC, "@R 99.999.999/9999-99")), "")) // 40a    aAdd(aDados, aCpo40) // 40 e 40a    aAdd(aDados, IIf(lTemPFExe, BB0->BB0_NOME, "")) // 41    aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_CODSIG, "")) // 42    aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_NUMCR, "")) // 43    aAdd(aDados, IIf(lTemPFExe .Or. lExecPF, BB0->BB0_ESTADO, "")) // 44    aAdd(aDados, { IIf(lTemPFExe .Or. lExecPF, BAQ->BAQ_CBOS, ""), "" }) // 45 e 45a ??????(45a)?????grau de participacao?????   Else    aAdd(aCpo40, "") // 40a    aAdd(aDados, aCpo40) // 40 e 40a    aAdd(aDados, "") // 41    aAdd(aDados, "") // 42    aAdd(aDados, "") // 43    aAdd(aDados, "") // 44    aAdd(aDados, { "", "" }) // 45 e 45a ??????(45a)?????grau de participacao?????   EndIf   // Dados do Atendimento   aAdd(aDados, BEA->BEA_TIPATE) // 46   aAdd(aDados, BEA->BEA_INDACI) // 47   aAdd(aDados, BEA->BEA_TIPSAI) // 48   // Consulta de referencia   aAdd(aDados, BEA->BEA_TIPDOE) // 49   aAdd(aDados, { BEA->BEA_TPODOE, BEA->BEA_UTPDOE } ) // 50      // Procedimentos e exames realizados   aAdd(aDados, aCpo51)   aAdd(aDados, aCpo52)   aAdd(aDados, aCpo53)   aAdd(aDados, aCpo54)   aAdd(aDados, aCpo55)   aAdd(aDados, aCpo56)   aAdd(aDados, aCpo57)   aAdd(aDados, aCpo58)   aAdd(aDados, aCpo59)   aAdd(aDados, aCpo60)   aAdd(aDados, aCpo61)   aAdd(aDados, aCpo62)   aAdd(aDados, aCpo63) // Data e Assinatura de Procedimentos em Serie   If BEA->BEA_ORIGEM == "1"   aAdd(aDados, AllTrim(BEA->BEA_MSG01) + " " + AllTrim(BEA->BEA_MSG02))  // 64   Else            aAdd(aDados, "")  // 64      Endif     aAdd(aDados, nVrProc)  // 65 - Vr Procedimentos   aAdd(aDados, nVrTaxas) // 66 - Vr Taxas e Alugueis   aAdd(aDados, nVrMater) // 67 - Vr Materiais   aAdd(aDados, nVrMedic) // 68 - Vr Medicamentos   aAdd(aDados, nVrDiar)  // 69 - Vr Diarias   aAdd(aDados, nVrGases) // 70 - Vr Gases Medicinais   aAdd(aDados, nVrProc+nVrTaxas+nVrMater+nVrMedic+nVrDiar+nVrGases) // 71 - Vr Total Geral   // OPM Solicitadas   aAdd(aDados, aCpo72)   aAdd(aDados, aCpo73)   aAdd(aDados, aCpo74)   aAdd(aDados, aCpo75)   aAdd(aDados, aCpo76)   aAdd(aDados, aCpo77)   // OPM Utilizadas   aAdd(aDados, aCpo78)   aAdd(aDados, aCpo79)   aAdd(aDados, aCpo80)   aAdd(aDados, aCpo81)   aAdd(aDados, aCpo82)   aAdd(aDados, aCpo83)   aAdd(aDados, aCpo84)   aAdd(aDados, nTotOPM) // 85 - Valor Total de OPM   aAdd(aDados, dDataBase) // 86 - Data e Assinatura do Solicitante   aAdd(aDados, dDataBase) // 87 - Data e Assinatura do Responsavel pela Autorizacao   aAdd(aDados, dDataBase) // 88 - Data e Assinatura do Beneficiario ou Responsavel   If BEA->BEA_ORIGEM == "1"   aAdd(aDados, dDataBase) // 89 - Data e Assinatura do Prestador Executante   Else      aAdd(aDados, ctod("")) // 89 - Data e Assinatura do Prestador Executante   Endif    Else  MsgInfo("Guia Originada da Internação, para Impressão ir a Rotina de Internação.")  EndIf       Return aDados

 

 

  • Sem rótulos