Tempo aproximado para leitura: 00:00:50 min
Dúvida
Qual é a finalidade do compartilhamento das tabelas de Serviço de Armazenagem e Fechamento de Serviços no Protheus?
Ambiente
TOTVS Agro – TOTVS Agro – Comercialização (Linha Protheus) - Originação de Grãos (OG) – Versão 12
Solução
Para garantir a rastreabilidade e permitir que o sistema identifique corretamente o registro de origem através do documento fiscal e romaneio gerado, configure o compartilhamento das tabelas da seguinte forma no Configurador (SIGACFG):
Acesse o SIGACFG > Base de Dados > Dicionário > Estrutura de Tabelas.
Garanta que a tabela NKS (Fechamento Serviço de Armazenagem) possua o mesmo modo de compartilhamento da tabela NKG (Acerto dos Serviços de Armazenagem).
| Tabela | Descrição | Compartilhamento Recomendado |
| NKG | Acerto dos Serviços de Armazenagem | Exclusivo |
| NKS | Fechamento Serviço de Armazenagem | Exclusivo |
Exemplo de Script de Ajuste (User Function em ADVPL):
Caso seja necessário ajustar a filial da tabela NKS para alinhar com a filial da tabela NKG, utilize o código de acerto abaixo:
/*Exemplo de Função de Acerto para ajustar a filial NKS conforme a filial da tabela NKG.*/
#INCLUIR "PROTHEUS.CH"
USER FUNCTION FAJUSTANKS()
Local nPos := 0
Local aNKS := {}
LOCAL nI := 0
Local cQuery := ""
Local cAliasQry := GetNextAlias()
cQuery := "SELECT NKG_FECSER, NKG_FILIAL "
cQuery += "FROM " + RetSqlName("NKG") + " NKG "
cQuery += "WHERE NKG.D_E_L_E_T_ = ' ' "
cQuery := ChangeQuery(cQuery)
dbUseArea(.T., "TOPCONN", TCGENQRY(,,cQuery), cAliasQry, .F., .T.)
While !(cAliasQry)->(Eof())
nPos := aScan(aNKS, {|x| AllTrim(x[1]) == AllTrim((cAliasQry)->NKG_FECSER)})
If nPos == 0
aAdd(aNKS, {(cAliasQry)->NKG_FECSER, (cAliasQry)->NKG_FILIAL})
EndIf
(cAliasQry)->(DbSkip())
EndDo
If Len(aNKS) > 0
For nI := 1 To Len(aNKS)
dbSelectArea("NKS")
NKS->(dbSetOrder(1))
If NKS->(dbSeek(Padr(aNKS[nI, 1], TamSX3("NKS_CODIGO")[1])))
If RecLock("NKS", .F.)
NKS->NKS_FILIAL := aNKS[nI, 2]
NKS->(MsUnLock())
EndIf
EndIf
Next nI
EndIf
(cAliasQry)->(dbCloseArea())
Return
0 Comentários