23 Aralık 2004 Perşembe

[BüroWARE] Uretim isleminin dahili belgelerle yapilmasi

Designer -> Ayaryetkileri -> Belge islemleri ek/ilave opsiyonlar 3 [1211ZU4] -> Otomatik dagilim (Uretim recetelerinde ) [003] opsiyonu secildiginde uretim recetesi her turlu belgede aciliyor alt kalemler - olarak sisteme giriyor. (ticari recete gibi)
Bunu onlemek icin pozisyonlarda POS_867_1 uretim recetesi dagilimi alani kullanilabilir. J ise acilim yapilir. N ise yapilmaz.
Belge gruplarindan dahili belgelerden ikisini uyarlayabiliriz. I 99 Belge tipi stok giris olarak ayarlanir. (uretim icin ) I 98 belge tipi stok cikis olarak ayarlanir. (uretim donusumu icin)
Designer -> Genel islemler pozisyon hesaplamalari (her versiyonda adi farkli) -> tandart hesaplama 00 (ayar yetkilerinden ayarlandiysa 98,99 da olabilir) -> standart hesaplama komple [B01] bolumune
POS_867_1="N"
BEL_2_1="I"&BEL_1893_2="99" => POS_867_1="J"
BEL_2_1="I"&BEL_1893_2="98" => POS_867_1="J"

yazilirsa sadece bu belge tiplerinde uretim recetesi acilir. dolayisiyla hedefe ulasilir. belge gruplarinda yeni bir uretim alani acilir veya v4.2 sonrasi icin
DBK30_1612_1 - uretim recetesi acilimi alani kullanilabilir. pozisyon hesaplamasinda GET_RELATION ile belge grubu bilgilerinden recete acilimi aktifmi degilmi kontrol edilir.

14 Aralık 2004 Salı

[BüroWARE] list metinleri

list metinlerine kullanici arabirimi veya konfigurasyon uyarlamasi için ihtiyacimiz yok. ama tasarim yaparken tablolari , menuleri , maskeleri bulmak almanca metinler ile hayli zor. almanca bilmememiz ciddi zaman kaybina sebep oluyor. bu listeler turkcelestirildiginde tasarim asamasinda daha kolay calisiyoruz.

23 Kasım 2004 Salı

[BüroWARE] BuroWARE'de form/dil yonetimi hikayesi

Bizimkiler uluslararası sisteme göre tasarım yapalım derken iyice ipin
ucunu kaçırmışlar.
Bir belgeyi farklı dillerde bir formla basmak için yapılması gerekenler
şunlar.
1. Her dil için bir kart oluşturulur. -kolay-
2. Cari hesaptan stok açıklama dili seçilir. -kolay-
3. Designer Form/Dil yönetiminden başlık ve pozisyon ayarları yapılır.
Hangi belge grubunda kullanılsın isteniyor seçilir.
Stok açıklaması yabancı dilde olsun isteniyor sa stok kartında
Stok-dil kartı açılır ve dile göre açıklamalar girilir. DBK29
Pozisyon ayarlarında stok için hangi açıklamayı yazacağı seçilir
(pozisyonmu , stok mu, stok - dil deki mi )
4. Oturup mevcut fatura matbu baskısına göre FMTFABEL raporu yazılır.
Bu raporda :
Yazdırılacak her açıklama için bir IT tanımlanır.
Bu IT atanırken hangi DBK40 yani form-dil yönetimi seçenekleri
verisi kullanılacağı Belge grubu ve Caride seçilen açıklama dili ile
anahtar oluşturularak tek tek kontrol edilerek açıklamalar alınır. ve
sonuca gidilir.

BW standardında gelen FMTFABEL.000 incelenirse ne kadar çetrefilli
olduğu görülecektir.

Bunun yerine her dil için bir FMTFABEL yazmak - başlıkları, kalıpları
oluşturmak , stok numarası ve dil anahtarları kullanarak
GET_RELATION[229!ITxx!180!60] ile açıklamayı çekmek daha kolay
değilmidir !

22 Eylül 2004 Çarşamba

[BüroWARE] Muhasebe Kayıt Metnini kayıt kodundan aldırma.

Muhasebede kayıt yaparken standart olarak kayıt metnine birşey yazarsanız kayıtta onu alır. Yazmazsanız anahesabın açıklamasını karşılıklı olarak kaydeder.

Designer -> Yönetim -> Ayar Yetkileri -> Muhasebe Kayıtları (FI2100)-> (022) Kayıt açıklaması otomatik seçeneğini kaldırırsanız açıklamayı boş geçtiğinizde hiçbir açıklama girmez.

Designer -> Yönetim -> Ayar Yetkileri -> Buchungsteurung (Muhasebe Kayıtları) (FIBUCH)-> (004) Metin Kayıt Kodu Kayıt Metni olarak devral seçeneğini seçtiğimizde üniversal kayıtlarda tanımlanan kayıt kodlarının açıklamalarını kayda açıklama olarak getirir.

10 Haziran 2004 Perşembe

[BüroWARE] İmport Export anahtarları

Her veri tablosunun ayrı bir anahtarı var.
şUEBERşNşSKZşxxxşVARTşyş... ile başlayan veriler hazırlıyoruz. (Raporlar , excel vs ile) xxx ile belirlenen anahtarlar şöyle :
BEL POS DBK DBP DBV ADR KDE LFR ERK ART FAF VTR ANP PRJ MAT LST WGR ADA
PRA VOR NOT LFNOT ADALT WARALT KIK KIP PRS STP HSH HSP INV UMB LGZ LGA
SNZ CHZ EIE EIA KSZ AWG LFA EAN SER FIS LFV LAG PNT CHA BNOT WEB1 WEB2 ZIPL ZIPN
BNOT POSNOT BLOCK_ANFANG BLOCK_ENDE DRUCK_IN
bunları bwwin32.exe içinden aldım.
Başkalarıda olabilir. İlgili tablonun almanca adının ilk harflerini birleştirerek anahtarı buluyoruz. seriye gidenler için seri numarasıda eklemek gerek.
DBP32 gibi. Ayrıca Ambar sair giriş, sair çıkış, envanter ve sevk kayıtları S_RPOS30.DAT dosyasında tutulmasına rağmen POS sadece belge pozisyonları için anahtardır. Sair giriş için LGZ (Lager Zugang), Sair çıkış için LGA , Envanter için INV, Sevk için UMB kullanılmalı. y ise değişiklik şekli.
0 Ekle değiştir, 1 Ekle , 2 değiştir , 3 sil komutları için kullanılıyor. İndeksi olmayan tablolar için değiştirme ve silme opsiyonları mümkün değil.

12 Nisan 2004 Pazartesi

[BüroWARE] Rapor listesi

Rapor listeleri her raporun özelliğine göre bir dosyada tutulur. Örneğin genel işlemler raporlarının listesi fmtfaaus.kat , muhasebe raporlarının listesi fmtfiaus.kat dosyasında tutulur. v4 ten sonra bu dosyalar hem fmt klasöründe hemde ilgili firma klasöründe bulunuyor.standart raporların listesini fmt klasörünün altındaki ilgili *.kat dosyasını kopyalayarak görüntüleyebilirsin.

3 Mart 2004 Çarşamba

[BüroWARE] DBP ve DBK verilerine GET_RELATION ile erismek

DBKxx verilerine GET_RELATION[2xx... , DBPxx verilerine GET_RELATION[3xx... formülleri ile erismek mümkün.

DBKxx verilerine formülle erismek için PRIMARINDEX alaninin ilk hanelerinin bosluk olmamasi gerekiyor. Aksi taktirde formül ise yaramiyor. DBKxx lerde PRIMARINDEX birkac alanin birlesiminden olusuyor. Hepsi ayri ayri incelenmeli
Ornegin Envanter verilerinde DBK25_0_30=DBK25_60_10+DBK25_70_10+DBK_80_10 olarak tanimlanmis durumda. ilk alan R , 2. ve 3. alan D formatinda.
Kur gecmisi verilerinde
DBK35_0_20=DBK35_60_2+DBK35_80_10+DBK35_90_8 olarak tanimlanmis.
1. alan R , 2. alan D , 3. alan Z formatinda.

R saga dayali oldugu icin basta bosluk olusuyor ve formül calismiyor. Çözüm olarak R alani kac haneyse ilk deger ona göre verilmeli . 5 haneyse 10000 gibi. PB gecmisi için Cözüm olarak PB kodlarýini 2 hane tanimlamak yeterli. 11,12,13 gibi.
Envanter icin durum biraz farkli. Envanter degerlendirmede son kayit no firma artinda tutuluyor. Yeni kayit girildiginde sistem son kayit noyu firma kartindan aliyor 1 ekliyor ve yenisini olusturuyor. Eger kayit kaydedilirse yeni kayit
noyu firma kartina yaziyor. Ýlgili hesaplama için STV_DBK25 hesaplamalarina bakilabilir. Firma kartindaki deger FAF_3049_8 alaninda tutuluyor. Burada yeni bir problem cikiyor. Ýndeksin kayit bölümü 10 hane DBK25_60_10=FAF_3049_8 hesaplamasi sonucunda siz kayit indexini 100000000 e cekseniz bile ilk iki hane bos kaliyor. Formülün calismasi icin firma kartinda yeni bir alan acilip hesaplamalarin buna göre ayarlanmasi gerekiyor. Tabii ilgili raporlarinda. Bu durumun yeniden düzenlenmesi icin SoftENGINE bildirilmesi gerekiyor. Ben FAF_386_10 alanini kullandim ve hesaplamalari uyarladim. Bu asamada GET_RELATION[225!... formülü calisiyor.

GET_RELATION[3xx!... formülünü calismasi için DBP verilerinde her pozisyonda DBPxx_328_40 alaninin indekse göre atanmis olmasi gerekiyor. Envanter degerlendirme icin bu alani DBP25_328_40=DBP25_1007_25 atamasi ile stok koduna atadim. Burada benzer bir bosluk problemi daha cikiyor. Standart hesaplamalarda program degerleri nümerik kabul ediyor ve ona göre islem yapiyor. Yukardaki atamada stok alanina 12 haneli bir stok girilmisse 328_40 alaninin ilk 28 hanesi bos kaliyor. Dolayisiyla program POSSELEKT bölümündeki veriyi alamiyor. Buna cözüm olarak yukardaki atamanin öncesine ve sonrasina ::ALPHA komutu girmek yeterli. Bu durumda veri sola dayali olarak atanmis oluyor. Bu kosullari altinda GET_RELATION[325!PRIMARINDEX!POS!LEN!VART!POSSELEKT!SUMME] formülü calisiyor.

10 Şubat 2004 Salı

[BüroWARE] Belge donusturme isleminde standart hesaplama

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.

[BüroWARE] Belge pozisyon kaydinda ayni stoklar icin otomatik pozisyon birlestirmesi

Belge pozisyon kaydinda ayni stoklar icin otomatik pozisyon birlestirmesi islemi için ilgili belgenin belge grubunda
Desiner-> Yönetim->Belge Gruplari-> ilgili belge-> diger bölümünde stoklari birlestir seçenegi isaretlenmis olmali.
Belge pozisyonlari girildikten sonra çikarken program fiyati ayni olan ayni stoklari birlestiriyor. (v4.3)

Fiyatin farkli olmasi durumu kur farkindan kaynaklanabilir. (Saruhan uygulamasindaki gibi)

Burada belirsizlik olan konu stoklarin fiyat ayarlamasinin yapilarak ortalama bir fiyatla birlestirilmesi konusu. Ayar yetkilerinde veya belge bilgilerinde böyle bir seçenek var mi ? varsa kullanimi nasil ? Bu konuda da bir çalisma yapilmasi gerekiyor. Ayrica v4.3 öncesinde stok birlestirme islemi hala açikta. Özellikle v4.0 içinde bir çözüm önerisi sunulmali.
Su anda muhasebe fazlasiyla zamanimi aldigi için bakamiyorum. Belki biraz zamaninizi alacak ama detaylar önemli.

[BüroWARE] Belge donustururken Arsiv belgesi olusturma

Belge donustururken donusturulen belgenin arsivini tutmak için Designer->Ayar Yetkileri-> Belge Kaydı tüm belgeler [1211] 009: Belge donusumu Arsiv belgesi olustur
seçenegi isaretlenmis olmali.

Bu durumda b->l l->r N->A A->L L->R ve sizin tanimladiginiz özel dönüsümler için donusturulen her belge için arsiv belgesi olusturulur.
Belge ve pozisyon verilerine baktiginizda BEL_1_1 ve POS_1_1 alaninin A , N degerlerini aldigini görürsünüz.
A arsiv belgesi demektir. N güncel belgedir. A belgeleri belge tablolarinde görünmez ve islemlerde (ve raporlarda) isleme konmaz.

Ama belge ve pozisyon raporlarinda seçim parametrelerinde (IS) Arsiv ile seçenegi var. Teorik olarak. Bu seçenek seçildiginde raporlarda görüntülenebilmeli.
Bu konuda çalisma yapilmasi gerekiyor. Ayrica Ayar yetkilerinde bazi belge tiplerinin kendine özel arsivleme seçenegi oldugunu hatirliyorum. Siparis ve irsaliyeler için böyle bir opsiyon vardi sanki. bu konunun da netlige kavusturulmasi gerekiyor. Genel arsivleme yapilmadan sadece belirli belge tiplerine arsivleme psiyonu olmali.

[BüroWARE] Belge donusturmede standart formül hesaplamasi uygulama

Belgelerde komple donusturme uygulandıgında standart hesaplamanin yeniden icra edilmesi için
Designer->Ayar Yetkileri-> Belge Kaydı Ek Opsiyonlar3 [1211ZU3]-> 018: Belge donustururken standart formul hesaplamasini yap
seçenegi isaretlenmis olmali.

Ornek olmasi adina:
Saruhanda kur uygulamasi yapiyoruz. Her pozisyonun kendi kuru var ve bu kuru kur tarihine göre sistemden çekiyor. kur tarihi irsaliye olana kadar belge tarihinden aliniyor. faturalarda yine irsaliye tarihini aliyor. donusturme esnasinde kur ayarlamasi yapmak için hesaplamanin çalismasi gerekiyor.

25 Ocak 2004 Pazar

[BüroWARE] Cari ve stok silme problemi

Üzerinde islem yapilan cari veya stoklarin islemleri silindigi halde
kartinin silinememesi durumu söz konusu. Bu durum temelde blokaj modunun aktif olmasindan kaynaklaniyor.
Ayar yetkilerinde :
Cariler için Cari Kartlari(Adressstamdaten)-1121 -> 47: Cirolu silmelerde Bloke
sorgulamasi Stoklar için Stok kartlari (Artikelstammdaten)- 1141-> 47:Cirolu silmelerde bloke sorgulamasi opsiyonlari isaretsiz olmali.
Yinede olmuyorsa isaretleri kaldirdiktan sonra reorganizasyon yapip silmeyi
deneyin.

5 Ocak 2004 Pazartesi

[BüroWARE] Muhasebe - Universal kayit maskeleri ve kayit sekilleri

Birinci mesele anahesaplarin tipi. Normalde kayit yaparken kayit tipini ve hesaplari biz seçeriz.Çogu zaman kullanicilar kayit tiplerinde hata yaparlar ve ya belge ya ödeme problemi cikar.

Universal kayit maskeleri anahesabin tipine bakarak kayit tipini otomatik olarak çözüyor ve ilgili alanlari açiyor. Dolayisiyla anahesaplarin tipini mutlaka girmemiz gerekiyor (Std,kasa,banka,KDV vs.).Cari hesaba karsilik herhangi bir hesabi seçerseniz belge kabul ediyor ve siradaki fatura nosunu veriyor. isin güzel yani hangi numarayi vereceginide biliyor olmasi. Cari hesaba karsilik cek, kasa , banka hesaplarindan birini seçerseniz ödeme kabul ediyor. Belge nosunu girerseniz tek belgeye ödeme kabul ediyor ve geçiyor. Belge nosunu girmezseniz Multi-Ödeme tablosunu aciyor ve ödemeyi dağitmanizi istiyor. Multi ödeme yaptiginizda ödemeyi carihesaba tek kalemde kasa hesabina belge tutarlari ile kaydediyor.
(Eski kayit maskelerindeki ciddi problemimiz) Kayit ekrani ile kayit tablosu tablolarinda alanlar birebir tutmuyor ve yeni alan eklenemiyor.
Dolayisiyle birebir tasarim yapmak mümkün degil. Ama su an için mevcut alanlar isimizi hayli hayli görüyor.