Axapta Pack Unpack
Merhaba bu yazımda Axaptada pack unpack olayından bahsedeceğim. Pack Unpack seçimlerinizin hafızada tutulmasını sağlayan metodlardır. Formlarda ve direk clasla oluşturulan querylerde kullanılırlar. Dikkat edilmesi gereken Class derleyince sorunsuz çalışıyor ama açarken hata veriyorsa kullanıcı verilerini temizlemeniz gerektiğidir. Temizlemenın yolu “ Araçlar=> Seçenekler=> Kullanım Verilerini Sıfırla” dır.
Öncelikle classdecleration’da makromuzu yazmamız gerekiyor
classDecleration
str g1, g2;
#DEFINE.CurrentVersion(1)
#LOCALMACRO.CurrentList
g1, g2
#ENDMACRO
Pack metodu
container pack()
{
return [#CurrentVersion,#CurrentList, qRun.pack()];
}
Unpack metodu
boolean unpack(container packedClass)
{
Integer _version = conpeek(packedClass,1);
container _packedQuery;
switch (_version)
{
case #CurrentVersion:
[_version,#CurrentList,_packedQuery] = packedClass;
if (!_packedQuery)
return false;
qRun = new QueryRun(_packedQuery);
break;
}
return true;
}
Bunlardan sonra değerleri değişkenlere atamamız gerekiyor
public boolean getFromDialog()
{
boolean ret;
ret = super();
g1 = dfg1.value();
g2 = dfg2.value();
return ret;
}
bunları yapınca pack unpack çalımalı