none
Data de entrega automática na ordem de compra RRS feed

  • Pergunta

  • 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 !
    segunda-feira, 2 de setembro de 2013 13:24

Respostas

  • 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;

    • Marcado como Resposta matfurrier segunda-feira, 2 de setembro de 2013 19:33
    segunda-feira, 2 de setembro de 2013 19:28

Todas as Respostas

  • Acrescentando 5 dias em uma data!

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


    Fúlvio Cezar Canducci Dias

    segunda-feira, 2 de setembro de 2013 13:31
  • 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 !

    segunda-feira, 2 de setembro de 2013 13:41
  • Que tipo é VendTable.Leadtime ????

    Fúlvio Cezar Canducci Dias

    segunda-feira, 2 de setembro de 2013 13:42
  • Tipo Integer...
    segunda-feira, 2 de setembro de 2013 13:44
  • Código então!

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

    Essa é resposta então!



    Fúlvio Cezar Canducci Dias


    segunda-feira, 2 de setembro de 2013 13:46
  • Obrigado pela prontidão Fúlvio.

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

    segunda-feira, 2 de setembro de 2013 13:55
  • 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

    segunda-feira, 2 de setembro de 2013 14:00
  • 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 !

    segunda-feira, 2 de setembro de 2013 14:36
  • você precisa configurar os dias de transporte para vir automatico na ordem:

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

    segunda-feira, 2 de setembro de 2013 17:30
  • 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.

    segunda-feira, 2 de setembro de 2013 17:48
  • 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.

    segunda-feira, 2 de setembro de 2013 18:05
  • 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.

    segunda-feira, 2 de setembro de 2013 18:08
  • 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;

    • Marcado como Resposta matfurrier segunda-feira, 2 de setembro de 2013 19:33
    segunda-feira, 2 de setembro de 2013 19:28
  • Andressa, 

    simplesmente perfeito !

    Validamos aqui e é exatamente isso que precisamos.

    Muitíssimo obrigado !

    segunda-feira, 2 de setembro de 2013 19:34