Query & Dialog Örnekleri 5

Merhaba

static void query5(Args _args)
{
    CustTable   cust;

    Query                   q = new Query();
    QueryRun                qr;
    QueryBuildDataSource    qbdsCustTable;
    QueryBuildRange         qbrCurrency;
    QueryBuildRange         qbrRiskAmount;
    CurrencyCode            currency;
    Amount                  riskAmount;

    dialog                  d = new Dialog(“Müşteriler”);
    dialogField             dfCurrency;
    dialogField             dfRiskAmount;

    ;
    //Dialog
    dfCurrency = d.addField(typeId(CurrencyCode));
    dfRiskAmount = d.addField(typeId(Amount), “Max risk tutarı :”);

    if(d.run())
    {
        //getFromDialog
        currency    = dfCurrency.value();
        riskAmount  = dfRiskAmount.value();

Read more

Query & Dialog Örnekleri 4

Merhaba

static void query4(Args _args)
{
    CustTable   cust;

    Query                   q = new Query();
    QueryRun                qr;
    QueryBuildDataSource    qbdsCustTable;
    QueryBuildRange         qbrCurrency;
    CurrencyCode            currency;
    dialog                  d = new Dialog(“Müşteriler”);
    dialogField             dfCurrency;
    ;
    dfCurrency = d.addField(typeId(CurrencyCode));
    if(d.run())
    {

Read more

Query & Dialog Örnekleri 3

Merhaba

static void query3(Args _args)
{
    CustTable   cust;

    Query                   q = new Query();
    QueryRun                qr;
    CurrencyCode            currency;
    ;
    currency = “USD”;
    warning(“select ile”);
    while select cust
        where cust.Currency == currency
    {
        info(strFmt(“%1″, cust.Name));
    }

Read more

Query & Dialog Örnekleri 2

Merhaba

static void query2(Args _args)
{
    CustTable   cust;

    Query                   q = new Query();
    QueryRun                qr;
    QueryBuildDataSource    qbdsCustTable;
    QueryBuildRange         qbrCurrency;
    CurrencyCode            currency;
    ;
    currency = “USD”;

Read more

Query & Dialog Örnekleri 1

Merhaba

Örenk 1:

static void query1(Args _args)
{
    CustTable   cust;

    Query       q = new Query();
    QueryRun    qr;

    ;
    warning(“select ile”);
    while select cust
    {
        info(strFmt(“%1″, cust.Name));
    }

Read more

Formda CTRL veya Shift ile seçilmiş kayıtlarda işlem yapmak

Merhaba.

Axaptada grid üzerinde CTRL veya shift ile çoklu seçim yapılabilir.

Bu özelliği kullandığım bir örneği sizinle paylaşıyorum.

Öreneğimizde seçilen kayıtları bir buton aracılığıyla artan numara atanacak.

Öncelikle eklediğimiz butonun propertisinden MultiSelecet  = Yes yapıyoruz.

daha  sonra  click() metodundan   preNumbering() metodnu çağırıyoruz.

Element.preNumbering();

preNumbering() metodumuz inceleyelim ;

void preNumbering()
{
    CustInvoiceJour localCustInvoiceJour;

    boolean         isPreExist;
;
    isPreExist = false;
    localCustInvoiceJour = CustInvoiceJour_ds.getFirst(1); // çoklu seçim varsa içinde dolanıp  PreInvoiceId dolu olan varsa  uyarı verdiriyoruz

   <!--more-->

 if(localCustInvoiceJour)
    {
        while (localCustInvoiceJour)
        {
            if(localCustInvoiceJour.PreInvoiceId)
            {
                isPreExist = true;
            }
            localCustInvoiceJour = CustInvoiceJour_ds.getNext();
        }
    }
    else // eğer çoklu seçim yapılmamış tek satır seçilmişse burası çalışıyor
    {
         if(CustInvoiceJour.PreInvoiceId)
            {
                isPreExist = true;
            }
  �
    }
    if(isPreExist) // eğer PreInvoiceIddolu olan bir kayıt varsa  uyarı veriyoruz
    {
       if(box::yesNo("Seçilen kayıtlarda matbu numara var, değiştirmek istiyor musunuz?",  dialogbutton::Yes) == dialogbutton::Yes)
       {

           // dolu olmasına rağmen değiştirmek isterse
            element.dialogPreNumbering();
       }
    }
    else // PreInvoiceId  eğer dolu değilse diyaloğumuzu çağırıyoruz
    {
        element.dialogPreNumbering();
    }
}

şidide  dialogPreNumbering() metodumuza bakalım

void dialogPreNumbering()
{
    dialog                  d = new Dialog("Numara başlangıcı");
    dialogField             dfPrefix;
    dialogField             dfSufix;

    DTSeries                Prefix;
    DTStartingNum           Sufix;
    CustInvoiceJour         localCustInvoiceJour;
    CustInvoiceJour         upCustInvoiceJour;
;
    d.addGroup().columns(2);
    dfPrefix = d.addField(typeId(DTSeries),"Seri");
    dfSufix  = d.addField(typeId(DTStartingNum), "Başlangıç");

    if(d.run())
    {
        Prefix      = dfPrefix.value();
        Sufix       = dfSufix.value();

        localCustInvoiceJour = CustInvoiceJour_ds.getFirst(1);

        if(localCustInvoiceJour) // yine seçilen kayıtlarda dolanıp gerekli updateişlemini yapıyoruz.
        {
            while (localCustInvoiceJour)
            {
                ttsbegin;
                upCustInvoiceJour = CustInvoiceJour::findRecId(localCustInvoiceJour.RecId,true);
                upCustInvoiceJour.PreInvoiceId = strfmt("%1%2",Prefix,Sufix);
                upCustInvoiceJour.update();
                ttscommit;

                Sufix += 1;

                localCustInvoiceJour = CustInvoiceJour_ds.getNext();
            }
        }
        else
        {
                ttsbegin;
                upCustInvoiceJour = CustInvoiceJour::findRecId(CustInvoiceJour.RecId,true);
                upCustInvoiceJour.PreInvoiceId = strfmt("%1%2",Prefix,Sufix);
                upCustInvoiceJour.update();
                ttscommit;
      �
        }
    }
  �
    CustInvoiceJour_ds.executeQuery(); // formu tazeledik update işlemleri artık görünür halde

}

Selamlar.

Axaptada forma seçime göre range eklemek.

Merhaba

Örneğin bir formunuz var  belli kriterlere göre süzülmesi isteniyor öncelikle gerekli değişkenimizi forma ekliyoruz.

eğer enum tipindeyse ComboBox EDT ise listBox yapabilirsiniz.

sonra eklediğiniz objenin modified metodundan şu metodu çağırın.

void addRange()
{

// önce eski rangeleri temizliyoruz
AXIntegrationTable_ds.query().dataSourceName(“AXIntegrationTable”).clearRange(fieldnum(AXIntegrationTable, RecordType));

Read more

Cross Company ile query yazmak

Merhaba

Bu yazımda birden çok şirketin verilerini gösteren bir formda seçilen kayıtların hangi şirketlerde olduğunu bulan bir metod öreneği var.

void groupByCompany()
{
    TmpFrmVirtual   tmpTmpFrmVirtual;
    PurchReqLine    tmpPurchReqLine;

    str 10          dizi[];
    int             i,j;
    Query           query;
    QueryRun        qRun;

    ;

Read more

Raporda Resource image kullanmak

Merhaba

Yaptığım bir raporda durumlara göre farklı iconlar göstermem istendi.

Personele verilen zimmetlerin takibi için hazırladığım raporda şöyle bir istek vardı.

Eğer pozisyona verilmesi gereken zimmet personele verilmişse yeşil ikon,

Eğer pozisyona verilmesi gereken zimmet personele verilmemişse kırmızı ikon,

Eğer pozisyona verilmesi gerekmeyen bir zimmet personele verilmişse sarı ikon,

Bunun için benin bulduğum çözümse öncelikle bir metodla resource lardan gerekli ikonu almak .

public  FilePath showResource(str _tip)
{
    #AOT
    ResourceNode resourceNode;
    FilePath filePathLogo;
    ;

Read more

Axaptada kodla menuitem çağırmak

Merhaba

x++ ile bazen bazı objeleri çağırmak gerekiyor.

Bunun için önce  MenuFunction   tanımlamalısınız.

MenuFunction    ReqTransOverviewMenu;

Read more