Blog Listem

14 Eylül 2011 Çarşamba

AXAPTA Numaratör

Axapta'da tablolarda numaratör için "Number Sequence" var. Ancak sadece bir string içindeki değeri numara olarak arttırmak isterseniz? Yani "AB0001"->"AB0002" gibi. Bunun için hazır bir fonksiyon ya da bir kod bulamadım ve şunu yazdım:

Static str AutoNum(str Num)
{
    int i;
    int bas;
    str b;
    ;
    for (i=StrLen(num);i>=1;i--)
    {
        b=SubStr(num,i,1);
        if (b<"0" || b>"9")
        {
            bas=i+1;
            Break;
        }
        if (i==1)
            bas=1;
    }
    num=StrReplace(SubStr(num,1,bas-1)+
    Num2Str(Str2Num( SubStr(num,bas,StrLen(num) - bas + 1) )+1,
        StrLen(num) - bas + 1,0,1,0)," ","0");
    Return num;
}

Hiç yorum yok:

Yorum Gönder