Exemplo do Ponto de Entrada AT400GOS.
Exemplo do Ponto de Entrada:
//Bibliotecas #Include "Protheus.ch" #Include "TopConn.ch" /*--------------------------------------------------------------------------------* | P.E.: AT400GOS | | Obs: Rotina que ao gerar a OS através do orçamento grava dados da AB3 na AB6 | | Link: http://tdn.totvs.com/pages/releaseview.action?pageId=6784600 | *--------------------------------------------------------------------------------*/ User Function AT400GOS() Local aArea := GetArea() Local aAreaAB6 := AB6->(GetArea()) Local cQuery := "" DbSelectArea('AB6') //Seleciona os dados cQuery := " SELECT " cQuery += " AB3_X_VEND, " cQuery += " AB6.R_E_C_N_O_ AS AB6REC " cQuery += " FROM " cQuery += " "+RetSQLName('AB6')+" AB6 " cQuery += " INNER JOIN "+RetSQLName('AB3')+" AB3 ON ( " cQuery += " AB3_FILIAL = '"+FWxFilial('AB3')+"' " cQuery += " AND AB3_OK "+Iif(ThisInv(), "!= '"+ThisMark()+"'", "= '"+ThisMark()+"'")+" " cQuery += " AND AB3_OK != ' ' " cQuery += " AND AB3_STATUS = 'E' " cQuery += " AND AB3_CODCLI >= '"+MV_PAR01+"' " cQuery += " AND AB3_CODCLI <= '"+MV_PAR02+"' " cQuery += " AND AB3_EMISSA >= '"+dToS(MV_PAR03)+"' " cQuery += " AND AB3_EMISSA <= '"+dToS(MV_PAR04)+"' " cQuery += " AND AB3_NUMORC >= '"+MV_PAR05+"' " cQuery += " AND AB3_NUMORC <= '"+MV_PAR06+"' " cQuery += " AND AB3.D_E_L_E_T_ = ' ' " cQuery += " ) " cQuery += " INNER JOIN "+RetSQLName('AB7')+" AB7 ON ( " cQuery += " AB7_FILIAL = '"+FWxFilial('AB7')+"' " cQuery += " AND AB7_NUMOS = AB6_NUMOS " cQuery += " AND SUBSTRING(AB7_NUMORC, 1, 6) = AB3_NUMORC " cQuery += " AND AB7.D_E_L_E_T_ = ' ' " cQuery += " ) " cQuery += " WHERE " cQuery += " AB6_FILIAL = '"+FWxFilial('AB6')+"' " cQuery += " AND AB6.D_E_L_E_T_ = ' ' " TCQuery cQuery New Alias "QRY_DAD" //Enquanto houver registros While ! QRY_DAD->(EoF()) AB6->(DbGoTo(QRY_DAD->AB6REC)) //Atualiza o vendedor RecLock('AB6', .F.) AB6_X_CAMPO := QRY_DAD->AB3_X_CAMPO AB6->(MsUnlock()) QRY_DAD->(DbSkip()) EndDo QRY_DAD->(DbCloseArea()) RestArea(aAreaAB6) RestArea(aArea) Return
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;