22 Temmuz 2015 Çarşamba

20 Temmuz 2015 Pazartesi

AXAPTA - Stok rezervasyonu kaldırma ve ekleme

Volkan Şişman'dan öğrendiğim bu kodla stok rezervasyonu kaldırabilir ve ekleyebilirsiniz:



InventUpd_Reservation       invUpdReservation;
...
//rezervasyon kaldır
invUpdReservation = InventUpd_Reservation::newInventDim(InventMovement::construct(invTrans,InventMovSubType::None),myInventDim,200,false);
            invUpdReservation.updateNow();

...
//rezervasyon ekle
          invUpdReservation = InventUpd_Reservation::newInventDim(InventMovement::construct(invTrans,InventMovSubType::None),myInventDim,400,false);
            invUpdReservation.updateNow();


Ya da:

//rezervasyon ekle
     InventUpd_Reservation::updateReserveBuffer(journalTrans, journalTrans.Qty);
 
//rezervasyon kaldır
     InventUpd_Reservation::updateReserveBuffer(journalTrans, abs(journalTrans.Qty));

AXAPTA - Formu açık olan invent journal kaydını post etmek

Eğer böyle bir kaydı post etmeye kalkarsanız, kaydın kullanıldığını söyleyerek size izin vermeyecektir. Volkan Şişman'dan öğrendiğim bu kod parçası kullanılan kaydın da post edebilmesine izin veriyor:

InventJournalCheckPost      journalCheckPost;
JournalForm                 journalForm;

;
...
journalForm      = JournalForm::fromArgs(args);
journalCheckPost = InventJournalCheckPost::newFromForm(args,journalForm);
journalForm.runbaseMainStart();
journalCheckPost.run();
journalForm.runbaseMainEnd(journalCheckPost,false);

15 Temmuz 2015 Çarşamba

AXAPTA - InventDimExistsJoin makrosuyla InventDim tablosuyla esnek join

 InventDim tablosuyla esnek joinler yapmak için fazla kasmanıza gerek bırakmayan bir makro var:

InventDimParm       dimParm;
InventDim           dimValues,dimJoin;
;
...
//Join where ile kullanacağımız alanları dolduruyoruz
 dimvalues.wMSLocationId = inventdim.wMSLocationId;
    if (inventdim.InventSiteId)
        dimvalues.InventSiteId = inventdim.InventSiteId;
    if (inventdim.configId)
        dimvalues.configId = inventdim.configId;
 //
InventDimParm bu alanlara göre ayarlanacak
    dimparm.initFromInventDim(dimValues);

    while select lclInventSum
        where lclInventSum.ItemId == itemId && leftQty > 0
              #InventDimExistsJoin(lclInventSum.InventDimId,dimJoin,dimValues,dimParm)



İlk parametre join yapılan tablonun ilgili InventDimId alanı, ikinci parametre InventDim tablosunun tanımlanan adı, Üçüncü paremetre ile değerler gidiyor. Dördüncü paremetre de parametre tablosu. Bu tablonun değişik kullanımları da mevcut.