1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Alterar Estado da Ordem de Produção

Discussão em 'EMS , HCM e Totvs 11' iniciado por rbaselio, Agosto 4, 2020.

  1. rbaselio

    rbaselio Membro Participativo

    Olá utilizo o modulo de chão de fabrica (SFC), e estou fazendo automações no reporte.
    Eu gostaria que quando uma ordem de produção tivesse sua quantidade produzida atingida, ela fosse terminada.
    Pergunta, posso alterar o estado dela para 7 direto no banco de dados, é é melhor fazer via API? Inclusive, se alguém tiver algum exemplo de como fazer, fico grato!
  2. af.dums

    af.dums Membro Ativo

    Olá.. Tudo bem?
    Tenho algumas situações que mudo direto no banco, sem problemas, apenas muda a reservas.artivo = no também...
    Senão, podes usar a api cpapi301 (nunca é o melhor caminho alterar direto no banco, mas as vezes é necessário)...

    Obs: Fizemos um cruso junto em São Paulo, lá em 2006/2007...
  3. rbaselio

    rbaselio Membro Participativo

    Lembro de vc sim!!!!
    A proposito, vc tem algum exemplo de uso da cpapi301? Tentei usar mas da erro de versão aqui, muito estranho!
  4. af.dums

    af.dums Membro Ativo

    Massa...
    Fiz um teste com o código abaixo e funcionou aqui.
    Faz uns testes ai e retorna qualquer coisa...

    Código:
    {cdp/cdcfgman.i} 
    {cdp/cd0666.i}
    {cpp/cpapi301.i}
    
    
    FIND FIRST ord-prod
         WHERE ord-prod.nr-ord-prod = 105019 NO-LOCK NO-ERROR.
    
    CREATE tt-ord-prod.
    BUFFER-COPY ord-prod TO tt-ord-prod.
    ASSIGN tt-ord-prod.cod-versao-integracao = 3
           tt-ord-prod.ind-tipo-movto        = 2
           tt-ord-prod.estado                = 7.
    
    RUN cpp/cpapi301.p (INPUT-OUTPUT TABLE tt-ord-prod,
                        INPUT-OUTPUT TABLE tt-reapro,
                        INPUT-OUTPUT TABLE tt-erro,
                        INPUT YES).
    
    FIND FIRST tt-erro NO-LOCK NO-ERROR.
    IF AVAIL tt-erro THEN DO:
        RUN cdp/cd0666.w(INPUT TABLE tt-erro).
        RETURN "NOK".
    END.
    
    
  5. rbaselio

    rbaselio Membro Participativo

    obrigado!

Compartilhe esta Página