- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Ponto de Entrada QIEIMPRL - Integração com QIE
Perguntas Ponto de Entrada QIEIMPRL - Integração com QIE
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
3 anos 11 meses atrás #32953
por diegoo_martins
Ponto de Entrada QIEIMPRL - Integração com QIE foi criado por diegoo_martins
Bom dia!
Alguém teria o ponto de entrada QIEIMPRL - Integração com QIE?
Obrigado.
Alguém teria o ponto de entrada QIEIMPRL - Integração com QIE?
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
3 anos 11 meses atrás #32955
por admin
Respondido por admin no tópico Ponto de Entrada QIEIMPRL - Integração com QIE
#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.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
3 anos 11 meses atrás #32956
por diegoo_martins
Respondido por diegoo_martins no tópico Ponto de Entrada QIEIMPRL - Integração com QIE
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.
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.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
3 anos 8 meses atrás #32989
por diegoo_martins
Respondido por diegoo_martins no tópico Ponto de Entrada QIEIMPRL - Integração com QIE
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.
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.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
3 anos 8 meses atrás #32990
por admin
Respondido por admin no tópico Ponto de Entrada QIEIMPRL - Integração com QIE
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Ponto de Entrada QIEIMPRL - Integração com QIE
Tempo para a criação da página:0.107 segundos