Integração com sistemas de execução de fabrico de terceiros
Algumas organizações de fabrico que utilizam o Microsoft Dynamics 365 Supply Chain Management utilizam a funcionalidade nativa no Dynamics 365 para controlar as suas atividades de fabrico para máquinas, equipamentos e pessoal. No entanto, outras organizações de fabrico, sobretudo as que têm requisitos de fabrico avançados, optam por utilizar um sistemas de execução de fabrico de terceiros (MES). As organizações podem escolher uma solução MES de terceiros porque, por exemplo, está especificamente adaptada à respetiva indústria vertical.
Na solução integrada, a troca de dados está totalmente automatizada e ocorre em tempo quase real. Portanto, os dados são mantidos atuais em ambos os sistemas e não é necessária nenhuma entrada de dados manual. Por exemplo, quando o consumo de material é registado no MES, a integração garante que o mesmo consumo também é registado no Dynamics 365. Por conseguinte, os registos de inventário atualizados estão disponíveis para outros processos importantes, como o planeamento e as vendas.
A solução torna mais rápido, mais fácil e mais barato para os utilizadores do Supply Chain Management para integração com MESs de terceiros. Oferece as seguintes funcionalidades:
- Eventos empresariais e interfaces que suportam os principais processos de execução de fabrico
- Um dashboard centralizado poderá monitorizar o histórico de processamento do evento, bem como os processos de resolução de problemas e correção que falham
A ilustração que se segue mostra uma coleção típica de eventos empresariais, processos e mensagens que são trocados numa solução integrada.
Ativar a funcionalidade de integração MES
Antes de utilizar esta funcionalidade, um administrador tem de ativá-lo no seu sistema, conforme descrito no seguinte procedimento.
- Aceda a Administração do sistema > Configuração > Configuração de licenças.
- Certifique-se de que a chave de licença de Tempo e participação está ativada (mostra uma marca de verificação). Esta chave de licença é necessária porque controla a funcionalidade e os dados do sistema de execução de fabrico. Se não estiver ativada, execute os seguintes passos:
- Coloque o seu sistema em modo de manutenção, conforme descrito na secção Modo de manutenção.
- Na página Configuração de licença, selecione a caixa de verificação Tempo e participação .
- Desligue o modo de manutenção, conforme descrito em Modo de manutenção
- Vá para Gestão de funcionalidades das áreas de trabalho de >> administraçãodo sistema.
- Utilize a área de trabalho Gestão de funcionalidades para ativar a funcionalidade de integração do sistema de execução de fabrico. (A partir da versão 10.0.29 do Supply Chain Management, esta funcionalidade está ativada por predefinição. A partir da versão 10.0.32 do Supply Chain Management, é obrigatória e não pode ser desativada.)
Processos disponíveis para a integração com o MES
Pode ativar qualquer um ou todos os seguintes processos para a integração.
Nome de processo | Descrição |
---|---|
Lançar ordens de produção e eventos empresariais de alteração de estado de ordens de produção | Este processo fornece um evento empresarial que o MES pode ouvir para obter informações sobre as ordens de produção que devem ser produzidas. Espera-se que os dados de referência relacionados com a ordem de produção sejam partilhados do Supply Chain Management para o MES através do protocolo OData (Open Data Protocol) ou entidades de dados. |
Iniciar ordem de produção | Este processo fornece ao Supply Chain Management informações sobre as ordens de produção que estão a ser iniciadas ao utilizar o MES. Garante que ambos os sistemas têm uma vista atualizada de todas as atividades de fabrico. |
Reportar quantidade produzida ou descartada | Este processo fornece ao Supply Chain Management informações sobre as quantidades corretas e com erro que são reportadas num trabalho de produção ao utilizar o MES. Garante que os supervisores do local de produção têm uma vista atualizada do progresso do plano de produção. |
Reportar consumo de material | Este processo fornece ao Supply Chain Management informações do MES sobre as quantidades de materiais que são consumidas. Disponibiliza os registos de inventário atualizados para outros processos importantes, como o planeamento e as vendas. |
Reportar o tempo consumido para a operação | Este processo fornece ao Supply Chain Management informações sobre o tempo empregue para uma operação específica. |
Terminar ordem de produção | Isto processo informa o Supply Chain Management que o MES atualizou uma ordem de produção para o seu estado final de Terminado. Este estado indica que não serão produzidas mais quantidades na ordem de produção. |
Monitorizar mensagens a receber
Para monitorizar as mensagens MES a receber no sistema, aceda a Configuração do controlo > de produção Execução >> de fabrico Integração de sistemas de execução de fabrico.
Todas as mensagens para uma ordem de produção específica são processadas na sequência em que são recebidas. No entanto, as mensagens para diferentes ordens de produção podem não ser processadas na sequência de recebimento porque as tarefas de lote são processadas em paralelo. Em caso de falha, a tarefa de lote tentará processar cada mensagem três vezes antes de defini-la como Estado falhado .
A página Integração de sistemas de execução de fabrico funciona da mesma forma que a página Mensagens do processador de mensagens e representa uma funcionalidade muito semelhante. (Ele ainda mostra mensagens MES, além de outros tipos de mensagens.) Para obter informações sobre como usar qualquer página para revisar mensagens, localizar e corrigir mensagens com falha e muito mais, consulte Página Mensagens do processador de mensagens
Chamar a API
Para chamar a API de integração com o MES, envie um POST
pedido para o seguinte URL de ponto final:
/api/services/SysMessageServices/SysMessageService/SendMessage
O corpo do pedido que enviar deve assemelhar-se ao seguinte exemplo. Substitua os valores para _companyId
, _messageType
e _messageContent
conforme necessário. Para obter informações sobre os vários tipos de mensagens que a API suporta e como conceber o seu conteúdo, consulte a secção seguinte.
{
"_companyId": "USMF",
"_messageQueue": "JmgMES3P",
"_messageType": "ProdProductionOrderReportFinished",
"_messageContent":
"{\"ProductionOrderNumber\": \"P000123\", \"ReportFinishedLines\": [{\"ItemNumber\": \"A0001\", \"ReportedGoodQuantity\": 10, \"ReportAsFinishedDate\": \"2021-01-01\"}]}"
}
Tipos e conteúdos de mensagens da API
Esta secção descreve cada tipo de mensagem que pode ser trocada através da API de integração com o MES.
Mensagem Iniciar ordem de produção
Para a mensagem de ordem de produção de início, o _messageType
valor é ProdProductionOrderStart
. A seguinte tabela mostra os campos que esta mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ProductionOrderNumber |
Obrigatório | Cadeia |
StartedQuantity |
Opcional | Real |
StartedDate |
Opcional | Data |
AutomaticBOMConsumptionRule |
Opcional | Enum (FlushingPrincip | Sempre | Nunca) |
Reportar como mensagem concluída
Para a mensagem de relatório como concluído , o _messageType
valor é ProdProductionOrderReportFinished
. A seguinte tabela mostra os campos que esta mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ProductionOrderNumber |
Obrigatório | Cadeia |
ReportFinishedLines |
Obrigatório | Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte |
A tabela seguinte mostra os campos que cada linha na ReportFinishedLines
secção da ProdProductionOrderReportFinished
mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
LineNumber |
Opcional | Real |
ItemNumber |
Opcional | Cadeia |
ProductionType |
Opcional | Enum (MainItem | Fórmula | L.M. | Co_Product | By_Product | Nenhum), extensível |
ReportedErrorQuantity |
Opcional | Real |
ReportedGoodQuantity |
Opcional | Real |
ReportedErrorCatchWeightQuantity |
Opcional | Real |
ReportedGoodCatchWeightQuantity |
Opcional | Real |
AcceptError |
Opcional | Enum (Sim | Não) |
ErrorCause |
Opcional | Enum (Nenhum | Material | Máquina | OperatingStaff), extensível |
ExecutedDateTime |
Opcional | DateTime |
ReportAsFinishedDate |
Opcional | Data |
AutomaticBOMConsumptionRule |
Opcional | Enum (FlushingPrincip | Sempre | Nunca) |
AutomaticRouteConsumptionRule |
Opcional | Enum (RouteDependent | Sempre | Nunca) |
RespectFlushingPrincipleDuringOverproduction |
Opcional | Enum (Sim | Não) |
ProductionJournalNameId |
Opcional | Cadeia |
PickingListProductionJournalNameId |
Opcional | Cadeia |
RouteCardProductionJournalNameId |
Opcional | Cadeia |
FromOperationNumber |
Opcional | Número Inteiro |
ToOperationNumber |
Opcional | Número Inteiro |
InventoryLotId |
Opcional | Cadeia |
BaseValue |
Opcional | Cadeia |
EndJob |
Opcional | Enum (Sim | Não) |
EndPickingList |
Opcional | Enum (Sim | Não) |
EndRouteCard |
Opcional | Enum (Sim | Não) |
PostNow |
Opcional | Enum (Sim | Não) |
AutoUpdate |
Opcional | Enum (Sim | Não) |
ProductColorId |
Opcional | Cadeia |
ProductConfigurationId |
Opcional | Cadeia |
ProductSizeId |
Opcional | Cadeia |
ProductStyleId |
Opcional | Cadeia |
ProductVersionId |
Opcional | Cadeia |
ItemBatchNumber |
Opcional | Cadeia |
ProductSerialNumber |
Opcional | Cadeia |
LicensePlateNumber |
Opcional | Cadeia |
InventoryStatusId |
Opcional | Cadeia |
ProductionWarehouseId |
Opcional | Cadeia |
ProductionSiteId |
Opcional | Cadeia |
ProductionWarehouseLocationId |
Opcional | Cadeia |
InventoryDimension1 até InventoryDimension12 |
Opcional | Cadeia |
As 12 dimensões extensíveis requeremInventoryDimension1
InventoryDimension12
personalização e nem sempre são utilizadas. Para obter mais informações sobre elas, consulte Adicionar novas dimensões de inventário por meio da extensão.
Mensagem de consumo de material (lista de recolha)
Para a mensagem de consumo de material (lista de recolha), o _messageType
valor é ProdProductionOrderPickingList
. A seguinte tabela mostra os campos que esta mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ProductionOrderNumber |
Obrigatório | Cadeia |
JournalNameId |
Opcional | Cadeia |
PickingListLines |
Obrigatório | Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte |
A tabela seguinte mostra os campos que cada linha na PickingListLines
secção da ProdProductionOrderPickingList
mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ItemNumber |
Obrigatório | Cadeia |
ConsumptionBOMQuantity |
Opcional | Real |
ProposalBOMQuantity |
Opcional | Real |
ScrapBOMQuantity |
Opcional | Real |
BOMUnitSymbol |
Opcional | Cadeia |
ConsumptionInventoryQuantity |
Opcional | Real |
ProposalInventoryQuantity |
Opcional | Real |
ConsumptionCatchWeightQuantity |
Opcional | Real |
ProposalCatchWeightQuantity |
Opcional | Real |
ConsumptionDate |
Opcional | Data |
OperationNumber |
Opcional | Número Inteiro |
LineNumber |
Opcional | Real |
PositionNumber |
Opcional | Cadeia |
IsConsumptionEnded |
Opcional | Enum (Sim | Não) |
ErrorCause |
Opcional | Enum (Nenhum | Material | Máquina | OperatingStaff), extensível |
InventoryLotId |
Opcional | Cadeia |
Mensagem Tempo utilizado para a operação (cartão de rota)
Para o tempo utilizado para a operação (cartão de rota)mensagem, o valor é _messageType
. ProdProductionOrderRouteCard
A seguinte tabela mostra os campos que esta mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ProductionOrderNumber |
Obrigatório | Cadeia |
JournalNameId |
Opcional | Cadeia |
RouteCardLines |
Obrigatório | Uma lista de linhas (pelo menos uma), em que cada uma contém o payload descrito na tabela seguinte |
A tabela seguinte mostra os campos que cada linha na RouteCardLines
secção da ProdProductionOrderRouteCard
mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
OperationNumber |
Obrigatório | Número Inteiro |
OperationPriority |
Opcional | Enum (Primário | Secundário1 | Secundário2 | ... | Secundário20) |
OperationId |
Opcional | Cadeia |
OperationsResourceId |
Opcional | Cadeia |
Worker |
Opcional | Cadeia |
HoursRouteCostCategoryId |
Opcional | Cadeia |
QuantityRouteCostCategoryId |
Opcional | Cadeia |
HourlyRate |
Opcional | Real |
Hours |
Opcional | Real |
GoodQuantity |
Opcional | Real |
ErrorQuantity |
Opcional | Real |
CatchWeightGoodQuantity |
Opcional | Real |
CatchWeightErrorQuantity |
Opcional | Real |
QuantityPrice |
Opcional | Real |
ProcessingPercentage |
Opcional | Real |
ConsumptionDate |
Opcional | Data |
TaskType |
Opcional | Enum (QueueBefore | Configuração | Processo | Sobreposição | Transportes | Fila Depois | Ônus) |
ErrorCause |
Opcional | Enum (Nenhum | Material | Máquina | OperatingStaff), extensível |
OperationCompleted |
Opcional | Enum (Sim | Não) |
BOMConsumption |
Opcional | Enum (Sim | Não) |
ReportAsFinished |
Opcional | Enum (Sim | Não) |
Mensagem Terminar ordem de produção
Para a mensagem de ordem de produção final, o _messageType
valor é ProdProductionOrderEnd
. A seguinte tabela mostra os campos que esta mensagem suporta.
Nome do campo | Estado | Tipo |
---|---|---|
ProductionOrderNumber |
Obrigatório | Cadeia |
ExecutedDateTime |
Opcional | DateTime |
EndedDate |
Opcional | Data |
UseTimeAndAttendanceCost |
Opcional | Enum (Sim | Não) |
AutoReportAsFinished |
Opcional | Enum (Sim | Não) |
AutoUpdate |
Opcional | Enum (Sim | Não) |
Outras informações sobre a produção
As mensagens suportam ações ou eventos que acontecem no local de produção. São processados utilizando a estrutura de integração MES descrita neste artigo. A conceção pressupõe que outras informações de referência a partilhar com o MES (tais como informações relacionadas com o produto, a lista de materiais ou a rota (com as suas horas de configuração e configuração específicas) utilizadas numa ordem de produção específica) serão obtidas do sistema utilizando entidades de dados através da transferência de ficheiros ou OData.
Receber comentários sobre o estado de uma mensagem
Depois de o MES enviar uma mensagem para o Supply Chain Management, poderá ser relevante para o Supply Chain Management devolver comentários sobre o estado da mensagem. Seguem-se alguns exemplos de casos onde este comportamento pode ser relevante:
- Não existe nenhuma pessoa responsável por supervisionar constantemente a integração com o MES.
- A pessoa responsável pela supervisão da integração com o MES pretende ser notificada por e-mail quando uma mensagem falha, para que saiba que tem de agir.
- O MES tem de mostrar uma mensagem de erro para informar o operador do local de produção ou alguém do departamento de TI que tem de agir.
- O MES tem de recalcular a agenda de encomendas depois de receber uma mensagem de falha (por exemplo, porque uma ordem de produção não foi iniciada).
Nestes casos, pode tirar partido da funcionalidade de alerta padrão no Supply Chain Management. Para obter informações sobre como funcionam os alertas padrão, consulte os seguintes recursos:
- Artigo de ajuda: Descrição geral dos alertas
- Vídeo: Opções de regras de alerta em finanças e operações
Por exemplo, pode configurar os seguintes alertas para fornecer comentários sobre o estado de uma mensagem:
- Crie um evento empresarial ("Enviar externamente") que seja utilizado quando uma mensagem é Falha.
- Envie uma notificação e um e-mail para o administrador de TI ou gestor do local de produção.