- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- [RESOLVIDO] Ajuda com fonte SX5
×
Linguagem de Programação ADVPL
Perguntas [RESOLVIDO] Ajuda com fonte SX5
- caiotec
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 219
- Obrigados Recebidos: 0
11 anos 7 meses atrás #12564
por caiotec
[RESOLVIDO] Ajuda com fonte SX5 foi criado por caiotec
Prezados
Tenho um PE que controla a numeração das NF de acordo com código do funcionário e série da mesma. Até o momento o mesmo funcionava perfeitamente pois 1 usuário emitia apenas 1 tipo de NF (de acordo com a serie). Porém fizeram uma alteração agora alguns funcionários vão emitir os 3 tipo de NF que temos (3 = NF-e 6 = NFS-e e B = Locação de Equipamentos - formulario continuo).
Porém não tenho a menor ideia de como fazer isso, pois estava baseado numa regra simples. Alguém poderia me ajudar com esse problema?
Desde já agradeço pela atenção
Tenho um PE que controla a numeração das NF de acordo com código do funcionário e série da mesma. Até o momento o mesmo funcionava perfeitamente pois 1 usuário emitia apenas 1 tipo de NF (de acordo com a serie). Porém fizeram uma alteração agora alguns funcionários vão emitir os 3 tipo de NF que temos (3 = NF-e 6 = NFS-e e B = Locação de Equipamentos - formulario continuo).
Porém não tenho a menor ideia de como fazer isso, pois estava baseado numa regra simples. Alguém poderia me ajudar com esse problema?
Desde já agradeço pela atenção
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 7 meses atrás #12566
por kanaamlrr
Respondido por kanaamlrr no tópico [RESOLVIDO] Ajuda com fonte SX5
Cara, você pode fazer algo do tipo:
Acho que é algo do tipo, se entendi direito o que você precisa.
Lembrando que o sistema passa por esse PE para cada série cadastrada.
If _cCodUser $ "usuários que fazem as 3 notas"
if X5_CHAVE $ "3/6/B"
Return .T.
EndIf
Else
//TRATATIVA PARA OS DEMAIS CASOS.
EndIf
Return .F.
Acho que é algo do tipo, se entendi direito o que você precisa.
Lembrando que o sistema passa por esse PE para cada série cadastrada.
Por favor Acessar ou Registrar para participar da conversa.
- caiotec
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 219
- Obrigados Recebidos: 0
11 anos 7 meses atrás #12637
por caiotec
Respondido por caiotec no tópico [RESOLVIDO] Ajuda com fonte SX5
Boa Tarde Kanaãm
No formato que vc informou estava dando erro nas variaveis, fiz conforme abaixo porém ocorre erro -1 não sei qual motivo.
USER FUNCTION SX5NOTA()
Local _cCodUser:= RetCodUsr() // Funcao que retorna o codigo do usuario
Local cSerie := "" // "1|2"
Local cSerie1:= ""
Local cSerie2:= ""
Local lRet := .F.
If _cCodUser == '000025' .OR. _cCodUser == '000029' .OR. _cCodUser == '000030' .OR. _cCodUser == '000031' .OR. _cCodUser == '000035' .OR. _cCodUser == '000038' .OR. _cCodUser == '000046' .OR. _cCodUser == '000047' .OR. _cCodUser == '000031'.OR. _cCodUser == '000020' //.OR. _cCodUser == '000052'
cSerie := "3" // "1|2"
//cSerie1:= "R" // "1|2"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie1 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
Else
If _cCodUser == '000052'
cSerie := "3/6/L"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie1 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie2 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
Else
cSerie:= "6" // "1|2"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
End If
return(lRet)
No formato que vc informou estava dando erro nas variaveis, fiz conforme abaixo porém ocorre erro -1 não sei qual motivo.
USER FUNCTION SX5NOTA()
Local _cCodUser:= RetCodUsr() // Funcao que retorna o codigo do usuario
Local cSerie := "" // "1|2"
Local cSerie1:= ""
Local cSerie2:= ""
Local lRet := .F.
If _cCodUser == '000025' .OR. _cCodUser == '000029' .OR. _cCodUser == '000030' .OR. _cCodUser == '000031' .OR. _cCodUser == '000035' .OR. _cCodUser == '000038' .OR. _cCodUser == '000046' .OR. _cCodUser == '000047' .OR. _cCodUser == '000031'.OR. _cCodUser == '000020' //.OR. _cCodUser == '000052'
cSerie := "3" // "1|2"
//cSerie1:= "R" // "1|2"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie1 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
Else
If _cCodUser == '000052'
cSerie := "3/6/L"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie1 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
If alltrim(x5_chave) == cSerie2 // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
Else
cSerie:= "6" // "1|2"
lRet := .F.
If alltrim(x5_chave) == cSerie // If alltrim(x5_chave) $ cSerie
lRet := .T.
Endif
End If
return(lRet)
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- caiotec
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 219
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- [RESOLVIDO] Ajuda com fonte SX5
Tempo para a criação da página:0.120 segundos