BlackTDN Search

quinta-feira, 5 de julho de 2012

BlackTDN :: ADVPL ~ ValidPerg Customizada

 

Perguntas :: GpeWriter

Existem várias personalizações para ValidPerg e, apesar de contrário a essa técnica, não podia faltar uma personalização ao estilo BlackTDN.

GPEWriter nos possibilitou essa customização. O código, apesar de forçar a escrita, procura garantir a integridade dos dados a serem gravados no SX1 (Dicionário de Perguntas).

Ei-la:

   1: /*
   2:     Programa    : GpeWriter
   3:     Funcao      : ValidPerg
   4:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
   5:     Data        : 02/07/2012
   6:     Descrição   : Verifica as Perguntas a serem utilizadas no Programa
   7:     Sintaxe     : Chamada padrao para programas em "RdMake".
   8:     Uso         : Generico
   9:     Obs.        : 
  10:  
  11: -------------------------------------------------------------------------
  12:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
  13: -------------------------------------------------------------------------
  14: Programador        |Data      |Motivo Alteracao
  15: -------------------------------------------------------------------------
  16:                    |DD/MM/YYYY|
  17: -------------------------------------------------------------------------*/
  18: Static Function ValidPerg(cPerg)
  19:  
  20:     Local aPerg     := Array(0)
  21:     Local aGrpSXG
  22:  
  23:  
  24:     Local cOrdem    := Replicate("0", Len( SX1->X1_ORDEM ) )
  25:     Local cGRPSXG   := ""
  26:  
  27:     Local cX1Tipo
  28:     Local cPicSXG
  29:  
  30:     Local nTamSXG   := 0
  31:     Local nDecSXG   := 0
  32:  
  33:     cPerg           := Padr( cPerg , Len( SX1->X1_GRUPO ) )
  34:  
  35:     cOrdem         := __Soma1( cOrdem )
  36:     cGRPSXG        := ""
  37:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_FILIAL"),X3Decimal("RA_FILIAL"),X3Picture("RA_FILIAL"))
  38:     nTamSXG        := aGRPSXG[1]
  39:     nDecSXG        := aGRPSXG[2]
  40:     cPicSXG        := aGRPSXG[3]
  41:     cX1Tipo        := GetSx3Cache("RA_FILIAL","X3_TIPO")
  42:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Filial De ?")
  43:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Sucursal ?")
  44:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Branch ?")
  45:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch1")
  46:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
  47:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
  48:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
  49:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
  50:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
  51:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR01")
  52:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
  53:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","XM0")
  54:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
  55:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
  56:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHFILDE.")
  57:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
  58:  
  59:     cOrdem         := __Soma1( cOrdem )
  60:     cGRPSXG        := ""
  61:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_FILIAL"),X3Decimal("RA_FILIAL"),X3Picture("RA_FILIAL"))
  62:     nTamSXG        := aGRPSXG[1]
  63:     nDecSXG        := aGRPSXG[2]
  64:     cPicSXG        := aGRPSXG[3]
  65:     cX1Tipo        := GetSx3Cache("RA_FILIAL","X3_TIPO")
  66:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Filial Ate ?")
  67:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Sucursal ?")
  68:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Branch ?")
  69:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch2")
  70:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
  71:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
  72:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
  73:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
  74:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
  75:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR02")
  76:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZ")
  77:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","XM0")
  78:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
  79:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
  80:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHFILAT.")
  81:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
  82:  
  83:     cOrdem         := __Soma1( cOrdem )
  84:     cGRPSXG        := "004"
  85:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_CC"),X3Decimal("RA_CC"),X3Picture("RA_CC"))
  86:     nTamSXG        := aGRPSXG[1]
  87:     nDecSXG        := aGRPSXG[2]
  88:     cPicSXG        := aGRPSXG[3]
  89:     cX1Tipo        := GetSx3Cache("RA_CC","X3_TIPO")
  90:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Centro de Custo De ?")
  91:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Centro de Costo ?")
  92:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Cost Center ?")
  93:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch3")
  94:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
  95:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
  96:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
  97:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
  98:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
  99:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR03")
 100:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 101:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","CTT")
 102:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 103:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 104:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHCCDE.")
 105:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 106:  
 107:     cOrdem         := __Soma1( cOrdem )
 108:     cGRPSXG        := "004"
 109:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_CC"),X3Decimal("RA_CC"),X3Picture("RA_CC"))
 110:     nTamSXG        := aGRPSXG[1]
 111:     nDecSXG        := aGRPSXG[2]
 112:     cPicSXG        := aGRPSXG[3]
 113:     cX1Tipo        := GetSx3Cache("RA_CC","X3_TIPO")    
 114:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Centro de Custo Ate ?")
 115:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Centro de Costo ?")
 116:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Cost Center ?")
 117:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch4")
 118:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 119:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 120:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 121:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 122:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 123:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR04")
 124:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZZZZZZZZ")
 125:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","CTT")
 126:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 127:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 128:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHCCAT.")
 129:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 130:  
 131:     cOrdem         := __Soma1( cOrdem )
 132:     cGRPSXG        := ""
 133:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_MAT"),X3Decimal("RA_MAT"),X3Picture("RA_MAT"))
 134:     nTamSXG        := aGRPSXG[1]
 135:     nDecSXG        := aGRPSXG[2]
 136:     cPicSXG        := aGRPSXG[3]
 137:     cX1Tipo        := GetSx3Cache("RA_MAT","X3_TIPO")    
 138:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Matricula De ?")
 139:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Matricula ?")
 140:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Registration ?")
 141:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch5")
 142:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 143:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 144:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 145:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 146:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 147:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR05")
 148:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 149:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SRA")
 150:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 151:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 152:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHMATD.")
 153:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 154:  
 155:     cOrdem         := __Soma1( cOrdem )
 156:     cGRPSXG        := ""
 157:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_MAT"),X3Decimal("RA_MAT"),X3Picture("RA_MAT"))
 158:     nTamSXG        := aGRPSXG[1]
 159:     nDecSXG        := aGRPSXG[2]
 160:     cPicSXG        := aGRPSXG[3]
 161:     cX1Tipo        := GetSx3Cache("RA_MAT","X3_TIPO")    
 162:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Matricula Ate ?")
 163:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Matricula ?")
 164:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Registration ?")
 165:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch6")
 166:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 167:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 168:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 169:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 170:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 171:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR06")
 172:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZZZZZ")
 173:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SRA")
 174:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 175:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 176:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHMATA.")
 177:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 178:     
 179:     cOrdem         := __Soma1( cOrdem )
 180:     cGRPSXG        := ""
 181:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_NOME"),X3Decimal("RA_NOME"),X3Picture("RA_NOME"))
 182:     nTamSXG        := aGRPSXG[1]
 183:     nDecSXG        := aGRPSXG[2]
 184:     cPicSXG        := aGRPSXG[3]
 185:     cX1Tipo        := GetSx3Cache("RA_NOME","X3_TIPO")    
 186:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Nome De ?")
 187:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Nombre ?")
 188:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Name ?")
 189:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch7")
 190:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 191:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 192:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 193:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 194:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 195:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR07")
 196:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 197:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 198:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 199:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 200:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHNOMED.")
 201:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 202:  
 203:     cOrdem         := __Soma1( cOrdem )
 204:     cGRPSXG        := ""
 205:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_NOME"),X3Decimal("RA_NOME"),X3Picture("RA_NOME"))
 206:     nTamSXG        := aGRPSXG[1]
 207:     nDecSXG        := aGRPSXG[2]
 208:     cPicSXG        := aGRPSXG[3]
 209:     cX1Tipo        := GetSx3Cache("RA_NOME","X3_TIPO")    
 210:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Nome Ate ?")
 211:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Nombre ?")
 212:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Name ?")
 213:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch8")
 214:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 215:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 216:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 217:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 218:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 219:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR08")
 220:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ")
 221:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 222:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 223:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 224:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHNOMEA.")
 225:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 226:  
 227:     cOrdem         := __Soma1( cOrdem )
 228:     cGRPSXG        := ""
 229:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_TNOTRAB"),X3Decimal("RA_TNOTRAB"),X3Picture("RA_TNOTRAB"))
 230:     nTamSXG        := aGRPSXG[1]
 231:     nDecSXG        := aGRPSXG[2]
 232:     cPicSXG        := aGRPSXG[3]
 233:     cX1Tipo        := GetSx3Cache("RA_TNOTRAB","X3_TIPO")    
 234:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Turno De ?")
 235:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Turno ?")
 236:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Shift ?")
 237:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_ch9")
 238:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 239:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 240:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 241:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 242:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 243:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR09")
 244:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 245:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SR6")
 246:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 247:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 248:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHTURDE.")
 249:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 250:  
 251:     cOrdem        := __Soma1( cOrdem )
 252:     cGRPSXG        := ""
 253:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_TNOTRAB"),X3Decimal("RA_TNOTRAB"),X3Picture("RA_TNOTRAB"))
 254:     nTamSXG        := aGRPSXG[1]
 255:     nDecSXG        := aGRPSXG[2]
 256:     cPicSXG        := aGRPSXG[3]
 257:     cX1Tipo        := GetSx3Cache("RA_TNOTRAB","X3_TIPO")    
 258:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Turno Ate ?")
 259:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Turno ?")
 260:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Shift ?")
 261:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_cha")
 262:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 263:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 264:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 265:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 266:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 267:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR10")
 268:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZZ")
 269:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SR6")
 270:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 271:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 272:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHTURAT.")
 273:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 274:     
 275:  
 276:     cOrdem         := __Soma1( cOrdem )
 277:     cGRPSXG        := ""
 278:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_CODFUNC"),X3Decimal("RA_CODFUNC"),X3Picture("RA_CODFUNC"))
 279:     nTamSXG        := aGRPSXG[1]
 280:     nDecSXG        := aGRPSXG[2]
 281:     cPicSXG        := aGRPSXG[3]
 282:     cX1Tipo        := GetSx3Cache("RA_CODFUNC","X3_TIPO")    
 283:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Funcao De ?")
 284:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Funcion ?")
 285:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Position ?")
 286:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chb")
 287:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 288:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 289:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 290:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 291:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 292:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR11")
 293:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 294:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SRJ")
 295:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 296:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 297:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHFUNCD.")
 298:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 299:  
 300:     cOrdem         := __Soma1( cOrdem )
 301:     cGRPSXG        := ""
 302:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_CODFUNC"),X3Decimal("RA_CODFUNC"),X3Picture("RA_CODFUNC"))
 303:     nTamSXG        := aGRPSXG[1]
 304:     nDecSXG        := aGRPSXG[2]
 305:     cPicSXG        := aGRPSXG[3]
 306:     cX1Tipo        := GetSx3Cache("RA_CODFUNC","X3_TIPO")    
 307:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Funcao Ate ?")
 308:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Funcion ?")
 309:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Position ?")
 310:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chc")
 311:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 312:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 313:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 314:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 315:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 316:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR12")
 317:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZZZZ")
 318:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","SRJ")
 319:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 320:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 321:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHFUNCA.")
 322:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 323:  
 324:     cOrdem         := __Soma1( cOrdem )
 325:     cGRPSXG        := ""
 326:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_SINDICA"),X3Decimal("RA_SINDICA"),X3Picture("RA_SINDICA"))
 327:     nTamSXG        := aGRPSXG[1]
 328:     nDecSXG        := aGRPSXG[2]
 329:     cPicSXG        := aGRPSXG[3]
 330:     cX1Tipo        := GetSx3Cache("RA_SINDICA","X3_TIPO")    
 331:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Sindicato De ?")
 332:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Sindicato ?")
 333:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Union ?")
 334:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chd")
 335:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 336:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 337:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 338:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 339:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 340:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR13")
 341:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 342:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","RCE")
 343:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 344:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 345:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHSINDID.")
 346:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 347:  
 348:     cOrdem         := __Soma1( cOrdem )
 349:     cGRPSXG        := ""
 350:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_SINDICA"),X3Decimal("RA_SINDICA"),X3Picture("RA_SINDICA"))
 351:     nTamSXG        := aGRPSXG[1]
 352:     nDecSXG        := aGRPSXG[2]
 353:     cPicSXG        := aGRPSXG[3]
 354:     cX1Tipo        := GetSx3Cache("RA_SINDICA","X3_TIPO")    
 355:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Sindicato Ate ?")
 356:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Sindicato ?")
 357:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Union ?")
 358:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_che")
 359:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 360:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 361:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 362:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 363:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 364:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR14")
 365:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ZZ")
 366:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","RCE")
 367:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 368:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 369:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHSINDIA.")
 370:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 371:  
 372:     cOrdem         := __Soma1( cOrdem )
 373:     cGRPSXG        := ""
 374:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_ADMISSA"),X3Decimal("RA_ADMISSA"),X3Picture("RA_ADMISSA"))
 375:     nTamSXG        := aGRPSXG[1]
 376:     nDecSXG        := aGRPSXG[2]
 377:     cPicSXG        := aGRPSXG[3]
 378:     cX1Tipo        := GetSx3Cache("RA_ADMISSA","X3_TIPO")    
 379:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Admissao De ?")
 380:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿De Admision ?")
 381:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"From Adimission ?")
 382:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chf")
 383:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 384:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 385:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 386:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 387:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 388:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR15")
 389:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","15/12/1970")
 390:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 391:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 392:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 393:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 394:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 395:  
 396:     cOrdem         := __Soma1( cOrdem )
 397:     cGRPSXG        := ""
 398:     aGRPSXG        := SXGSize(cGRPSXG,X3Tamanho("RA_ADMISSA"),X3Decimal("RA_ADMISSA"),X3Picture("RA_ADMISSA"))
 399:     nTamSXG        := aGRPSXG[1]
 400:     nDecSXG        := aGRPSXG[2]
 401:     cPicSXG        := aGRPSXG[3]
 402:     cX1Tipo        := GetSx3Cache("RA_ADMISSA","X3_TIPO")    
 403:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Admissao Ate ?")
 404:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿A Admision ?")
 405:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"To Admission ?")
 406:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chg")
 407:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 408:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 409:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 410:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 411:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 412:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR16")
 413:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","15/12/2999")
 414:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 415:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 416:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 417:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 418:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 419:  
 420:     cOrdem         := __Soma1( cOrdem )
 421:     cGRPSXG        := ""
 422:     aGRPSXG        := SXGSize(cGRPSXG,5,0,"")
 423:     nTamSXG        := aGRPSXG[1]
 424:     nDecSXG        := aGRPSXG[2]
 425:     cPicSXG        := aGRPSXG[3]
 426:     cX1Tipo        := "C"
 427:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Situacoes  a Impr. ?")
 428:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Situaciones a Impr ?")
 429:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Status to Print ?")
 430:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chh")
 431:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 432:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 433:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 434:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 435:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","fSituacao")
 436:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR17")
 437:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01"," ADFT")
 438:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 439:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 440:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 441:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHSITUA.")
 442:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 443:  
 444:     cOrdem         := __Soma1( cOrdem )
 445:     cGRPSXG        := ""
 446:     aGRPSXG        := SXGSize(cGRPSXG,15,0,"")
 447:     nTamSXG        := aGRPSXG[1]
 448:     nDecSXG        := aGRPSXG[2]
 449:     cPicSXG        := aGRPSXG[3]
 450:     cX1Tipo        := "C"
 451:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Categorias a Impr. ?")
 452:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Categorias a Impr. ?")
 453:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Categories to Print ?")
 454:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chi")
 455:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 456:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 457:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 458:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 459:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","fCategoria")
 460:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR18")
 461:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","ACDEGHMPST")
 462:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 463:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 464:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 465:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP",".RHCATEG.")
 466:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 467:     
 468:     cOrdem         := __Soma1( cOrdem )
 469:     cGRPSXG        := ""
 470:     aGRPSXG        := SXGSize(cGRPSXG,40,0,"")
 471:     nTamSXG        := aGRPSXG[1]
 472:     nDecSXG        := aGRPSXG[2]
 473:     cPicSXG        := aGRPSXG[3]
 474:     cX1Tipo        := "C"
 475:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Texto Livre 01 ?")
 476:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Texto Libre 01 ?")
 477:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Free Text 01 ?")
 478:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chj")
 479:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 480:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 481:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 482:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 483:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 484:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR19")
 485:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","< Texto Livre 01 >")
 486:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 487:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 488:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 489:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 490:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 491:  
 492:     cOrdem         := __Soma1( cOrdem )
 493:     cGRPSXG        := ""
 494:     aGRPSXG        := SXGSize(cGRPSXG,40,0,"")
 495:     nTamSXG        := aGRPSXG[1]
 496:     nDecSXG        := aGRPSXG[2]
 497:     cPicSXG        := aGRPSXG[3]
 498:     cX1Tipo        := "C"
 499:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Texto Livre 02 ?")
 500:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Texto Libre 02 ?")
 501:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Free Text 02 ?")
 502:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chk")
 503:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 504:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 505:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 506:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 507:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 508:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR20")
 509:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","< Texto Livre 02 >")
 510:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 511:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 512:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 513:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 514:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 515:  
 516:     cOrdem         := __Soma1( cOrdem )
 517:     cGRPSXG        := ""
 518:     aGRPSXG        := SXGSize(cGRPSXG,40,0,"")
 519:     nTamSXG        := aGRPSXG[1]
 520:     nDecSXG        := aGRPSXG[2]
 521:     cPicSXG        := aGRPSXG[3]
 522:     cX1Tipo        := "C"
 523:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Texto Livre 03 ?")
 524:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Texto Libre 03 ?")
 525:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Free Text 03 ?")
 526:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chl")
 527:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 528:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 529:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 530:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 531:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 532:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR21")
 533:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","< Texto Livre 03 >")
 534:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 535:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 536:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 537:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 538:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 539:  
 540:     cOrdem         := __Soma1( cOrdem )
 541:     cGRPSXG        := ""
 542:     aGRPSXG        := SXGSize(cGRPSXG,40,0,"")
 543:     nTamSXG        := aGRPSXG[1]
 544:     nDecSXG        := aGRPSXG[2]
 545:     cPicSXG        := aGRPSXG[3]
 546:     cX1Tipo        := "C"
 547:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Texto Livre 04 ?")
 548:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Texto Libre 04 ?")
 549:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Free Text 04 ?")
 550:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chm")
 551:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 552:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 553:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 554:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 555:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 556:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR22")
 557:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","< Texto Livre 04 >")
 558:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 559:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 560:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 561:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 562:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 563:  
 564:     cOrdem         := __Soma1( cOrdem )
 565:     cGRPSXG        := ""
 566:     aGRPSXG        := SXGSize(cGRPSXG,3,0,"")
 567:     nTamSXG        := aGRPSXG[1]
 568:     nDecSXG        := aGRPSXG[2]
 569:     cPicSXG        := aGRPSXG[3]
 570:     cX1Tipo        := "N"
 571:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Nro. Copias ?")
 572:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Numero Copias ?")
 573:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"CopyNumber ?")
 574:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chn")
 575:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 576:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 577:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 578:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 579:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","naovazio")
 580:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR23")
 581:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","1")
 582:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 583:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 584:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 585:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 586:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 587:  
 588:     cOrdem         := __Soma1( cOrdem )
 589:     cGRPSXG        := ""
 590:     aGRPSXG        := SXGSize(cGRPSXG,1,0,"")
 591:     nTamSXG        := aGRPSXG[1]
 592:     nDecSXG        := aGRPSXG[2]
 593:     cPicSXG        := aGRPSXG[3]
 594:     cX1Tipo        := "N"
 595:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Ordem de Impressao ?")
 596:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Orden de Impresion ?")
 597:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Printing Order ?")
 598:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_cho")
 599:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 600:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 601:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 602:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PRESEL",1)
 603:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","C")
 604:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 605:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR24")
 606:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 607:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF01","Matricula")
 608:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA1","Matricula")
 609:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG1","Registration")
 610:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF02","Centro de Custo")
 611:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA2","Centro de Costo")
 612:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG2","Cost Center")
 613:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF03","Nome")
 614:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA3","Nombre")
 615:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG3","Name")  
 616:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF04","Turno")
 617:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA4","Turno")
 618:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG4","Shift")
 619:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF05","Admissao")
 620:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA5","Admision")
 621:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG5","Admission")
 622:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 623:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 624:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 625:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 626:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 627:  
 628:     cOrdem         := __Soma1( cOrdem )
 629:     cGRPSXG        := ""
 630:     aGRPSXG        := SXGSize(cGRPSXG,75,0,"")
 631:     nTamSXG        := aGRPSXG[1]
 632:     nDecSXG        := aGRPSXG[2]
 633:     cPicSXG        := aGRPSXG[3]
 634:     cX1Tipo        := "C"
 635:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Arquivo do Writer?")
 636:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Archivo del Writer?")
 637:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Writer File ?")
 638:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","mv_chp")
 639:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 640:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 641:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 642:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 643:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","fOpen_Word()")
 644:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR25")
 645:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","1")
 646:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 647:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 648:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 649:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 650:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 651:  
 652:     cOrdem         := __Soma1( cOrdem )
 653:     cGRPSXG        := ""
 654:     aGRPSXG        := SXGSize(cGRPSXG,1,0,"")
 655:     nTamSXG        := aGRPSXG[1]
 656:     nDecSXG        := aGRPSXG[2]
 657:     cPicSXG        := aGRPSXG[3]
 658:     cX1Tipo        := "N"
 659:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Verific.Dependente ?")
 660:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Verific.Dependiente ?")
 661:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Check Dependant ?")
 662:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","MV_CHQ")
 663:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 664:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 665:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 666:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PRESEL",1)
 667:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","C")
 668:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 669:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR26")
 670:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 671:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF01","Sim")
 672:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA1","Si")
 673:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG1","Yes")
 674:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF02","Nao")
 675:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA2","No")
 676:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG2","No")
 677:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 678:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 679:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 680:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 681:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 682:  
 683:     cOrdem         := __Soma1( cOrdem )
 684:     cGRPSXG        := ""
 685:     aGRPSXG        := SXGSize(cGRPSXG,1,0,"")
 686:     nTamSXG        := aGRPSXG[1]
 687:     nDecSXG        := aGRPSXG[2]
 688:     cPicSXG        := aGRPSXG[3]    
 689:     cX1Tipo        := "N"
 690:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Tipo de Dependente ?")
 691:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Tipo de Dependiente ?")
 692:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Dependent Type ?")
 693:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","MV_CHR")
 694:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 695:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 696:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 697:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PRESEL",3)
 698:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","C")
 699:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 700:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR27")
 701:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 702:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF01","Dep.Sal.Familia")
 703:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA1","Dep.Sal.Familia")
 704:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG1","Fam.Allow.Dep.")
 705:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF02","Dep.Imp.Renda")
 706:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA2","Dep.Imp.Renta")
 707:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG2","Income Dep.")
 708:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF02","Ambos")
 709:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA2","Ambos")
 710:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG2","Both")
 711:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 712:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 713:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 714:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 715:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 716:  
 717:     cOrdem         := __Soma1( cOrdem )
 718:     cGRPSXG        := ""
 719:     aGRPSXG        := SXGSize(cGRPSXG,1,0,"")
 720:     nTamSXG        := aGRPSXG[1]
 721:     nDecSXG        := aGRPSXG[2]
 722:     cPicSXG        := aGRPSXG[3]    
 723:     cX1Tipo        := "N"
 724:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Impressao ?")
 725:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Impresion ?")
 726:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"Printing ?")
 727:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","MV_CHS")
 728:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 729:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 730:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 731:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PRESEL",1)
 732:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","C")
 733:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 734:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR28")
 735:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 736:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF01","Impressora")
 737:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA1","Impresora")
 738:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG1","Printer")
 739:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEF02","Arquivo")
 740:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFSPA2","Arquivo")
 741:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DEFENG2","Arquivo")
 742:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 743:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 744:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 745:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 746:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 747:  
 748:     cOrdem         := __Soma1( cOrdem )
 749:     cGRPSXG        := ""
 750:     aGRPSXG        := SXGSize(cGRPSXG,5,0,"") 
 751:     nTamSXG        := aGRPSXG[1]
 752:     nDecSXG        := aGRPSXG[2]
 753:     cPicSXG        := aGRPSXG[3]
 754:     cX1Tipo        := "C"
 755:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERGUNT","Extensao do arquivo ?")
 756:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERSPA" ,"¿Extensión de archivo ?")
 757:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PERENG" ,"File Extension ?")
 758:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VARIAVL","MV_CHT")
 759:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TIPO",cX1Tipo)
 760:     AddPerg(@aPerg,cPerg,cOrdem,"X1_TAMANHO",nTamSXG)
 761:     AddPerg(@aPerg,cPerg,cOrdem,"X1_DECIMAL",nDecSXG)
 762:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GSC","G")
 763:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VALID","")
 764:     AddPerg(@aPerg,cPerg,cOrdem,"X1_VAR01","MV_PAR29")
 765:     AddPerg(@aPerg,cPerg,cOrdem,"X1_CNT01","")
 766:     AddPerg(@aPerg,cPerg,cOrdem,"X1_F3","")
 767:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PYME","S")
 768:     AddPerg(@aPerg,cPerg,cOrdem,"X1_GRPSXG",cGRPSXG)
 769:     AddPerg(@aPerg,cPerg,cOrdem,"X1_HELP","")
 770:     AddPerg(@aPerg,cPerg,cOrdem,"X1_PICTURE",cPicSXG)
 771:  
 772:     PutSX1(@cPerg,@aPerg)
 773:  
 774: Return(Pergunte(cPerg,.F.))
 775:  
 776: /*
 777:     Programa    : GpeWriter
 778:     Funcao      : PutSX1
 779:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
 780:     Data        : 02/07/2012
 781:     Descrição   : Adiciona e/ou Remove Perguntas utilizadas no Programa
 782:     Sintaxe     : Chamada padrao para programas em "RdMake".
 783:     Uso         : Generico
 784:     Obs.        : 
 785:  
 786: -------------------------------------------------------------------------
 787:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
 788: -------------------------------------------------------------------------
 789: Programador        |Data      |Motivo Alteracao
 790: -------------------------------------------------------------------------
 791:                    |DD/MM/YYYY|
 792: -------------------------------------------------------------------------*/
 793: Static Procedure PutSX1(cPerg,aPerg)
 794:  
 795:     Local cKeySeek
 796:  
 797:     Local lFound
 798:     Local lAddNew
 799:  
 800:     Local nBL
 801:     Local nEL        := Len( aPerg )
 802:  
 803:     Local nAT
 804:     Local nField
 805:     Local nFields
 806:     Local nAtField
 807:  
 808:     Local __nGrupo   := 1
 809:     Local __nOrdem   := 2
 810:     Local __nField   := 3
 811:  
 812:     Local uCNT
 813:  
 814:     SX1->( dbSetOrder( 1 ) ) //X1_GRUPO+X1_ORDEM
 815:  
 816:     cPerg            := Padr( cPerg , Len( SX1->X1_GRUPO ) )
 817:  
 818:     SX1->( dbGoTop() )
 819:     SX1->( dbSeek( cPerg , .F. ) )
 820:  
 821:     While SX1->( !Eof() .and. X1_GRUPO == cPerg )
 822:         nAT       := SX1->( aScan( aPerg , { |x| (  ( x[__nGrupo] == X1_GRUPO ) .and. ( x[__nOrdem] == X1_ORDEM ) ) } ) )
 823:         lFound    := ( nAT > 0 )
 824:         IF !( lFound )
 825:             IF SX1->( RecLock( "SX1" , .F. ) )    
 826:                 SX1->( dbDelete() )
 827:                 SX1->( MsUnLock() )
 828:             EndIF
 829:         EndIF
 830:         SX1->( dbSkip() )
 831:     End While
 832:  
 833:     For nBL := 1 To nEL
 834:         cKeySeek  := aPerg[nBL][__nGrupo]
 835:         cKeySeek  += aPerg[nBL][__nOrdem]
 836:         lFound    := SX1->( dbSeek( cKeySeek , .T. ) )
 837:         lAddNew   := !( lFound )
 838:         IF SX1->( RecLock( "SX1" , lAddNew ) )
 839:             nFields := Len( aPerg[nBL][__nField] )
 840:             For nField := 1 To nFields
 841:                 nAtField := aPerg[nBL][__nField][nField][4]
 842:                 lChange  := ( aPerg[nBL][__nField][nField][3] .and. ( nAtField > 0 ) )
 843:                 IF ( lChange )
 844:                     uCNT := aPerg[nBL][__nField][nField][2]
 845:                     SX1->( FieldPut( nAtField , uCNT ) )
 846:                 EndIF
 847:             Next nField
 848:             SX1->( MsUnLock() )
 849:         EndIF
 850:     Next nBL
 851:  
 852: Return
 853:  
 854: /*
 855:     Programa    : GpeWriter
 856:     Funcao      : AddPerg
 857:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
 858:     Data        : 02/07/2012
 859:     Descrição   : Adiciona Informacoes do compo
 860:     Sintaxe     : Chamada padrao para programas em "RdMake".
 861:     Uso         : Generico
 862:     Obs.        : 
 863:  
 864: -------------------------------------------------------------------------
 865:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
 866: -------------------------------------------------------------------------
 867: Programador        |Data      |Motivo Alteracao
 868: -------------------------------------------------------------------------
 869:                    |DD/MM/YYYY|
 870: -------------------------------------------------------------------------*/
 871: Static Procedure AddPerg(aPerg,cGrupo,cOrdem,cField,uCNT)
 872:  
 873:     Local bEval
 874:  
 875:     Local nAT
 876:     Local nATField
 877:  
 878:     Local __nGrupo    := 1
 879:     Local __nOrdem    := 2
 880:     Local __nField    := 3
 881:  
 882:     Static aX1Fields
 883:     Static __cX1Fields
 884:  
 885:     IF !( Type("cEmpAnt") == "C" )
 886:         Private cEmpAnt := ""
 887:     EndIF
 888:  
 889:     IF ( ( aX1Fields == NIL ) .or. !( __cX1Fields == cEmpAnt ) )
 890:         __cX1Fields := cEmpAnt
 891:         aX1Fields   := {;
 892:                                     { "X1_GRUPO"     , NIL , .T. , 0 },;
 893:                                     { "X1_ORDEM"     , NIL , .T. , 0 },;
 894:                                     { "X1_PERGUNT"   , NIL , .T. , 0 },;
 895:                                     { "X1_PERSPA"    , NIL , .T. , 0 },;
 896:                                     { "X1_PERENG"    , NIL , .T. , 0 },;
 897:                                     { "X1_VARIAVL"   , NIL , .T. , 0 },;
 898:                                     { "X1_TIPO"      , NIL , .T. , 0 },;
 899:                                     { "X1_TAMANHO"   , NIL , .T. , 0 },;
 900:                                     { "X1_DECIMAL"   , NIL , .T. , 0 },;
 901:                                     { "X1_PRESEL"    , NIL , .F. , 0 },;
 902:                                     { "X1_GSC"       , NIL , .T. , 0 },;
 903:                                     { "X1_VALID"     , NIL , .T. , 0 },;
 904:                                     { "X1_VAR01"     , NIL , .T. , 0 },;
 905:                                     { "X1_DEF01"     , NIL , .T. , 0 },;
 906:                                     { "X1_DEFSPA1"   , NIL , .T. , 0 },;
 907:                                     { "X1_DEFENG1"   , NIL , .T. , 0 },;
 908:                                     { "X1_CNT01"     , NIL , .F. , 0 },;
 909:                                     { "X1_VAR02"     , NIL , .T. , 0 },;
 910:                                     { "X1_DEF02"     , NIL , .T. , 0 },;
 911:                                     { "X1_DEFSPA2"   , NIL , .T. , 0 },;
 912:                                     { "X1_DEFENG2"   , NIL , .T. , 0 },;
 913:                                     { "X1_CNT02"     , NIL , .F. , 0 },;
 914:                                     { "X1_VAR03"     , NIL , .T. , 0 },;
 915:                                     { "X1_DEF03"     , NIL , .T. , 0 },;
 916:                                     { "X1_DEFSPA3"   , NIL , .T. , 0 },;
 917:                                     { "X1_DEFENG3"   , NIL , .T. , 0 },;
 918:                                     { "X1_CNT03"     , NIL , .F. , 0 },;
 919:                                     { "X1_VAR04"     , NIL , .T. , 0 },;
 920:                                     { "X1_DEF04"     , NIL , .T. , 0 },;
 921:                                     { "X1_DEFSPA4"   , NIL , .T. , 0 },;
 922:                                     { "X1_DEFENG4"   , NIL , .T. , 0 },;
 923:                                     { "X1_CNT04"     , NIL , .F. , 0 },;
 924:                                     { "X1_VAR05"     , NIL , .T. , 0 },;
 925:                                     { "X1_DEF05"     , NIL , .T. , 0 },;
 926:                                     { "X1_DEFSPA5"   , NIL , .T. , 0 },;
 927:                                     { "X1_DEFENG5"   , NIL , .T. , 0 },;
 928:                                     { "X1_CNT05"     , NIL , .F. , 0 },;
 929:                                     { "X1_F3"        , NIL , .T. , 0 },;
 930:                                     { "X1_PYME"      , NIL , .T. , 0 },;
 931:                                     { "X1_GRPSXG"    , NIL , .T. , 0 },;
 932:                                     { "X1_HELP"      , NIL , .T. , 0 },;
 933:                                     { "X1_PICTURE"   , NIL , .T. , 0 },;
 934:                                     { "X1_IDFIL"     , NIL , .T. , 0 };
 935:                             }
 936:  
 937:             bEval := { |x,y|;
 938:                                     nATField         := FieldPos(aX1Fields[y][1]),;
 939:                                     aX1Fields[y][2]  := GetValType(ValType(FieldGet(nATField))),;
 940:                                     aX1Fields[y][4]  := nATField,;
 941:                      }
 942:          
 943:             SX1->(aEval(aX1Fields,bEval))
 944:  
 945:         EndIF
 946:  
 947:         nAT := aScan( aPerg , { |x| ( ( x[1] == cGrupo ) .and. ( x[2] == cOrdem ) ) } ) 
 948:  
 949:         IF ( nAT == 0 )
 950:             aAdd( aPerg , { cGrupo , cOrdem , aClone( aX1Fields ) } )
 951:             nAT := Len( aPerg )
 952:         EndIF
 953:  
 954:         cField   := Upper( AllTrim( cField ) )
 955:         nATField := aScan( aPerg[nAT][3] , { |e| ( e[1] == cField ) } )
 956:  
 957:         IF ( nATField > 0 )
 958:  
 959:             aPerg[nAT][__nField][nATField][2]    := uCNT
 960:  
 961:             nATField    := aScan( aPerg[nAT][3] , { |e| ( e[1] == "X1_GRUPO" ) } )
 962:             IF ( nATField > 0 )
 963:                 aPerg[nAT][__nField][nATField][2]    := cGrupo
 964:             EndIF
 965:  
 966:             nATField    := aScan( aPerg[nAT][3] , { |e| ( e[1] == "X1_ORDEM" ) } )
 967:             IF ( nATField > 0 )
 968:                 aPerg[nAT][__nField][nATField][2]    := cOrdem
 969:             EndIF    
 970:  
 971:         EndIF
 972:  
 973: Return
 974:  
 975: /*
 976:     Programa    : GpeWriter
 977:     Funcao      : SXGSize
 978:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
 979:     Data        : 02/07/2012
 980:     Descrição   : Obtem Informações do Grupo em SXG (Size e Picture)
 981:     Sintaxe     : Chamada padrao para programas em "RdMake".
 982:     Uso         : Generico
 983:     Obs.        : 
 984:  
 985: -------------------------------------------------------------------------
 986:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
 987: -------------------------------------------------------------------------
 988: Programador        |Data      |Motivo Alteracao
 989: -------------------------------------------------------------------------
 990:                    |DD/MM/YYYY|
 991: -------------------------------------------------------------------------*/
 992: Static Function SXGSize( cGRPSXG , nSize , nDec , cPicture )
 993:  
 994:     Local cSXGPict
 995:  
 996:     Local nSXGDec
 997:     Local nSXGSize
 998:  
 999:     DEFAULT nSize       := 0
1000:     DEFAULT nDec        := 0
1001:     DEFAULT cPicture    := ""
1002:  
1003:     IF !Empty( cGRPSXG )
1004:  
1005:         SXG->( dbSetOrder( 1 ) ) //XG_GRUPO
1006:         
1007:         lFound          := SXG->( MsSeek( cGRPSXG , .F. ) )
1008:         
1009:         IF ( lFound )
1010:             nSXGSize    := SXG->XG_SIZE
1011:             cSXGPict    := SXG->XG_PICTURE    
1012:         Else
1013:             cSXGPict    := cPicture
1014:             nSXGSize    := nSize
1015:         EndIF
1016:         
1017:         nSXGDec         := nDec
1018:  
1019:     Else
1020:  
1021:         nSXGSize        := nSize
1022:         nSXGDec         := nDec
1023:         cSXGPict        := cPicture
1024:  
1025:     EndIF
1026:  
1027: Return( { nSXGSize , nSXGDec , cSXGPict } )
1028:  
1029: /*
1030:     Programa    : GpeWriter
1031:     Funcao      : X3Tamanho()
1032:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
1033:     Data        : 02/07/2012
1034:     Descrição   : Obtem o Tamanho do campo 
1035:     Sintaxe     : Chamada padrao para programas em "RdMake".
1036:     Uso         : Generico
1037:     Obs.        : 
1038:  
1039: -------------------------------------------------------------------------
1040:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
1041: -------------------------------------------------------------------------
1042: Programador        |Data      |Motivo Alteracao
1043: -------------------------------------------------------------------------
1044:                    |DD/MM/YYYY|
1045: -------------------------------------------------------------------------*/
1046: Static Function X3Tamanho(cField)
1047:     Local nTamanho      := GetSx3Cache(@cField,"X3_TAMANHO")
1048:     DEFAULT nTamanho    := 0
1049: Return(nTamanho)
1050:  
1051: /*
1052:     Programa    : GpeWriter
1053:     Funcao      : X3Decimal()
1054:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
1055:     Data        : 02/07/2012
1056:     Descrição   : Obtem a Decimal do campo 
1057:     Sintaxe     : Chamada padrao para programas em "RdMake".
1058:     Uso         : Generico
1059:     Obs.        : 
1060:  
1061: -------------------------------------------------------------------------
1062:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
1063: -------------------------------------------------------------------------
1064: Programador        |Data      |Motivo Alteracao
1065: -------------------------------------------------------------------------
1066:                    |DD/MM/YYYY|
1067: -------------------------------------------------------------------------*/
1068: Static Function X3Decimal(cField)
1069:     Local nDecimal      := GetSx3Cache(@cField,"X3_DECIMAL")
1070:     DEFAULT nDecimal    := 0
1071: Return(nDecimal)
1072:  
1073: /*
1074:     Programa    : GpeWriter
1075:     Funcao      : X3Picture
1076:     Autor       : Marinaldo de Jesus [http://www.blacktdn.com.br]
1077:     Data        : 02/07/2012
1078:     Descrição   : Obtem a Picture do Campo
1079:     Sintaxe     : Chamada padrao para programas em "RdMake".
1080:     Uso         : Generico
1081:     Obs.        : 
1082:  
1083: -------------------------------------------------------------------------
1084:             ATUALIZACOES SOFRIDAS DESDE A CONSTRU€AO INICIAL.             
1085: -------------------------------------------------------------------------
1086: Programador        |Data      |Motivo Alteracao
1087: -------------------------------------------------------------------------
1088:                    |DD/MM/YYYY|
1089: -------------------------------------------------------------------------*/
1090: Static Function X3Picture(cField)
1091:     Local cPicture      := GetSx3Cache(@cField,"X3_PICTURE")
1092:     DEFAULT cPicture    := ""
1093:     cPicture            := AllTrim(cPicture)
1094: Return(cPicture)

[]s
иαldσ dj

Nenhum comentário:

Postar um comentário