Perguntas Ponto de Entrada QIEIMPRL - Integração com QIE

Mais
3 anos 11 meses atrás #32953 por diegoo_martins
Bom dia!

Alguém teria o ponto de entrada QIEIMPRL - Integração com QIE?

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
3 anos 11 meses atrás #32955 por admin
#include "rwmake.ch"   
User Function QIEIMPRL()

Local _nCod   := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D1_COD"})  
Local _lImpo  := .F.

   If SF1->F1_TIPO$"B/N" .AND. !Empty(AllTrim(SF1->F1_STATUS)) //Beneficiamento
      For _nx:= 1 to Len(Acols)
         SB1->(DbSeek(xFilial("SB1")+Acols[_nx][_nCod]))
         
         IF SM0->M0_CODIGO == "NH"  //empresa WHB Usinagem

            If SB1->B1_TIPO$"PW/CC/MC/CP/MP/BN" //so importa esses tipos
               _lImpo := .T.
            Endif
            
         Elseif SM0->M0_CODIGO == "FN"  //empresa WHB Fundicao
         
            If ( SB1->B1_TIPO$"PW/CC/MC/CP/MP" ) .OR. ; //so importa esses tipos
	           ( SB1->B1_TIPO$"MA" .And. SB1->B1_GRUPO$"MA02/MA03/MA33/MA31" ) .OR. ;//ou so importa esses Grupos do tipo MA
	           ( ALLTRIM(SB1->B1_COD)$"MA01.000133" ) //ou so importa esses produtos
               _lImpo := .T.
            Endif
         
         Endif   
      Next _nx

      If _lImpo // Importa p/ quality
         U_Nhest003("SF1100I")    // Chama fun玢o que importa nf beneficiamento para quality
      Endif   
   Endif                              
		
Return .T.

Por favor Acessar ou Registrar para participar da conversa.

Mais
3 anos 11 meses atrás #32956 por diegoo_martins
Luis, bom dia!

Precisamos que para a filial 03, não seja gravado no armazém 98 (MV_CQ) e sim o armazém do cadastro do produto.
Fiz desta forma, porém continua gravando no 98..
Pode me ajudar neste ponto de entrada?

User Function QIEIMPRL ()

Local _nCod := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D1_COD"})
Local _nLoc := Posicione("SB1",1,xfilial("SB1")+SD1->D1_COD,"B1_LOCPAD")

If SF1->F1_TIPO$"N"
For _nx:= 1 to Len(Acols)
SB1->(DbSeek(xFilial("SB1")+Acols[_nx][_nCod]))
IF ALLTRIM(SM0->M0_CODFIL) == "03" //Depósito Fechado
RECLOCK("SD1",.T.)
SD1->D1_LOCAL := _nLoc
SD1->(MsUnLock())
Endif
Next _nx
Endif

Return .T.

Por favor Acessar ou Registrar para participar da conversa.

Mais
3 anos 11 meses atrás #32957 por admin
Brother infelizmente não manjo dessa parte não, não saberei te responder.

Por favor Acessar ou Registrar para participar da conversa.

Mais
3 anos 8 meses atrás #32989 por diegoo_martins
Luiz, bom dia! Tudo bem!

Consegui desenvolver o ponto de entrada para gravar o armazém do produto (30) ao invés do armazém CQ (98). Porém, preciso que para este fornecedor as notas NÃO sejam integradas na Qualidade.

Tem alguma ideia?

User Function QIEIMPRL ()

Local _nCod := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D1_COD"})
Local _nLoc := Posicione("SB1",1,xfilial("SB1")+SD1->D1_COD,"B1_LOCPAD")
Local _nCodFor := Posicione("SA2",1,xfilial("SA2")+SD1->D1_FORNECE,"A2_COD")

If SF1->F1_TIPO $ "N"
For _nx:= 1 to Len(Acols)
SB1->(DbSeek(xFilial("SB1")+Acols[_nx][_nCod]))
IF _nCodFor == "13884068" //Se for este fornecedor grava armazém do produto
RECLOCK("SD1",.F.)
SD1->D1_LOCAL := _nLoc
SD1->(MsUnLock())
Endif
Endif
Next _nx
Endif

Return

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
3 anos 8 meses atrás #32990 por admin
Brother veja se funciona, só não entendi o codigo do fornecedor, esta acima de 6 digitos ? esta com loja junto ?
User Function QIEIMPRL ()
Local aArea := GetArea()
Local _nCod := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D1_COD"})
Local _nLoc := Posicione("SB1",1,xfilial("SB1")+SD1->D1_COD,"B1_LOCPAD")
Local _nCodFor := Posicione("SA2",1,xfilial("SA2")+SD1->D1_FORNECE,"A2_COD")

If SF1->F1_TIPO $ "N" .And. SF1->F1_FORNECE+SF1->F1_LOJA $ "13884068"
	If SD1->(dbSetOrder(1), dbSeek(xFilial("SD1")+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA))
		While SD1->(!Eof()) .And. SD1->D1_FILIAL == xFilial("SD1") .And. SD1->(D1_DOC+D1_SERIE+D1_FORNECE+D1_LOJA) == SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA
			If RecLock("SD1",.F.)
				SD1->D1_LOCAL := _nLocal
				SD1->(MsUnlock())
			Endif
			
			SD1->(dbSkip(1))
		Enddo
	Endif
Endif
RestArea(aArea)
Return

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.107 segundos
Joomla templates by a4joomla