Perguntas Colocar um filtro de serie para cada empresa/filial ao emitir a NFe.

Mais
11 anos 2 semanas atrás - 11 anos 2 semanas atrás #18197 por davidjackpaiva
Bom dia amigos do MasterAdvpl.

Tenho instalado o Protheus 11.8 serie 3 e com 3 filiais/empresas, e na parte final de preparação de pedido de venda para documento de saida devemos escolher a serie da Nfe. Acho que deveria haver um filtro para cada filial, pois, acontece de o pessoal do faturamento escolher a serie errada, dai vem aquele trabalho de consertar a "cagada". Achei isso uma @%$#@, por que o sistema é bom demais, mas nao pensaram nisso.

Pensei em criar uma tabela para cadastrar as serie que cadas filial poderá enxergar no momento da preparação do pedido de venda.

Campo[Fili]: para cadastrar o numero da filial
Campo[Serie]: para cadastrar a serie que a filial enxergará.

Alguem tem alguma outra ideia do que fazer?? E como colocar o filtro naquela janela de series??????

Desde ja agradeço a todos que responderem.
Ultima edição: 11 anos 2 semanas atrás por davidjackpaiva.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 semanas atrás #18205 por kanaamlrr
David,
Aqui utilizamos o PE SX5NOTA
Segue um exemplo:
User Function SX5NOTA

Local cEmpr := SM0->M0_CODIGO+SM0->M0_CODFIL
Private lret := .F.

IF cEmpr == '0101' .and. alltrim(x5_chave) == "02"
        lret:=.T.
ELSEIF cEmpr == '0201' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0301' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0501' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0502' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0601' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0701' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0801' .and. alltrim(x5_chave) == "1"
        lret:=.T. 
ELSEIF cEmpr == '0801' .and. alltrim(x5_chave) == "2"
        lret:=.T.        
ELSEIF cEmpr == '0901' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '0902' .and. alltrim(x5_chave) == "2"
        lret:=.T.
ELSEIF cEmpr == '1001' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '1101' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '1102' .and. alltrim(x5_chave) == "3"
        lret:=.T.
ELSEIF cEmpr == '1103' .and. alltrim(x5_chave) == "4"
        lret:=.T.                                    
ELSEIF cEmpr == '1104' .and. alltrim(x5_chave) == "6"
        lret:=.T.        
ELSEIF cEmpr == '1105' .and. alltrim(x5_chave) == "5"
        lret:=.T.        
ELSEIF cEmpr == '1201' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '1202' .and. alltrim(x5_chave) == "2"
        lret:=.T.
ELSEIF cEmpr == '1203' .and. alltrim(x5_chave) == "3"
        lret:=.T.
ELSEIF cEmpr == '9901' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF cEmpr == '1301' .and. alltrim(x5_chave) == "1"
        lret:=.T.
ELSEIF alltrim(x5_chave) == "900"
        lret:=.T.
ELSEIF alltrim(x5_chave) == "999"
        lret:=.T.
EndIf

return(lret)

No caso usamos a chave da sx5 que é a série da nota para validar se irá retornar no sequencial ou não.
Faz um teste ai.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 semanas atrás #18244 por davidjackpaiva
Muitissimo obrigado Kanaãm

Fiz o teste no pedido de venda e deu certo.

Sabe se este PE tambem vai ser executado no Venda Direta(FATA701)??

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 semanas atrás #18255 por kanaamlrr
Cara, não posso te dar certeza pois não utilizo essa rotina aqui, mas imagino que sim.

Por favor Acessar ou Registrar para participar da conversa.

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