Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#Include 'Protheus.ch' User Function EICDI154() Local cParam Local nValQuebra:= 150 //Quantidade de itens desejada por nota fiscal (alterar conforme necessidade) local lExibeTela:= .F. Local nPos If ValType(ParamIXB cParam:=IIf(Type("ParamIXB") == "A" cParam:= ,ParamIXB[1] ,ParamIXB) Else cParam:= ParamIXB EndIf cParam:= Upper(cParam) Do Case Case cParam == "TEM_OUTRA_QUEBRA" lQuebra_espe:= .T. Case cParam == "QUEBROU_NF" IF nTipoNF == 2 .Or. nTipoNF == 7 IF Work1->WKNOTAOR <> cNumComp .OR. Work1->WKSERIEOR <> cSerieComp .Or. nItem >= nValQuebra cNumComp := WORK1->WKNOTAOR cSerieComp := WORK1->WKSERIEOR lQuebrou_NF:= .T. ENDIF ELSE IF nItem >= nValQuebra .OR.; cForn # Work1->WKFORN .OR. (EICLoja() .And. cForLoj # Work1->WKLOJA) .OR.; nItem == 0 .OR. If(lQuebraCFO, cCFO # Work1->WK_CFO,.F.) .OR.; (lIntDraw .AND. Work1->WKACMODAL # cACModal) .OR.; (lQuebraOperacao .AND. cOperacao # Work1→WK_OPERACA) lQuebrou_NF:= .T. ENDIF ENDIF Case cParam == "INICIA_VARIAVEIS" lLoop:= .T. lAlteraItemPE := .F. //Bloqueia a abertura da tela de edição de valores Case cParam == "FINALGRAVA" /* lComDiferenca indica se há divergência entre os valores dos impostos informados nas despesas do desembaraço comparados aos valores dos impostos apurados pelo recebimento de importação. */ If lComDiferenca //lRetorno aborta a gravação do recebimento de importação lRetorno:= .F. //Exibe a tela com a mensagem de divergências (lExibeTela é local, disponível apenas na customização) If lExibeTela DI154MsgDif(.T.) //função padrão que exibe a tela de divergências dos valores de impostos EndIf EndIf Case cParam == "GERA_MAINWND" lEstornoPE:= .F. Case cParam == "IDI154MNU" Local aRotina := {} //{Nome apresentado, Função que vai ser executado, 0 ,0} aAdd(aRotina,{"P.E. de Teste","FUNCTIONX",0,0}) Return aRotina Case cParam == "GRAVACAO_SF1" cChaveSF1 := 'nova chave da nfe' AADD(aCab,{"F1_PLIQUI" ,10 ,Nil}) Case cParam == "GRAVACAO_SD1" nPos:= AScan(aItem[1], {|x| AllTrim(x[1]) == "D1_DESPESA"}) If nPos > 0 aItem[nPos][2]:= 0 //novo valor EndIf Case cParam == "ADD_ESTRU_WORK1" //AADD(aDBF_Stru,{"campo" ,"tipo",tamanho,decimal quando houver}) AADD(aDBF_Stru,{"WKNomeCampo" ,"N",13,3}) Case cParam == "ESTORNO NA NOTA" MsgInfo(“Grava dados antes do estorno”) Case cParam == "ANTES_ESTORNO_NOTA" lOk:= .F. Case cParam == "GRV_WORK1" Work1->WK_EXEMPLO :=SWV->WV_EXEMPLO Case cParam == "FIM_ESTORNO" MsgInfo(“Depois do estorno”) Case cParam == "TEM_OUTRA_QUEBRA" lQuebra_espe:=.T. IF nItem >= GetMV("MV_HDNFIMP") .OR.; cForn # Work1->WKFORN .OR.; nItem == 0 .OR. cCFO # Work1->WK_CFO .OR.; (lIntDraw .AND. Work1->WKACMODAL # cACModal) .OR.; (lQuebraOperacao .AND. cOperacao # Work1->WK_OPERACA) lQuebrou_NF:=.T. Endif Case cParam := “RATEIO_ACRESCIMO” MsgInfo("Entrou no ponto de entrada 'RATEIO_ACRESCIMO'." + CHR(13)+CHR(10)+ "Variavel lExitPE := .T.") Case cParam := "DEDUCAO_FRETE" MsgInfo("Entrou no ponto de entrada DEDUCAO_FRETE." + CHR(13)+CHR(10)+ "Variavel lDeduFrete := .T.") lDeduFrete := .T. Case cParam := “WHILE_1_WORK2” Do while Work1->(!Eof()) .And. Work1->WKADICAO == Work2->WKADICAO [instruções] EndDo Case cParam := "ALT_CRIT_RAT_DSPICM" If [Variável] == Work1->WKADICAO //Qualquer outro campo da Work1 [Instrução] EndIf Case cParam := "DT_DESEMBARACO" MsgInfo("Entrou no ponto de entrada 'DT_DESEMBARACO'.") lDataDesmb := .F. //Desativa a validação da Data Desembaraço. Case cParam == "ANTES_GRAVA_WORK4" If SWD->WD_DESPESA <> "404" //condição customizada lLoop:= .T. EndIf Case cParam == "DI154_SWDVAL" If SWD->WD_DESPESA <> "404" //condição customizada nValor:= 0 EndIf Case cParam == "TAB_DESPESAS" //condição customizada If SWD->WD_DESPESA <> "404" lSair := .T. EndIf Case cParam == "GRAVA_SWD" If SWD->WD_DESPESA == "ABC" SWD->WD_CUSTOM:= "DEFG" EndIf Case cParam == "FINAL_GRAVA_NF" MsgInfo("Entrou no Ponto de entrada FINAL_GRAVA_NF","Nota Fiscal emitida") Case cParam == "ALTERA_CALC_IMPOSTOS_2" /* Este é apenas um exemplo de reapuração do valor do ICMS, fazendo uso de dados fictícios */ SB1->(DBseek(xFilial() + Work1->WKCOD_I)) nFator:= 0.136363636363 qBCMonoReten:= (nFator * Work1->WKQTDE) /* Novo valor do ICMS */ Work1->WKVL_ICM += qBCMonoReten * (SB1->B1_VLR_ICM * Work1->WKICMS_RED) Case cParam == "MOSTRA_TOTAIS" lTotICMS:= .T. EndCase Return |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas