#include "dbtree.ch" #include "font.ch" #include "colors.ch" #Include "msobjects.ch" #include "SET.CH" #include "Protheus.ch" #include "rwmake.ch" #Define linha chr(13)+chr(10) //-------------------------------------------------------------------------|| //Programa | AMFETI01 | Autor | DANIEL EVANDRO BUSO | Data: 23/05/2016 || //-------------------------------------------------------------------------|| //Descricao | CONSULTAR COMPLETO DOS ROMANEIO || // | || //-------------------------------------------------------------------------|| //Módulo | ACD || //-------------------------------------------------------------------------|| User Function AMFROM01() Local aArea := GetArea() Local oDlg, aAreaCB7, lOk Local nOpcao := 0 Local bNo := { || oDlg:End() } Local bOk := { || oDlg:End(nOpcao:= 1) } Local oWBrowse2 Local aWBrowse2 := {} Private oOk := LoadBitmap(GetResources(),'LBOK') Private oNo := LoadBitmap(GetResources(),'LBNO') Private cRom, cDtEmis, cCCli, cNCli, cProd, cDesc, cTipo, cUm, cPv, cItemPv, aCB8, aSA1, aSB1, aSC6 Static oDlg lOk := .F. cRom := Space(06) cDtEmis := Space(10) cCCli := Space(06) cNCli := Space(20) cProd := Space(15) cDesc := Space(40) cTipo := Space(02) cUm := Space(02) cPv := Space(15) cItemPv := Space(06) cToEti := Space(12) cToM2 := Space(12) cToComp := Space(12) cToPb := Space(12) cToPl := Space(12) cToTa := Space(12) aCB8 := {} aSA1 := {} aSB1 := {} aSC6 := {} @ 150,010 TO 700,890 DIALOG oDlg TITLE "Consultar detalhada do Romaneio" @ 007,010 SAY "Código da Romaneio" @ 007,300 SAY "TOTAL DE ETIQUETAS" @ 017,010 SAY "Data de Emissão" @ 017,300 SAY "TOTAL QUANTID. M2" @ 027,010 SAY "Código do Cliente" @ 027,300 SAY "TOTAL COMPRIMENTO" @ 037,010 SAY "Nome do Cliente" @ 037,300 SAY "TOTAL PESO BRUTO" @ 047,010 SAY "Código do Produto" @ 047,300 SAY "TOTAL PESO LIQUIDO" @ 057,010 SAY "Descrição" @ 057,300 SAY "TOTAL TARA" @ 067,010 SAY "Tipo do Produto" @ 077,010 SAY "UM do Produto" @ 087,010 SAY "P.V. do Cliente" @ 087,155 SAY "Item P.V." //fWBrowse1() @ 005,075 GET cRom PICTURE "999999" SIZE 40,10 F3 "CB7" VALID ValidRom(cRom) // CODIGO DO ROMANEIO @ 015,075 GET cDtEmis WHEN .F. SIZE 40,10 // DATA EMISSAO @ 025,075 GET cCCli WHEN .F. SIZE 40,10 // CODIGO CLIENTES @ 035,075 GET cNCli WHEN .F. SIZE 210,10 // NOME CLIENTES @ 045,075 GET cProd WHEN .F. SIZE 70,10 // PRODUTOS @ 055,075 GET cDesc WHEN .F. SIZE 210,10 // DESCRIÇÃO @ 065,075 GET cTipo WHEN .F. SIZE 20,10 // TIPO PRODUTOS @ 075,075 GET cUm WHEN .F. SIZE 20,10 // UM PRODUTOS @ 085,075 GET cPv WHEN .F. SIZE 70,10 // PEDIDO DE VENDA @ 085,180 GET cItemPv WHEN .F. SIZE 40,10 // ITEM PEDIDO DE VENDA @ 005,365 GET cToEti WHEN .F. SIZE 70,10 // TOTAL ETIQUETAS @ 015,365 GET cToM2 WHEN .F. SIZE 70,10 // TOTAL M2 @ 025,365 GET cToComp WHEN .F. SIZE 70,10 // TOTAL COMPRIMENTO @ 035,365 GET cToPb WHEN .F. SIZE 70,10 // TOTAL PESO BRUTO @ 045,365 GET cToPl WHEN .F. SIZE 70,10 // TOTAL PESO LIQUIDO @ 055,365 GET cToTa WHEN .F. SIZE 70,10 // TOTAL TARA Define Font oFont1 Name 'Tahoma' Size 0,-15 Bold oWBrowse2 := TcBrowse():New(103,008,425,153,,,,oDlg,,,,,,,,,,,,.F.,,.T.,,.F.,,,,,) oWBrowse2:AddColumn(TCColumn():New('ROMANEIO' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,1]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('DATA OP' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,2]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('ETIQUETA' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,3]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('NRO.ROLO' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,4]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('OP' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,5]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('LARGURA' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,6]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('QTDE.M2' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,7]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('COMPR.' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,8]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('PESO BRT.' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,9]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('PESO LIQ.' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,10]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) oWBrowse2:AddColumn(TCColumn():New('TARA' ,{||If(Len(aWBrowse2)>0,aWBrowse2[oWBrowse2:nAT,11]," ")} ,,,, "LEFT" ,,.F.,.F.,,,,.F.,)) fWBrowse1(oWBrowse2,aWBrowse2) oWBrowse2:GetColSizes() fCarregaBrw(oDlg,oWBrowse2,aWBrowse2) ACTIVATE MSDIALOG oDlg ON INIT EnchoiceBar(oDlg,bOk,bNo) CENTERED Return /*---------------------------------------------------------------------+ | Função | WndBrwTRB | Autor | DANIEL EVANDRO BUSO | Data | 23/05/2016 | +---------------------------------------------------------------------*/ Static Function fWBrowse1(oWBrowse2,aWBrowse2) oWBrowse2:SetArray(aWBrowse2) oWBrowse2:bLine := {|| {aWBrowse2[oWBrowse2:nAT,1],; aWBrowse2[oWBrowse2:nAt,2],; aWBrowse2[oWBrowse2:nAt,3],; aWBrowse2[oWBrowse2:nAt,4],; aWBrowse2[oWBrowse2:nAt,5],; aWBrowse2[oWBrowse2:nAt,6],; aWBrowse2[oWBrowse2:nAt,7],; aWBrowse2[oWBrowse2:nAt,8],; aWBrowse2[oWBrowse2:nAt,9],; aWBrowse2[oWBrowse2:nAt,10],; aWBrowse2[oWBrowse2:nAt,11]}} Return /*---------------------------------------------------------------------+ | Função | WndBrwTRB | Autor | DANIEL EVANDRO BUSO | Data | 12/04/16 | +---------------------------------------------------------------------*/ Static Function fCarregaBrw(oDlg,oWBrowse2,aWBrowse2) Local cAlias := GetNextAlias() BeginSql Alias cAlias SELECT CB9_ORDSEP, CB0_DTNASC, CB9_CODETI, CB0_ZZROLO, CB0_OP, CB0_ZZLARG, CB0_ZZM2, CB0_QTDE, CB0_ZZPBRT, CB0_ZZPLIQ, CB9_ZZTARA FROM CB9010 INNER JOIN CB0010 ON CB0_FILIAL = '01' AND CB0_CODETI = CB9_CODETI AND CB0010.D_E_L_E_T_ = '' INNER JOIN CB7010 ON CB7_FILIAL = '01' AND CB7_ORDSEP = CB9_ORDSEP AND CB7_PEDIDO = CB9_PEDIDO AND CB7010.D_E_L_E_T_ = '' INNER JOIN SA1010 ON A1_COD = CB7_CLIENT AND SA1010.D_E_L_E_T_ = '' INNER JOIN SB1010 ON B1_FILIAL = '01' AND B1_COD = CB9_PROD AND SB1010.D_E_L_E_T_ = '' WHERE CB9_FILIAL = '01' AND CB9_ORDSEP = '007110' AND CB9010.D_E_L_E_T_ = '' GROUP BY CB9_ORDSEP, CB0_DTNASC, CB9_CODETI, CB0_ZZROLO, CB0_OP, CB0_ZZLARG, CB0_ZZM2, CB0_QTDE, CB0_ZZPBRT, CB0_ZZPLIQ, CB9_ZZTARA ORDER BY CB9_ORDSEP, CB0_DTNASC EndSql TCSetField(cAlias, "CB9_ORDSEP", "C", 06, 0) (cAlias)->(dbGoTop()) aWBrowse2 := {} While (cAlias)->(!Eof()) nPos:= aScan( aWBrowse2, { |k| k[2] == (cAlias)->CB9_ORDSEP }) If nPos == 0 aAdd(aWBrowse2,{(cAlias)->CB9_ORDSEP,; (cAlias)->CB0_DTNASC,; (cAlias)->CB9_CODETI,; (cAlias)->CB0_ZZROLO,; (cAlias)->CB0_OP,; (cAlias)->CB0_ZZLARG,; (cAlias)->CB0_ZZM2,; (cAlias)->CB0_QTDE,; (cAlias)->CB0_ZZPBRT,; (cAlias)->CB0_ZZPLIQ,; (cAlias)->CB9_ZZTARA,; }) Endif (cAlias)->(dbSkip()) EndDo (cAlias)->(DbCloseArea()) oDlg:Refresh() fWBrowse1(oWBrowse2,aWBrowse2) Return //-------------------------------------------------------------------------|| //Programa | ValidET | Autor | DANIEL EVANDRO BUSO | Data: 11/05/2016 || //-------------------------------------------------------------------------|| //Descricao | ESTA FUNÇÃO, TRAZ O RESULTADO DAS INFORMAÇÕES DO SELECT || // | PARA A TELA DO USUÁRIO || //-------------------------------------------------------------------------|| //Módulo | ACD || //-------------------------------------------------------------------------|| Static Function ValidRom(_cRom) Local cQuery := "" Local lRet := .T. cQuery := "SELECT CB7_ORDSEP, CB7_DTEMIS, CB7_CLIENT, A1_NOME, CB8_PROD, B1_DESC, B1_TIPO, B1_UM, C6_NUMPCOM, C6_ITEMPC " + linha cQuery += " FROM CB7010" + linha cQuery += " INNER JOIN CB8010 ON" + linha cQuery += " CB8_FILIAL = '01' AND" + linha cQuery += " CB8_ORDSEP = CB7_ORDSEP AND" + linha cQuery += " CB8_PEDIDO = CB7_PEDIDO AND" + linha cQuery += " CB8010.D_E_L_E_T_ = ''" + linha cQuery += " INNER JOIN SA1010 ON" + linha cQuery += " A1_COD = CB7_CLIENT AND" + linha cQuery += " SA1010.D_E_L_E_T_ = ''" + linha cQuery += " INNER JOIN SB1010 ON" + linha cQuery += " B1_FILIAL = '01' AND" + linha cQuery += " B1_COD = CB8_PROD AND" + linha cQuery += " SB1010.D_E_L_E_T_ = ''" + linha cQuery += " INNER JOIN SC6010 ON" + linha cQuery += " C6_FILIAL = '01' AND" + linha cQuery += " C6_NUM = CB8_PEDIDO AND" + linha cQuery += " C6_ITEM = CB8_ITEM AND" + linha cQuery += " SC6010.D_E_L_E_T_ = ''" + linha cQuery += " WHERE CB7_FILIAL = '01'" + linha cQuery += " AND CB7_ORDSEP = '" + _cRom + "'" + linha cQuery += " AND CB7010.D_E_L_E_T_ = ''" + linha aCB7 := u_qryarr(cQuery) If Len(aCB7) == 1 //Inicializa Informações para Exibição ao Usuário cDtEmis := Substr(aCB7[1][2],7,2) + "/" + Substr(aCB7[1][2],5,2) + "/" + Substr(aCB7[1][2],1,4) // Data Emissão cCCli := aCB7[1][3] // Codigo Clientes cNCli := aCB7[1][4] // Nome Clientes cProd := aCB7[1][5] // Cod. Produtos cDesc := aCB7[1][6] // Des. Produtos cTipo := aCB7[1][7] // Tipo Produtos cUm := aCB7[1][8] // Um Produtos cPv := aCB7[1][9] // Pedido de Venda cItemPv := aCB7[1][10] // Item pedido de venda Else Msgbox("Romaneio não encontrado. Verifique!","ATENÇÃO!","ALERT") lRet := .F. EndIf Return