Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

...

tabsPasso 01, Passo 02, Passo 03, Passo 04
idspasso1,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:

http://portal.siscomex.gov.br/informativos/noticias/exportacao/08-04-2019-noticia-siscomex-exportacao-no-23-2019

http://portal.siscomex.gov.br/informativos/noticias/tecnologia-ti/copy_of_05-10-2018-noticia-siscomex-ti-no-006-2018

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

...

defaultyes
referenciapasso1

...

defaultno
referenciapasso2

04. DEMAIS INFORMAÇÕES

Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.
TituloIMPORTANTE!

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>