none
Data de entrega automática na ordem de compra

    Question

  • Bom dia !

    Em nossos cadastros de fornecedores, todos tem o Leadtime cadastrado, que é a média de dias em que demoram para entregar uma mercadoria.
    Nas ordens de compra, existe um campo que chamado "Data de Entrega", porém, este campo traz automaticamente a data atual, em que se está criando a ordem de compra.
    Eu gostaria que este campo fosse preenchido com a data estimada pelo Leadtime, ou seja, a data atual acrescida do Leadtime.
    Existe algum meio de realizar isto editando o formulário, algum métodp ou algo assim ?
    Obrigado a todos !
    Monday, September 02, 2013 1:24 PM

Answers

  • MatFurrier, tem como fazer isso sim, da forma como mencionaram acima. Mas você precisa adaptar ó que passaram para o que você quer fazer.

    o provável motivo pelo qual estava dando erro, é que o método addDays pede um UTC, e vc está fornecendo um date time.

    Tente só somar o número de dias, fiz num job aqui e funcionou, msa tbm não lembro se pode dar problema dependendo de outros fatores.

    PurchTable.DeliveryDate = PurchTable.DeliveryDate + VendTable::find(PurchTable.OrderAccount).Leadtime;

    • Marked as answer by matfurrier Monday, September 02, 2013 7:33 PM
    Monday, September 02, 2013 7:28 PM

All replies

  • Acrescentando 5 dias em uma data!

    Int32 Leadtime = 5; // 5 dias
    DateTime DateFinal = DateTime.Now.AddDays(Leadtime);


    Fúlvio Cezar Canducci Dias

    Monday, September 02, 2013 1:31 PM
  • Obrigado Fúlvio.

    Porém, no meu caso, o Leadtime já está no cadastro do fornecedor.
    Ao criar a ordem de compra, e determinar de qual fornecedor ela é, eu gostaria de preencher o campo Data de Entrega +/- assim:  PurchTable.DeliveryDate = DataAtual + VendTable.Leadtime.

    Obrigado !

    Monday, September 02, 2013 1:41 PM
  • Que tipo é VendTable.Leadtime ????

    Fúlvio Cezar Canducci Dias

    Monday, September 02, 2013 1:42 PM
  • Tipo Integer...
    Monday, September 02, 2013 1:44 PM
  • Código então!

    PurchTable.DeliveryDate = DateTime.Now.AddDays(VendTable.Leadtime);

    Essa é resposta então!



    Fúlvio Cezar Canducci Dias


    Monday, September 02, 2013 1:46 PM
  • Obrigado pela prontidão Fúlvio.

    Só uma última dúvida...o nosso DAX é o 2009.
    Posso declarar desta mesma forma ?

    Monday, September 02, 2013 1:55 PM
  • Faça os testes, mas, pelo que eu sei sim!!!

    Se for satisfatório vote em mim e me dê um crédito!


    Fúlvio Cezar Canducci Dias

    Monday, September 02, 2013 2:00 PM
  • Fúlvio, 

    já me deu um "norte".
    No DAX 2009, seria algo assim :

    PurchTable.DeliveryDate = DateTimeUtil::addDays(VendTable.Leadtime);

    Mas ainda assim, ele diz que não encontra a VendTable e, além disso, a sintaxe não deu certo.
    Continuo pesquisando, e, se você tiver mais alguma ideia, agradeço.

    Obrigado !

    Monday, September 02, 2013 2:36 PM
  • você precisa configurar os dias de transporte para vir automatico na ordem:

    Gerenciamento de estoque>configuração>distribuição>transporte

    Monday, September 02, 2013 5:30 PM
  • Obrigado pela ajuda Madalena !

    Neste caso, se eu configurar um valor padrão, todos terão o mesmo Leadtime, correto ?

    O que eu gostaria é, utilizar a quantidade de dias definida no cadastro do fornecedor para isso, pois este número é variável.

    Monday, September 02, 2013 5:48 PM
  • Este campo "lead time do fornecedor" é um campo customizado, certo?

    Te passei a configuração core do AX, pelo tipo de entrega você pode configurar os dias de transporte.

    Monday, September 02, 2013 6:05 PM
  • Isso mesmo, ele foi criado na tabela Vendtable para este fim, porém, nunca foi implementado.

    Eu imaginei que houvesse uma maneira de popular o campo da ordem de compra através de algum método.

    Mesmo assim, muito obrigado Madalena.

    Monday, September 02, 2013 6:08 PM
  • MatFurrier, tem como fazer isso sim, da forma como mencionaram acima. Mas você precisa adaptar ó que passaram para o que você quer fazer.

    o provável motivo pelo qual estava dando erro, é que o método addDays pede um UTC, e vc está fornecendo um date time.

    Tente só somar o número de dias, fiz num job aqui e funcionou, msa tbm não lembro se pode dar problema dependendo de outros fatores.

    PurchTable.DeliveryDate = PurchTable.DeliveryDate + VendTable::find(PurchTable.OrderAccount).Leadtime;

    • Marked as answer by matfurrier Monday, September 02, 2013 7:33 PM
    Monday, September 02, 2013 7:28 PM
  • Andressa, 

    simplesmente perfeito !

    Validamos aqui e é exatamente isso que precisamos.

    Muitíssimo obrigado !

    Monday, September 02, 2013 7:34 PM