Documentação dos sistemas Senior, com funcionalidades dos produtos, procedimentos e resolução de problemas.
Important
Aviso legal
Este repositório é um projeto pessoal e independente, mantido por uma única pessoa, sem qualquer vínculo, associação, patrocínio, parceria comercial ou endosso da Senior Sistemas.
Todo o conteúdo aqui publicado tem finalidade exclusivamente informativa e foi elaborado com base em experiências e referências públicas. Não representa documentação oficial da Senior Sistemas nem substitui materiais, contratos, garantias ou suporte do fabricante.
Marcas, nomes e logotipos eventualmente mencionados são de propriedade de seus respectivos titulares. O uso nominativo serve apenas para referência e não implica afiliação.
O material é fornecido "no estado em que se encontra", sem garantias de qualquer tipo, explícitas ou implícitas. O uso é por sua conta e risco. Para orientações oficiais, consulte os canais e a documentação da Senior Sistemas.
Important
Todos os exemplos e consultas SQL relacionados ao ERP neste repositório foram escritos para Oracle (PL/SQL).
Se você utiliza outro tipo de banco de dados, adapte a sintaxe antes de executar.
Para listar as sessões e vincular cada login ao código de usuário:
SELECT
r911sec.*,
r910ent.codent
FROM
r911sec
LEFT JOIN r910ent
ON r910ent.nomexb = r911sec.appusrr911sec registra as sessões (campo appusr = usuário que abriu a sessão no sistema).
r910ent guarda o cadastro do usuário (campo codent = código do usuário e nomexb = login).
Motivo: desconhecido.
Solução: excluir a pré-fatura e refazer. Para evitar recorrência, utilizar o identificador de regra COM-135CGFCA02 para impedir a geração da pré-fatura quando numpfa = 0.
definir numero VComNumAne;
definir numero VComNumPfa;
definir alfa VComOperacao;
se ((VComOperacao = "CONSISTINDO") e (VComNumPfa = 0)) {
definir alfa aNumAne;
IntParaAlfa(VComNumAne, aNumAne);
definir alfa aMsg;
aMsg = "Não foi possível gerar a pré-fatura da carga " + aNumAne + ". Número da pré-fatura = 0";
Mensagem(Erro, aMsg);
}Obs: Na versão 5.10.4.75 a Senior reporta a correção desse comportamento. Ainda assim, mantenha o identificador de regra ativo como salvaguarda.
Situação: Na tela “Transferências de Produtos” (F210TPA: Suprimentos → Gestão de Estoques → Controle de Estoque → Transferência) a seguinte mensagem aparece ao tentar transferir estoque:
"As seguintes transferências não foram realizadas, pois os depósitos nos quais os produtos estão presentes ou que irão ser transferidos integram com o WMS."

Motivo: a partir da versão 5.10.4.72 do ERP foi incluído um bloqueio para impedir transferências quando o depósito integra com o WMS. (verificação do campo e205dep.intwms)
Solução: se você tem certeza do que está fazendo e tem acesso ao banco como DBA, pode seguir o procedimento abaixo para executar a transferência.
O sistema, para exibir essa mensagem, verifica o valor da coluna e205dep.intwms do depósito. Assim, é possível forçar a transferência sem alterar esse valor na tabela original, usando um schema auxiliar:
- Criar schema auxiliar no banco.
CREATE USER maskvalor IDENTIFIED BY "Senha123123";- Conceder permissões para o novo schema logar, criar views e fazer SELECT na tabela e205dep.
GRANT CREATE SESSION, CREATE VIEW TO maskvalor;
GRANT SELECT ON schemaerp.e205dep TO maskvalor;- Criar uma VIEW no schema auxiliar que lê e205dep, mas retorna 'N' em intwms conforme a condição.
CREATE OR REPLACE
VIEW maskvalor.e205dep AS
SELECT
codemp, coddep, desdep, abrdep, tipdep, codmde, mskdep, nivdep, qtdpos, pribus, cpmdep, lardep, altdep, cappes, capvol, codfil, depcpr, estneg, disxpl, indclt, codccu,
crirat, ctared, ctarcr, ctafdv, ctafcr, sitdep, obsdep, seqdep, geremb, conaep, depven, depiql, invemb,
CASE
WHEN coddep = 'WMS' THEN 'N'
ELSE intwms
END AS intwms,
msgesn, usu_codtns, usu_datzer, usu_usuzer, depvir, criord, intwmw, intpos, codimr, sitwmw
FROM
schemaerp.e205dep;- Criar sinônimos no schema auxiliar para os objetos do schema do ERP, exceto e205dep.
BEGIN
FOR r IN (
SELECT
object_name,
object_type
FROM
dba_objects
WHERE
owner = 'SCHEMAERP'
AND object_type IN ('TABLE', 'VIEW', 'SEQUENCE', 'PACKAGE', 'FUNCTION', 'PROCEDURE', 'TYPE', 'SYNONYM')
AND object_name <> 'E205DEP'
) LOOP
BEGIN
EXECUTE IMMEDIATE
'CREATE OR REPLACE SYNONYM maskvalor.' || r.object_name || ' FOR schemaerp.' || r.object_name;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
END;- Criar uma trigger para, ao logar no banco a partir do seu computador, mudar o CURRENT_SCHEMA para o schema auxiliar.
CREATE OR REPLACE TRIGGER trg_maskvalor_current_schema
AFTER LOGON ON SCHEMA
BEGIN
IF UPPER(SYS_CONTEXT('USERENV', 'HOST')) LIKE '%EDUARDOG' THEN
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = maskvalor';
END IF;
END;Agora abra o ERP e tente a transferência. A mensagem não deve mais aparecer, porque o valor de intwms retorna 'N' pela view criada, e não pela tabela original. Assim, você executa a transferência sem alterar a tabela e sem impactar outros usuários.
Após concluir a transferência, desative a trigger e reabra o sistema para evitar que ações futuras em seu ERP usem o valor mascarado de intwms e impeçam a integração com o WMS por engano.
O SQLMon é uma ferramenta utilizada para capturar e visualizar comandos SQL executados por aplicações Senior, auxiliando em análises técnicas, investigação de comportamento do sistema, validação de consultas e diagnóstico de problemas.
A Senior disponibiliza o aplicativo SQLMon em sua base de conhecimento no artigo: TECNOLOGIA - SQLMon - Como obter e iniciar o uso do aplicativo SQLMon.
Important
A versão disponibilizada neste repositório é uma versão patcheada do SQLMon, mantida neste projeto apenas como apoio técnico. Ela não é uma versão oficial da Senior Sistemas.
Warning
Execute sempre o SQLMon como administrador. Caso contrário, a ferramenta pode não identificar corretamente a sessão do sistema Senior e pode não capturar os comandos SQL esperados.
-
Baixe o arquivo
.zipda versão corrigida disponível neste repositório. -
Extraia o conteúdo em uma pasta local, por exemplo:
C:\SQLmon -
Mantenha o
sqlmon.exee aSMCLIENT.DLLna mesma pasta. -
Execute o
sqlmon.exesempre como administrador:Botão direito > Executar como administrador -
Somente depois abra o sistema Senior que será monitorado.
-
Verifique se o SQLMon identificou a sessão do sistema antes de iniciar a análise.
Foi identificado um problema no sqlmon.exe original ao capturar e exibir SQLs muito grandes na grid do SQLMon.
O erro pode ocorrer com mensagens semelhantes a:
Access violation at address 00414788 in module 'sqlmon.exe'
Read of address 20206C7C
ou:
Access violation at address 0043CB82 in module 'sqlmon.exe'
Read of address 20232639
O problema foi reproduzido ao capturar um SQL grande, semelhante a:
WITH allchrs (codchr, valchr) AS (
SELECT :codchr0, :valchr0 FROM dual UNION ALL
SELECT :codchr1, :valchr1 FROM dual UNION ALL
...
SELECT :codchr255, :valchr255 FROM dual
)
SELECT
codchr,
valchr,
SUBSTR(NLSSORT(valchr), 1, 18)
FROM
allchrsDurante a análise com IDR/x32dbg, foi identificado que o sqlmon.exe possui uma rotina usada no desenho da coluna SQL Statement que copia o texto do SQL para um buffer fixo de 8192 bytes.
Trecho da alocação:
0046B67C mov eax,2000
0046B681 call @GetMem
0046B686 mov dword ptr [ebx+380],eax0x2000 em hexadecimal equivale a 8192 bytes.
A rotina problemática era chamada durante o desenho da grid:
0046BDD2 call 0046BCA8Essa rotina copiava caractere por caractere para o buffer, removendo caracteres de controle, mas sem validar o limite de tamanho. Quando o SQL ultrapassava o limite do buffer, o SQLMon sobrescrevia memória interna da aplicação, causando erros posteriores em menus, toolbar ou atalhos.
A solução aplicada foi remover a chamada insegura da rotina 0046BCA8.
Alteração aplicada:
0046BDD2 call 0046BCA8Para:
0046BDD2 nop
0046BDD3 nop
0046BDD4 nop
0046BDD5 nop
0046BDD6 nopCom isso, a grid continua desenhando o texto do SQL, mas deixa de passar pela cópia intermediária para o buffer fixo de 8192 bytes.
Antes:
SQL da célula
↓
cópia para buffer fixo de 8192 bytes
↓
desenho na grid
Depois:
SQL da célula
↓
desenho direto na grid
Visualmente, a interface tende a permanecer igual. Internamente, o SQLMon deixa de executar a cópia insegura que causava corrupção de memória em SQLs grandes.
A rotina removida também eliminava caracteres de controle, como TAB, LF e CR, antes de desenhar o SQL na grid. Com o patch, alguns SQLs podem aparecer com formatação menos normalizada, mas o risco de corrupção de memória é reduzido.
A versão patcheada está disponível neste repositório em um arquivo .zip, contendo o sqlmon.exe corrigido e a SMCLIENT.DLL.
Extraia o pacote completo em uma pasta local e execute o sqlmon.exe sempre como administrador.
Utilize essa versão quando houver erro de Access Violation no SQLMon ao capturar SQLs grandes.
Não devem ser criados nem alterados objetos no schema do SDE (como views, tabelas, triggers ou procedures).
Durante o processo de atualização, o sistema realiza validações de consistência na estrutura do banco de dados. Assim, a existência de objetos adicionais ou qualquer alteração fora do padrão pode provocar falhas na atualização.
Conforme citado na Documentação da Senior, não há um dicionário de dados público do banco do SDE, pois a Senior não recomenda intervenções diretas no banco de dados.
Ainda assim, para consultas (SELECT) e análises, seguem algumas tabelas e colunas úteis:
seqnfe: Sequência da NF-eseqfil: Sequência da filial (CNPJ)sequfd: Sequência da UF do destinatáriosequfe: Sequência da UF do emitentesitnfe: Situação da Nota Fiscal1: Recebida4: Enviada6: Autorizada7: Denegada8: Rejeitada9: Cancelada13: Inutilizada41: Registrado DPEC56: Cancelada fora do prazo57: Autorizada fora do prazo92: Manifestação gerada automaticamente93: Falha94: Preparado para envio à SEFAZ95: Aguardando saída da contingência96: Impresso em contingência97: Registrado EPEC (cliente remoto)
sitret: Situação do Retorno (SDE → ERP)1: Não retornado2: Retornado3: Erro no retorno4: Desativado
sitimp: Situação da impressão do DANFE1: Pendente2: Impressa3: Desativado4: Impresso em contingência5: Impressão temporária
vernfe: Versão do layout da NF-enumnfe: Número da nota fiscalsernfe: Série da nota fiscaltotnfe: Valor total da nota fiscaldatemi: Data/hora de emissãodatets: Data/hora de entrada/saídadoctip: Tipo do documento do destinatário1: CNPJ2: CPF3: Estrangeiro
docdes: Documento do destinatário (CNPJ/CPF)nomdes: Nome do destinatáriodatrec: Data/hora de recebimento na SEFAZprorec: Protocolo de autorização de usoidenfe: Chave de Acesso (SDE)ideerp: Chave de Acesso (ERP)tippro: Tipo do processamentoE: EmissãoR: Recebimento
datcon: Data/hora da consulta na SEFAZsitant: Situação anterior do documentocnpemi: CNPJ do emitentenomemi: Nome do emitentetipemi: Tipo de emissão da NF-e1: Normal (emissão normal)2: Contingência FS (Formulário de Segurança)3: Contingência SCAN (Sistema de Contingência do Ambiente Nacional)4: Contingência DPEC (Declaração Prévia de Emissão em Contingência)5: Contingência FS-DA (Formulário de Segurança para Impressão do DANFE)6: Contingência SVC-AN (SEFAZ Virtual do Ambiente Nacional)7: Contingência SVC-RS (SEFAZ Virtual do RS)
toticm: Valor do ICMSsubtri: Valor do ICMS-STieemis: Inscrição estadual do emitentedatctg: Data/hora da contingênciatipope: ?iedest: Inscrição estadual do destinatáriofusctg: Fuso horário da contingênciafusemi: Fuso horário da emissãofusrec: Fuso horário do recebimento na SEFAZcameml: Caminho do arquivo EMLdigval: Digest Value da NF-emotctg: Motivo da contingênciatiprel: Tipo de relação da filial com a NF-e0: Emissor1: Destinatário2: Terceiro3: Transportador
tipnfe: ?ideger: ?sitaud: Situação da auditoria do documentodatpro: ?datimp: ?tipamb: Tipo de ambiente da NF-e1: Produção2: Homologação
verori: Versão do aplicativo/processo emissortpdemi: ?sitman: Situação da manifestação do destinatário da NF-e (código do evento SEFAZ)210200: Confirmação da Operação210210: Ciência da Operação210220: Desconhecimento da Operação210240: Operação não Realizada
codsfz: ?msgsfz: ?sitene: ?datman: Data da manifestação do destinatárioemialf: Identificador alfanumérico do emitente (CNPJ em formato texto)
seqnxm: Sequência do registroseqxml: Sequência do XMLseqenf: Sequência do eventoseqnf3: Sequência da NF3-ehasarq: Hash do arquivo XMLdatsal: Data/hora em que o arquivo XML foi salvotiparq: Tipo de arquivo do XML1: Emissão de NF-e2: Cancelamento de NF-e3: Cancelamento de evento4: Manifestação do destinatário5: Carta de correção6: Evento de EPEC NF-e7: Inutilização8: Pedido de prorrogação de suspensão do ICMS9: Cancelamento de pedido de prorrogação de suspensão do ICMS10: Resposta do Fisco a um pedido de prorrogação11: Resposta do Fisco a um cancelamento de pedido de prorrogação
seqinu: Sequência de inutilizaçãoenvdat: ?seqrgs: ?seqcrs: ?
seqenf: Sequência do eventoseqest: Sequência do estadoseqfil: Sequência da filial (CNPJ)seqnf3: Sequência da NF3-e
seqvin: Sequência do vínculo/evento registrado.chvnfe: Chave de acesso da NF-e relacionada ao evento.tipevt: Tipo do evento vinculado à NF-e.610600: CT-e Autorizado.610601: CT-e Cancelado.610610: MDF-e Autorizado.
dataut: Data/hora de autorização do evento.fusaut: Fuso horário da autorização do evento.proaut: Protocolo de autorização do evento.tipdoc: ?
seqcte: Sequência do CT-eseqfil: Sequência da filial (CNPJ)seqemi: Sequência do emitenteseqrem: Sequência do remetenteseqdes: Sequência do destinatárioseqexp: Sequência do expedidorseqrec: Sequência do recebedorseqout: Sequência do outro tomadorseqenv: Sequência do município de envio do CT-e (município de onde o CT-e foi transmitido)seqini: Sequência do município do início da prestação (tag XML:<cMunIni>)seqter: Sequência do município do término da prestação (tag XML:<cMunFim>)seqicm: Sequência do ICMSseqend: Sequência do endereçositcte: Situação do documento0: Recebido no ERP1: Enviado à SEFAZ2: Rejeitado3: Cancelado4: Inutilizado5: Autorizado6: Denegado7: Impressão em contingência8: Recebido do fornecedor9: EPEC registrado10: Preparado para envio à SEFAZ11: Aguardando saída em contingência
daterp: Data/hora de retorno do status ao ERPsitimp: ?codnum: Código numérico do CT-e que compõe a chave de acesso (tag XML:<cCT>)codcfp: CFOPnatope: Natureza da operaçãoforpag: Forma de pagamento0: Pago1: À pagar2: Outros
moddoc: Modelo do documentosercte: Série do CT-enumcte: Número do CT-edatemi: Data/hora de emissãotipimp: ?tipemi: Tipo de emissão do CT-e (tag XML:<tpEmis>)1: Normal4: EPEC pela SVC5: Contingência FS-DA7: SVC-RS8: SVC-SP
digver: Dígito verificador da chave de acessotipamb: Tipo do ambiente1: Produção2: Homologação
tipcte: Tipo do CT-e0: CT-e Normal1: CT-e de Complemento de Valores2: CT-e de Anulação de Valores3: CT-e Substituto
tipapl: ?chvref: Chave de acesso do CT-e referenciado (CT-e Complementar, tag XML:<infCteComp><chave>).tipmod: Modalidade de transporte1: Rodoviário2: Aéreo3: Aquaviário4: Ferroviário
tipser: Tipo do serviço0: Normal1: Subcontratação2: Redespacho3: Redespacho Intermediário
indret: Indicador de retirada pelo recebedor no local de destino (Aeroporto/Filial/Porto/Estação): tag XML:<retira>0: Sim (retira)1: Não (não retira)
detret: Detalhes da retirada: tag XML:<xDetRetira>tiptom: Tipo do tomador0: Remetente1: Expedidor2: Recebedor3: Destinatário
datcon: Data/hora contingênciajuscon: Justificativa contingênciavalpre: Valor total do serviço prestado (tag XML:<vTPrest>)valrec: Valor a receber/recebido pelo serviço (tag XML:<vRec>)chvcte: Chave de acesso (SDE)inffis: Informações adicionais de interesse do Fisco: tag XML:<infAdFisco>vercte: Versão do layout do CT-e (tag XML:<verCTe>)datrec: Data/hora recebimento na SEFAZnumpro: Protocolo de autorização de usodigval: Digest value (tag XML:<DigestValue>)inssuf: Inscrição do destinatário na SUFRAMAtippro: Tipo do processamentoE: EmissãoR: Recebimento
chverp: Chave de acesso (ERP)chvctg: ?verpse: Versão do aplicativo da SEFAZ (tag XML:<verAlic>)valimp: Valor dos impostos (tag XML:<vTotTrib>)loccnp: ?loccpf: ?locnom: ?datcos: Data/hora da consulta na SEFAZsitret: Situação do Retorno (SDE → ERP)1: Não retornado2: Retornado3: Erro no retorno4: Desativado
verapl: Versão do aplicativo/processo emissor (tag XML:<verProc>)cameml: Caminho do arquivo EMLuftbca: ?uftali: ?uftall: ?uftvat: ?uftvai: ?uftper: ?uftpif: ?uftvif: ?fusemi: Fuso horário da emissãofusrec: Fuso horário do recebimento na SEFAZfuscon: Fuso horário da contingênciadatimp: ?oridoc: ?sitene: ?datpro: ?indmig: ?
seqnxm: Sequência do registroseqxml: Sequência do XMLseqcte: Sequência do CT-eseqcan: Sequência do cancelamentoseqect: Sequência do eventohasarq: Hash do arquivo XMLdatsal: Data/hora em que o arquivo XML foi salvotiparq: Tipo de arquivo do XMLseqinu: Sequência de inutilizaçãoenvdat: ?
seqicm: Sequência do ICMSvalobc: Base de cálculoaliquo: Alíquota do ICMSvalicm: Valor do ICMS
seqxml: Sequência/ID do XMLarqxml: ?binarq: Conteúdo do XML
seqest: Sequência do estadocodpai: Código do paíssigest: Sigla do estadonomest: Nome do estadoutcest: Fuso horário (UTC)utcver: Fuso horário (UTC) no horário de verão
codpai: Código do paísdscpai: Descrição do paíscodiso: Código ISO numérico do país (ISO 3166-1 numeric)alpcod: Código ISO alfabético (2 letras) do país (ISO 3166-1 alpha-2)
seqpes: Sequência da pessoaseqend: Sequência do endereçonumcnp: Número do cnpjnumcpf: Número do cpfnumice: Inscrição estadualdscnom: Nomedscfan: Nome fantasianumtel: Número de telefonedschas: Hash do cadastrocnpalf: Cnpj alfanúmerico
seqend: Sequência do endereçoseqmun: Sequência do municípiocodpai: Código do paísdscnum: Número do logradourodsccpl: Complemento do endereçodscbar: Bairronumcep: CEPdsclog: Logradouro
-
seqemp: Sequência da empresa -
seremp: Serial da empresa (identifica o cliente no sistema de licenciamento) -
tipdoc: Tipo do documento da empresa1: CNPJ2: CPF
-
nomemp: Nome da empresa -
cnpemp: CNPJ da empresa
-
seqfil: Sequência da filial (CNPJ) -
seqemp: Sequência da empresa -
seqmun: Sequência do município -
seqest: Sequência do estado -
vernhi: ? -
tipdoc: Tipo do documento da filial1: CNPJ2: CPF
-
sitfil: Situação da filial0: Ativa1: Inativa, com permissão para visualizar documentos2: Inativa, sem permissão para visualizar documentos
-
codfil: Código da filial -
nomfil: Nome da filial -
docfil: Documento da filial (CNPJ)
seqmun: Sequência do municípioseqest: Sequência do estadocodsia: Código do município no SIAFI (Tesouro Nacional)nommun: Nome do municípiocodmds: ?codfgm: ?recpdf: ?
Para desfazer a conferência de um pedido de venda já concluída (packing), cancele todos os volumes vinculados ao pedido na tela Gerenciador de Volume.
Para trocar o usuário responsável pela conferência de um pedido após o início da conferência, utilize a tela Gerenciador de Packing.
A tela Integração de Arquivo pode ser usada para reenviar integrações.
Para localizar integrações de pré-fatura, informe o idNotaFiscal do pedido no campo idOperação.
Logs do WMS Silt usados como referência para buscas na tela Log de Segurança.
Tela: Usuário - Inseriu a entidade: Usuario - Primary Key: id(171), Campos: ativo(true), codBarra(0000188), codigoRedefinirSenha(), dataProximaAlteracao(Mon Dec 01 08:14:34 BRT 2025), departamento(TESTE), email(), entidade(), enviarSenha(false), nomeUsuario(TESTE), nomeUsuarioCompleto(TESTE), permiteAlterarDtRet(false), senha($argon2i$v=19$m=65536,t=10,p=1$sFUxGAhsyjWU7axgIatJXw$ZX5r5T/3lzuwgdSXMBGBISajk4Knh87ZDf5Ok5VtNJ0), senhaTmp(false), tipoUsuario(Operador), turnoTrabalho(), usuarioAD(), usuarioSeniorX(), utilizaSenhaCaseSensitive(true), utilizarLoginSeniorX(false), utzLoginAD(false)
Tela: Usuário - Alterou a entidade: Usuario - Primary Key: id(170), Campo(s) alterado(s): (departamento) Antes: TESTE2 Depois: TESTE3, (nomeUsuario) Antes: TESTE Depois: TESTE3, (nomeUsuarioCompleto) Antes: TESTE Depois: TESTE3
NOTA 255107 RETIRADA DA ONDA CANCELADA: 204891
REMOVEU O IDNOTAFISCAL: 255107 DO IDONDA: 204891
VINCULOU O LOTE 9694688 NA SEPARAÇÃO ESPECIFICA PARA O IDNOTAFISCAL 258162
Important
No Gestão Empresarial | ERP, o JSON Facade Adapter está disponível a partir da versão 5.10.4.120 (17/07/2026).
Permite consumir Web Services através de HTTP/JSON, utilizando a Bridge para realizar a conversão e execução do serviço.
Atende serviços cujos parâmetros de entrada são escalares. Parâmetros estruturados do tipo Set
não chegam ao serviço, e a resposta indica sucesso mesmo assim.
Documentação do JSON Facade Adapter
Erro: Erro processando retorno da Ordem de separação Mensagem Original: Erro ao atualizar as tabelas de retorno de ordem de separação. Mensagem Original: Erro ao alterar o item da pré-fatura (empresa 1, filial 1, análise de embarque 48148, pré-fatura 19, item 2): Lote 1619C4 já está sendo utilizado neste item 2 da pré-fatura 19.
Motivo: No WMS o produto tem algum lote com lote indústria igual e validade diferente.
Solução: No Gerenciador de Lote, altere a data de validade do lote. O botão “Divergência Lote Indústria” pode ser usado para listar todos os casos em que um mesmo lote indústria aparece com validades diferentes.
Erro: Erro ao processar cancelamento, identificador único: "31aac8d7-8820-47ae-b85f-2ab87542de45". Erro: Não foi possível cancelar a nota fiscal de saída: Não foi possível Cancelar a(s) Nota(s) - Nota 549462 - Erro ao atualizar o pedido 586.234 : Usuário não tem permissão para cancelar o pedido (não pode alterar a situação do pedido) | Falha ao gravar confirmação de cancelamento da separação: Identificador: 31aac8d7-8820-47ae-b85f-2ab87542de45
Motivo: O usuário de integração não possui as permissões necessárias para fazer o cancelamento no ERP.
Solução: No ERP altere o valor para Sim nas linhas "Alterar Situação Pedido", "Alterar Situação NF Saída", "Cancelar NF-e Exp", "Reabilitar NF Saída Emitida" e "Cancelar NF Saída" para o usuário de integração na tela "Parametros de Usuário para Vendas" (F099UVE, em Cadastros → Usuários → Parametros por Gestão → Vendas, Faturamento e Transporte).
No Senior-X você pode ver qual é o usuário que faz a integração em Tecnologia → Configuração → Por Tenant → erp_isl → int_integrador_bifrost → Editar → aba Sistema

Configuração validada para executar o ERP no Arch Linux com Wine, em sessão Wayland do KDE Plasma. Cobre prefixo dedicado, instalação da estação e do cliente Oracle 32 bits, fontes, compartilhamentos SMB com Kerberos, atalho no Plasma e os problemas encontrados com o winex11.drv e o winewayland.drv.