Archive for Eylül, 2014

Dynamics AX’ta BCC (Gizli) mail nasıl gönderilir?

Merhaba

Ax içinden Bcc mail göndermek için SYSMailer sınıfına bazı eklemeler yapmak gerekiyor.

Aşağıdaki metotları SYSMailer sınıfına ekleyelim.

//DMR FD
SysMailerAddressField bccs()
{
    InteropPermission permission = new InteropPermission(InteropKind::ComInterop);

    permission.assert();

    //BP Deviation Documented
    return SysMailerAddressField::create(_com,SysmailerAddressFieldType::Bcc);
}

.

// DMR FD
SysMailerAddressField tosBCC()
{
    ;
    return SysMailerAddressField::create(_com,SysmailerAddressFieldType::Bcc);
}

.

// DMR FD
public void quickSendBcc(str fromAddr, str toAddr, str subject,
 str body, str cc='',str bcc='', str attachments='')
{
    SysMailerAddressField tos;
    SysMailerAddressField ccs;
    SysMailerAddressField bccs;
    SysMailerAttachments mailAttachments;
    SysEmailParameters parameters;

    List emailAddresses;
    ListEnumerator enum;
    ;

    this.fromAddress(fromAddr);

    tos = this.tos();
    emailAddresses = SysEmailDistributor::splitEmail(toAddr);
    enum = emailAddresses.getEnumerator();
    while(enum.moveNext())
    {
        tos.appendAddress(enum.current());
    }

    this.subject(subject);
    this.htmlBody(body);

    if (!prmisdefault(cc))
    {
        ccs = this.ccs();
        ccs.appendAddress(cc);
    }

    if (!prmisdefault(bcc))
    {
        bccs = this.bccs();
        bccs.appendAddress(bcc);
    }

    if (!prmisdefault(attachments))
    {
        mailAttachments = this.attachments();
        mailAttachments.add(attachments);
    }

    this.priority(1);

    parameters = SysEmailParameters::find();

    if (parameters.smtpRelayServerName)
    {
        this.SMTPRelayServer(parameters.smtpRelayServerName,parameters.smtpPortNumber,
              parameters.smtpUserName,SysEmailParameters::password(),parameters.ntlm);
    }

    this.sendMail();

}

Bu eklemelerde sonra şöyle bir örnekle mail gönderimini test edebiliriz.

static void FD_SendMailSampleCcandBcc(Args _args)
{
    SysMailer   mailer;
    str         toEmail     = "fatih.demirci@aaaa.com";
    str         fromEmail   = "iletisim@aaaa.com";
    str         cc          = "aaaaa@aaaa.com";
    str         bcc         = "bbbb@aaaa.com";
    str         subject     = "Email konusu";
    str         body        = "Email içeriği";

    ;
    mailer = new SysMailer();
    mailer.quickSendBcc( fromEmail, toEmail, subject, body, cc , bcc);

}

Selamlar.

Satış Siparişi İadesi AX 2012

Merhaba,

Danışmanlarımızdan Mehmet Yunus ÖZKORKMAZ’nın bir yazısını sizinle paylaşıyorum.

Satış siparişi iadesi girmek için aşağıdaki adımları takip edebilirsiniz.

Satış ve pazarlama-ortak-iade siparişleri-tüm iade siparişleri

Buradan iade siparişine tıklayıp müşterimizi seçiyoruz. Daha sonra elle  giriş yapabiliriz. Ama eğer faturalanmış satış siparişi içerinden maddeyi ya da maddeleri çekmek istersek; yukarıda SATIŞ SİPARİŞLERİNİ BUL butonuna tıklarız.

Tüm siparişi iade edeceksek satış siparişinin başında TÜMÜNÜ SEÇ kutucuğunu işaretleyin eğer birkaç satır alacaksak alacağımız satırları seçeriz.

Satırları tamamladıktan sonra yukarıda GÖNDER tabının altında İADE SİPARİŞİ ne tıklayıp onaylıyoruz.

Daha sonra her bir satır için SATIR GÜNCELLEŞTİR seçeneğinin altındaki KAYIT butonuna tıklıyoruz. Elden çıkarma kodunu seçiyoruz.

Sonra gelen ekrandan OTOMATİK OLUŞTUR u işaretliyoruz. ŞİMDİ KAYDET bölümünün altında DEFTERE NAKLET seçeneğine tıklıyoruz. (Bu adımdan sonra TÜM SATIŞ SİPARİŞLERİNE AÇIK SİPARİŞ olarak düşüyor siparişimiz. İstersek oradan irsaliyelendirip faturalandırabiliriz. İstersek İADE SİPARİŞ ekranından irsaliyelendirip daha sonra TÜM SATIŞ SİPARİŞLERİ’nden faturalandırabiliriz.)

Daha sonra satırların sonunda iade durumunun BEKLENİYOR dan KAYITLI durumuna geçtiğini göreceksiniz.

Son olarak; sevk irsaliyemizi kesiyoruz. Faturalama işlemini de; alacak hesaplarından bu iade satış siparişimizi bulup yapıyoruz.

Mehmet Yunus ÖZKORKMAZ

Selamlar.