Exemplo de utilização de ordens de envio de entrada e saída
Nota
O Azure Active Directory é agora o Microsoft Entra ID. Saiba mais
Este artigo fornece um cenário de exemplo que mostra como criar ordens de envio de entrada e de saída através do processamento de mensagens. Utiliza os dados de exemplo padrão associados ao exemplo de entidade legal (empresa) USMF.
Como testar o processo de criação
Para experimentar o processo de criação de ordens de envio de entrada e de saída através de mensagens, defina as opções Ativar a criação manual de mensagens de ordem de envio de saída e Ativar a criação manual de mensagens de ordem de envio de entrada como Sim para um registo do Sistema de origem. Em seguida, pode criar mensagens de encomenda de envio diretamente nas páginas Mensagens de encomenda de envio de saída e Mensagens de encomenda de envio de entrada.
Outra maneira rápida de publicar mensagens de exemplo é usar pedidos OData (Open Data Protocol).
Em ambos os casos de exemplo, o processador de mensagens processa Microsoft Dynamics 365 Supply Chain Management as mensagens e cria as encomendas no sistema de armazém.
Dica
Para ignorar completamente os processos de criação de ordens de envio através de mensagens, pode criar as ordens de envio de entrada e as ordens de envio de saída diretamente nas páginas de encomendas ao permitir as definições Ativar a criação manual de ordens de envio de entrada e Ativar a criação manual de ordens de envio de saída para um sistema de origem.
A mesma lógica de estrutura de mensagens aplica-se às mensagens de ordens de envio de entrada e saída:
Cabeçalho da encomenda
Linha da encomenda 1
Linha da encomenda 2
…
Linha da encomenda n
Concluir
Sugestão
Para obter mais exemplos de solicitações HTTP para criar mensagens e integrar dados mestre de inventário e produtos, vá para o repositório dynamics365scm-warehouse no GitHub.
Pré-requisitos
Para poder trabalhar neste exemplo utilizando um ambiente do Supply Chain Management, deverá preparar o seu sistema da seguinte forma:
- Verifique os requisitos de versão e ative a funcionalidade, conforme descrito em Ativar e configurar o modo só de gestão do armazém.
- Trabalhe num sistema em que os dados de demonstração padrão se encontrem instalados e selecione a entidade legal USMF.
- Configure pelo menos um registo na página Sistemas de origem. Este cenário de exemplo pressupõe que configurou um sistema de origem em que o campo Sistema de origem se encontra definido como ERP. Para obter mais informações, consulte Configurar os seus sistemas de origem.
- Configure as sequências de números necessárias, conforme descrito em Configurar sequências de números.
Configurar a autenticação para o exemplo
Na página Aplicações de Microsoft Entra ID, atribua o utilizador Admin ao cliente utilizado para a autenticação durante a interação com o ambiente Supply Chain Management de uma origem externa. Em alternativa, atribua outro utilizador que tenha acesso de autenticação às mensagens de integração, como a função predefinida Operador de integração do sistema de armazém. Se utilizar o mesmo utilizador como parte da importação de dados globais de produto, terá de adicionar mais privilégios relacionados com as entidades de dados globais de produto à função Operador de integração do sistema de armazém.
Quando publica entidades através de OData, deverá garantir que a empresa predefinida do utilizador corresponde à empresa na qual a entidade será publicada ou que a empresa (valor dataAreaId
) é especificada nas mensagens de payload do pedido. De qualquer forma, as mensagens de ordem de envio só poderão ser concluídas se a empresa (valor dataAreaId
) for especificada.
Criar mensagens de ordem de envio
Exemplo de uma mensagem simples de ordem de envio de entrada
Para a mensagem de cabeçalho de ordem de envio de entrada InboundShipmentOrderMessages
, deverá fornecer pelo menos os seguintes dados:
MessageId
: M1dataAreaId
: USMF (Opcional, dependendo da empresa de utente de autorização padrão)SourceSystemId
: ERPOrderNumber
: IO1ReceivingWarehouseId
: 51
Quando utiliza variáveis do , a mensagem InboundShipmentOrderMessages
assemelha-se ao exemplo seguinte.
POST {{resource}}/data/InboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ReceivingWarehouseId": "{{Warehouse}}"
}
A mensagem InboundShipmentOrderLineMessages
assemelha-se ao exemplo seguinte.
POST {{resource}}/data/InboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"ExpectedQuantity": 10,
"ExpectedUnitSymbol": "Pcs"
}
Para consolidar as mensagens, publique uma mensagem completa para o cabeçalho e linhas. A mensagem completa assemelha-se ao exemplo seguinte.
POST {{resource}}/data/InboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Nota
O valor dataAreaId
é utilizado como parte da chave para corresponder ao cabeçalho e mensagens de linha libertados. Por conseguinte, é necessário especificar o valor dataAreaId
. O sufixo ?cross-company=true
só é obrigatório para mensagens em que a empresa seja diferente da empresa predefinida do utilizador configurada na página Aplicações de Microsoft Entra ID.
Exemplo de uma mensagem simples de ordem de envio de saída
Para a mensagem de cabeçalho de ordem de envio de saída OutboundShipmentOrderMessages
, deverá fornecer pelo menos os seguintes dados:
MessageId
: M2dataAreaId
: USMF (Opcional, dependendo da empresa de utente de autorização padrão)SourceSystemId
: ERPOrderNumber
: OO1ShipFromWarehouseId
: 51ConsigneeName
ouReceiverName
: MicrosoftConsigneeCountryRegionId
ouReceiverCountryRegionId
: EUA
Quando utiliza variáveis do , a mensagem OutboundShipmentOrderMessages
assemelha-se ao exemplo seguinte.
POST {{resource}}/data/OutboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ShipFromWarehouseId": "{{Warehouse}}",
"ConsigneeName": "{{ConsigneeName}}",
"ConsigneeCountryRegionId": "{{ConsigneeCountryRegionId}}"
}
A mensagem OutboundShipmentOrderLineMessages
assemelha-se ao exemplo seguinte.
POST {{resource}}/data/OutboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"OrderedQuantity": 10,
"OrderedUnitSymbol": "Pcs"
}
Para consolidar as mensagens, publique uma mensagem completa para o cabeçalho. A mensagem completa assemelha-se ao exemplo seguinte.
POST {{resource}}/data/OutboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Nota
O valor dataAreaId
é utilizado como parte da chave para corresponder ao cabeçalho e mensagens de linha libertados. Por conseguinte, é necessário especificar o valor dataAreaId
. O sufixo ?cross-company=true
só é obrigatório para mensagens em que a empresa seja diferente da empresa predefinida do utilizador configurada na página Aplicações de Microsoft Entra ID.
Mensagens do processador de mensagens para ordens de envio
Após a importação dos dois documentos para a fila de mensagens, deverá utilizar o processador de mensagens para os processar e criar as ordens de envio de entrada e saída reais.