Histórico da Página
...
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Manufatura |
Módulo: | SIGAEEC |
Função: | DUE3.APH DUE_CNF.APH EECDUEAT_RDM.PRW |
Ticket: | |
Requisito/Story/Issue | DTRADE-2416 |
02. SITUAÇÃO/REQUISITO
Conforme a Notícia Siscomex Exportação nº 23/2019, a partir de 06/05/19 passa a ser obrigatório informar determinados atributos relacionados as operações de exportação de café para registro da Declaração Única de Exportação (DUE).
03. SOLUÇÃO
...
tabs | Passo 01, Passo 02, Passo 03, Passo 04 |
---|---|
ids | passo1,passo2 |
Tendo em vista que os atributos são características muito especificas dos produtos, e que cada característica possui regras de preenchimento, e visando também as possibilidades de esse tipo de obrigatoriedade se estender futuramente a outros tipos de mercadorias, entendemos que a experiencia de uso ideal para os usuários do Easy Export Control é uma funcionalidade que possa contemplar todas essas regras e as características de toda a variedade de mercadorias que podem ser exportadas.
03. SOLUÇÃO
Considerando a complexidade do desenvolvimento dessa funcionalidade, o planejamento das próximas versões e o prazo a partir de qual passa a ser obrigatória a declaração dessas informações, estamos disponibilizando um modelo de customização para o Easy Export que contempla esta necessidade, para que seja utilizado pelas empresas afetadas por esta alteração.
Este modelo foi validado e homologado pela equipe de desenvolvimento do sistema padrão, tendo o mesmo suporte e manutenção que as demais funcionalidades do sistema.
Referências:
A customização consiste na criação dos campos, de usuário relacionados abaixo, na tabela de itens do embarque para definir os atributos a serem declarados nas exportações de café. O funcionamento dos campos depende da compilação do fonte rdmake ‘EECDUEAT_RDM.PRW’ disponibilizado no pacote DTRADE-2416.
No fonte rdmake ‘EECDUEAT_RDM.PRW’ contém as regras com os conteúdos validos para cada atributo a ser preenchido, e irá validar se a NCM do produto exportado corresponde as afetadas na Notícia Siscomex Exportação nº 23/2019.
Relação de atributos envolvidos e tipo de conteúdo:
Atributo | Título | Tipo | Opções |
ATT_3038 | Padrão de qualidade | Lista Estática | 1=S: total conformidade com os padrões de defeito e umidade;2=XD: o café não está em conformidade com o padrão de defeito desejado;3=XM: o café não está em conformidade com o padrão de umidade desejado;4=XDM: O café não está em conformidade com o padrão (defeito e umidade desejados) |
ATT_3039 | Embarcado Em | Lista Estática | 1=Sacas;2=Granel;99=Outros |
ATT_3040 | Tipo | Lista Estática | 1= Arábica;2=Robusta |
ATT_3041 | Método de Processamento (Café Verde) | Lista Estática | 1=Lavado;2=Não Lavado |
ATT_3058 | Método de Processamento (Café Solúvel) | Lista Estática | 1=Atomizado(Spray-dried);2=Liofilizado(Freeze-dried) |
ATT_3059 | Embalagem final | Booleano | 1=Sim;2=Não |
ATT_3060 | Característica Especial | Lista Estática | A=Especialidade / café gourmet;b=Associação 4C;c=Eurepgap;d=FLO Internacional (Fairtrade);e=Sistema Q Coffee;f=Rainforest Alliance;g=Centro das Aves Migratórias do Smithsonian (Bird friendly);h=Certificado UTZ;i=Padrões Corporativos;j=Fair Trade USA;k=Outro (por favor especifique) |
ATT_3061 | Outra característica especial | Texto | (Tamanho 100) |
Observações:
- Os campos devem ser não obrigatórios, para permitir a exportação de produtos de outras NCMs. Caso não seja preenchido para uma NCM em que é obrigatório informa-los, o sistema do Portal Único irá rejeitar a integração da DUE.
- A Lista de opções de cada atributo é definido pela função U_DUAtList, presente no fonte rdmake ‘PRW’ disponibilizado por esta melhoria. A função U_DUAtWhen irá verificar se a NCM do item exige o preenchimento desses atributos.
- É sugerida a criação uma nova aba específica para atributos da DUE para adicionar estes campos, afim de deixá-los melhor organizados na tela.
- Os campos também podem ser criados no pedido de exportação (tabela EE7) com os mesmos nomes dos campos e características dos campos do embarque, para facilitar o preenchimento desses dados já na fase de pedido de exportação. O sistema irá copiar automaticamente o conteúdo para a fase de embarque (tabela EE9). Exemplo: criar o campo EE7_AT3038 para preenchimento do atributo de padrão de qualidade. O conteúdo será copiado para o embarque no campo EE9_AT3038.
- Caso a intenção seja definir essas características no cadastro do produto, sugerimos criar os campos com as mesmas características na tabela de cadastro de produto (SB1) ou na tabela de dados complementares do produto para exportação (EYJ). Nesse caso, é necessário criar também gatilhos no campo EE7_COD_I para ao preencher o produto no item do pedido de exportação, trazer automaticamente o conteúdo do cadastro para o campo no pedido.
04. DICIONÁRIO DE DADOS
Campos de usuário a serem criados na tabela EE9:
X3_CAMPO | X3_TITULO | X3_DESCRIC | X3_TIPO | X3_TAMANHO | X3_CBOX | X3_WHEN |
---|---|---|---|---|---|---|
EE9_AT3038 | Padrão Qual. | Padrão de Qualidade | C | 1 | #U_DUAtList("EE9_AT3038") | U_DUAtWhen("EE9_AT3038") |
EE9_AT3039 | Embarque em? | Tipo da embarcação | C | 2 | #U_DUAtList("EE9_AT3039") | U_DUAtWhen("EE9_AT3039") |
EE9_AT3040 | Tipo | Tipo? | C | 1 | #U_DUAtList("EE9_AT3040") | U_DUAtWhen("EE9_AT3040") |
EE9_AT3041 | Mtd Prcto CV | Método prcmto Café Verde | C | 1 | #U_DUAtList("EE9_AT3041") | U_DUAtWhen("EE9_AT3041") |
EE9_AT3058 | Mtd Prcto CS | Método prcto Café Solúvel | C | 1 | #U_DUAtList("EE9_AT3058") | U_DUAtWhen("EE9_AT3058") |
EE9_AT3059 | Emb. Final | Embalagem final | C | 1 | #U_DUAtList("EE9_AT3059") | U_DUAtWhen("EE9_AT3059") |
EE9_AT3060 | Carac.Esp. | Característica Especial | C | 1 | #U_DUAtList("EE9_AT3060") | U_DUAtWhen("EE9_AT3060") |
EE9_AT3061 | Out.Carac.Es | Outras caract. especiais | C | 100 | U_DUAtWhen("EE9_AT3061") |
04. OUTRAS INFORMAÇÕES
O RDMAKE EECDUEAT_RDM.PRW contém uma implementação do ponto de entrada DUEEnvAt (documentado em http://linkdotdnparaopontodeentrada) que pode ser utilizado para complementar os atributos de produto enviados na DUE. Essa implementação irá ler os campos de usuário acima definidos para envio desses dados no XML da DUE.
HTML |
---|
#INCLUDE "Protheus.ch"
/*
Programa: EECDUEAT_RDM.PRW
Objetivo: Contem as regras necessárias para validação dos campos de atributos necessários para registro de DUE em exportações de café.
*/
/*
Função : U_DUAtList
Objetivo: Retorna a lista de valores válida para o atributo para geração do ComboBox
*/
User Function DUAtList(cCpoAtt)
Local cList := ""
Default cCpoAtt := ""
Do Case
Case cCpoAtt == "EE9_AT3038"//Padrão de qualidade
cList := "1=S: Total conformidade com os padrões de defeito e umidade;2=XD: O café não está em conformidade com o padrão de defeito desejado;3=XM: O café não está em conformidade com o padrão de umidade desejado;4=XDM: O café não está em conformidade com o padrão (defeito e umidade desejados)"
Case cCpoAtt == "EE9_AT3039"//Embarcado Em
cList := "1=Sacas;2=Granel;99=Outros"
Case cCpoAtt == "EE9_AT3040"//Tipo
cList := "1=Arábica;2=Robusta"
Case cCpoAtt == "EE9_AT3041"//Método de Processamento (1)
cList := "1=Lavado;2=Não Lavado"
Case cCpoAtt == "EE9_AT3058"//Método de Processamento (2)
cList := "1=Atomizado(Spray-dried);2=Liofilizado(Freeze-dried)"
Case cCpoAtt == "EE9_AT3059"//Embalagem final
cList := "1=Sim;2=Não"
Case cCpoAtt == "EE9_AT3060"//Característica Especial
cList := "a=Especialidade / café gourmet;b=Associação 4C;c=Eurepgap;d=FLO Internacional (Fairtrade);e=Sistema Q Coffee;f=Rainforest Alliance;g=Centro das Aves Migratórias do Smithsonian (Bird friendly);h=Certificado UTZ;i=Padrões Corporativos;j=Fair Trade USA;k=Outro (por favor especifique)"
EndCase
Return cList
/*
Função : U_DUAtWhen
Objetivo: Indica se um atributo pode ser informado ou não, de acordo com o NCM
*/
User Function DUAtWhen(cCpoAtt)
Local lRet := .F.
Local cNCM := ""
Default cCpoAtt := ""
If IsInCallStack("AP100MAN")//Pedido
cNCM := AllTrim(M->EE8_POSIPI)
ElseIf IsInCallStack("AE100MAN")//Embarque
cNCM := AllTrim(M->EE9_POSIPI)
EndIf
cCpoAtt := Right(AllTrim(cCpoAtt), 4)
Do Case
Case cNCM == "09011110"
lRet := (aScan( {"3038", "3039", "3040", "3041", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "09011190"
lRet := (aScan( {"3038", "3039", "3040", "3041", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "09011200"
lRet := (aScan( {"3038", "3039", "3040", "3041", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "09012100"
lRet := (aScan( {"3039", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "09012200"
lRet := (aScan( {"3039", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "21011110"
lRet := (aScan( {"3039", "3058", "3059", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "21011190"
lRet := (aScan( {"3039", "3060", "3061"} , cCpoAtt ) > 0)
Case cNCM == "21011200"
lRet := (aScan( {"3039", "3060", "3061"} , cCpoAtt ) > 0)
EndCase
If cCpoAtt == "3061" .And. M->EE9_AT3060 <> "k"
lRet := .F.
EndIf
Return lRet
/*
Função : DUEEnvAt
Objetivo: Implementação de ponto de entrada na integração da DUE para definir a lista de atributos e valores informados para registro de item da DUE
*/
User Function DUEEnvAt()
Local aAttList := {}
Local aAux := {}
Local cAux := ""
If EE9->(FieldPos("EE9_AT3038")) > 0 .And. !Empty(EE9->EE9_AT3038)//Padrão de qualidade
aAdd(aAttList, {"ATT_3038", EE9->EE9_AT3038})
EndIf
If EE9->(FieldPos("EE9_AT3039")) > 0 .And. !Empty(EE9->EE9_AT3039)///Embarcado Em
aAdd(aAttList, {"ATT_3039", alltrim(EE9->EE9_AT3039)})
EndIf
If EE9->(FieldPos("EE9_AT3040")) > 0 .And. !Empty(EE9->EE9_AT3040)///Tipo
aAdd(aAttList, {"ATT_3040", EE9->EE9_AT3040})
EndIf
If EE9->(FieldPos("EE9_AT3041")) > 0 .And. !Empty(EE9->EE9_AT3041)///Método de Processamento (Verde)
aAdd(aAttList, {"ATT_3041", EE9->EE9_AT3041})
EndIf
If EE9->(FieldPos("EE9_AT3058")) > 0 .And. !Empty(EE9->EE9_AT3058)///Método de Processamento (Solúvel)
aAdd(aAttList, {"ATT_3058", EE9->EE9_AT3058})
EndIf
If EE9->(FieldPos("EE9_AT3059")) > 0 .And. !Empty(EE9->EE9_AT3059)///Embalagem final
aAdd(aAttList, {"ATT_3059", if(EE9->EE9_AT3059=="1",'true','false')}) //ATT_3059 está definido como booleano no cadastro de atributos do portal unico.
EndIf
If EE9->(FieldPos("EE9_AT3060")) > 0 .And. !Empty(EE9->EE9_AT3060)///Característica Especial
aAdd(aAttList, {"ATT_3060", EE9->EE9_AT3060})
EndIf
If EE9->(FieldPos("EE9_AT3061")) > 0 .And. !Empty(EE9->EE9_AT3061)///Outra Característica Especial
aAdd(aAttList, {"ATT_3061", alltrim(EE9->EE9_AT3061)})
EndIf
Return aAttList |
...
default | yes |
---|---|
referencia | passo1 |
...
default | no |
---|---|
referencia | passo2 |
04. DEMAIS INFORMAÇÕES
Card documentos | ||||
---|---|---|---|---|
|
05. ASSUNTOS RELACIONADOS
Templatedocumentos |
---|
HTML |
---|
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|