Belge donusumu yaparken önceki mailde anlattigim yontem uygulandiginda ciddi bir hesaplama problemiyle karsilasiyoruz. Standart hesaplamamizda söyle bir bölüm var :
Status Selektion Kalkulation Tanm.No. Enformasyon
0 POS_984_1="K" _FORMELAUS_=1
0 ::ALPHA
0 BEL_2502_8<>" "&POS_350_8=" " POS_350_8=BEL_2502_8
0 BEL_2510_8<>" "&POS_358_8=" " POS_358_8=BEL_2510_8
0 POS_900_1="D"
0 POS_950_2=" " POS_950_2=BEL_246_2
0 POS_330_10=BEL_19_10
0 POS_2_1<>"R"&POS_2_1<>"r"&POS_2_1<>"g"&POS_2_1<>"G" POS_394_10=BEL_29_10
0 POS_2_1<>"R"&POS_2_1<>"r"&POS_2_1<>"g"&POS_2_1<>"G" POS_412_10=POS_330_10
0 POS_412_10=" "&BEL_600_10<>" " POS_412_10=BEL_600_10
0 POS_412_10=" "&BEL_600_10=" " POS_412_10=BEL_19_10
0 ::ALPHA
0 ./.
0 ::ALPHA
0 TMP_42_10=GET_RELATION[73!POS_412_10!0]
0 TMP_52_8="00:00:00"
0 ::ALPHA
0 TMP_40_2=POS_950_2
0 TMP_1_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_40_2=BEL_246_2
0 TMP_11_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_40_2=FAF_382_2
0 TMP_21_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_1_10<>0&BEL_2628_1<>"J" POS_974_10=TMP_1_10
0 TMP_1_10<>0&BEL_2628_1="J"&POS_974_10=0 POS_974_10=TMP_1_10
0 TMP_1_10=0&POS_974_10=0 POS_974_10=1
bu bölümde program kur tarihini belirliyor. ve ikinci bölümde bu tarihe göre kuru belirliyor.
Sorun ise kısmi dönüstürme yaptigimizda yeni kur tarihini ve ve kur degerlerini yeni olusan belgeyle beraber eski belgeye de yazmasi . islem yaparken BEL_XX ile cektigi bilgiler yeni belge bilgileri. Eski belgede kalan miktari hesaplarken yine bu bilgileri kullaniyor. dolayisiyle kur tarihi , degeri vs. yanlis hesaplaniyor.
Burada belge bilgilerini get relation ile çekmek çözümü getiriyor. BEL_XX_YY verilerini GET_RELATION[53!POS_2_1!XX!YY!POS_3_8!POS_0_1!N] formülü ile kullaninca eski belge için eski belge bilgileri, yeni belge için yeni belge bilgileri kullaniliyor.
Status Selektion Kalkulation Tanm.No. Enformasyon
0 POS_350_8=" " POS_350_8=GET_RELATION[53!POS_2_1!2502!8!POS_3_8!POS_0_1!N]
0 POS_358_8=" " POS_358_8=GET_RELATION[53!POS_2_1!2510!8!POS_3_8!POS_0_1!N]
0 POS_900_1="D"
0 POS_950_2=" " POS_950_2=GET_RELATION[53!POS_2_1!246!2!POS_3_8!POS_0_1!N]
0 POS_330_10=GET_RELATION[53!POS_2_1!19!10!POS_3_8!POS_0_1!N]
0 POS_2_1<>"R"&POS_2_1<>"r"&POS_2_1<>"g"&POS_2_1<>"G" POS_394_10=GET_RELATION[53!POS_2_1!29!10!POS_3_8!POS_0_1!N]
0 POS_2_1<>"R"&POS_2_1<>"r"&POS_2_1<>"g"&POS_2_1<>"G" POS_412_10=POS_330_10
0 POS_412_10=" " POS_412_10=GET_RELATION[53!POS_2_1!600!10!POS_3_8!POS_0_1!N]
0 POS_412_10=" " POS_412_10=GET_RELATION[53!POS_2_1!19!10!POS_3_8!POS_0_1!N]
0 ::ALPHA
0 ./.
0 ::ALPHA
0 TMP_42_10=GET_RELATION[73!POS_412_10!0]
0 TMP_52_8="00:00:00"
0 ::ALPHA
0 TMP_40_2=POS_950_2
0 TMP_1_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_40_2=GET_RELATION[53!POS_2_1!246!2!POS_3_8!POS_0_1!N]
0 TMP_11_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_40_2=FAF_382_2
0 TMP_21_10=GET_RELATION[235!TMP_40_20!1038!10]
0 TMP_1_10<>0&BEL_2628_1<>"J" POS_974_10=TMP_1_10
0 TMP_1_10<>0&BEL_2628_1="J"&POS_974_10=0 POS_974_10=TMP_1_10
0 TMP_1_10=0&POS_974_10=0 POS_974_10=1
Ancak tüm BEL_XX verilerini GET_RELATION ile çekmek programin kullanimini vaslatiyor.
Çünkü standart hesaplama belgeyi normal yollardan girerkende çalisiyor.
Bence Standart hesaplamanin belgeyi manuel kullanilmasi , diger hesaplamanin belge donusturulurken kullanilmasi tercih edilmeli.
Donusturme isleminde Standart hesaplamayi devre disi biraktim. Ayar yetkileri-> Belge kaydi ek seçenekler 3 [1211Z3]
018: Belge donusturmede standart hesaplamayi yap isaretsiz olacak.
yerine ayar Yetkileri-> Belege Donusturme [BELUMT]
028:kismi donusturmede formul +20 kullan
029:komple donusturmede formul +40 kullan
037:kismi donusturmede formul +20 kullan /Temel belge
secenekleri isaretlenmis olacak. Burada formül
Designer -> Tablolar->Genel islemler formları->Standart formüller dir.
formül +20 ise 20 numarali formüldür.
Benzer sekilde 98,99 formülleri ayar yetkilerinde birkaç yerde geçer.
Bu durumda kismi donusturmede 20. formül grubu kullaniliyor. Bende buraya GET_RELATION olan formülleri yazdim. 40. formül grubu standart ile çok yakin. temel belgede +20 kullan isaretli olmazsa program eski belge için standart hesaplamayi gerçeklestiriyor.
Donusturmeler için +20 ve +40 formüllerinin kullanilmasi baska amaclar içinde kullanilabilir.
Ayrica standart hesaplamada yapilan bazi hesaplamalarin donusturmede yapilmamasi veya aksi durum soz konusu olabilir.
Ayrica standart önemli noktalardan biride standart hesaplamadan kasit 00, 20 veya 40 grubu içinde [B01] kodlu standart hesaplama bölümüdür. Stok kartindan devralma , toplam islemleri vs. vs. alanlari standart hesaplama kavrami içinde degil.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder