Archive for Ağustos 26th, 2010

Query & Dialog Örnekleri 6

Merhaba

static void Query6(Args _args)
{
    CustTable   cust;
    CustTrans   custTrans;

    Query                   q = new Query();
    QueryRun                qr;
    QueryBuildDataSource    qbdsCustTable;
    QueryBuildDataSource    qdbsCustTrans;
    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 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.