Page History
Kampanya satırlarında koşul ve formül alanlarında kullanılabilecek parametre ve değişkenler şunlardır:
Satıra Uygulanan ParametrelerParametreler
P1 | Satır Tutarı (KDV Hariç) |
P82 | Satır Tutarı (KDV Dahil) |
P2 | Kalan Tutar (Masraf Hariç) |
P3 | Son Satır Tutarı |
P4 | Satır Miktarı (Satırdaki Birim) |
P5 | Satır Miktarı (Ana Birim) |
P6 | Satır Ek Vergi Tutarı |
P7 | Kalan Tutar (Dağıtılan İndirim ve Promosyonlar) |
P8 | Cari Hesaptan Alınan Toplam Mal Miktarı (Ana Birim) |
P11 | Cari Hesaba Satılan Toplam Mal Miktarı (Ana birim) |
P14 | Cari Hesaptan Alınan Malın Toplam Net Tutarı |
P15 | Cari Hesaba Satılan Malın Toplam Net Tutarı |
P49 | Satır Eni (Satırdaki Birim) |
P50 | Satır Eni (Ana Birim) |
P51 | Satır Boyu (Satırdaki Birim) |
P52 | Satır Boyu (Ana Birim) |
P53 | Satır Yüksekliği (Satırdaki Birim) |
P54 | Satır Yüksekliği (Ana Birim) |
P55 | Satır Alanı (Satırdaki Birim) |
P56 | Satır Alanı (Ana Birim) |
P57 | Satır Hacmi (Satırdaki Birim) |
P58 | Satır Hacmi (Ana Birim) |
P59 | Satır Ağırlığı (Satırdaki Birim) |
P60 | Satır Ağırlığı (Ana Birim) |
P75 | Birim Fiyat (Satırdaki Birim) |
P76 | Birim Fiyat (Ana Birim) |
P84 | Satır Brüt Ağırlığı (Satırdaki Birim) |
P85 | Satır Brüt Ağırlığı (Ana Birim) |
P86 | Satırların Toplam Brüt Ağırlığı (Ana Birim) |
P87 | Satır İndirim Tutarı |
P88 | Satır Masraf Tutarı |
P89 | Temin / Teslim Tarihi |
P90 | Fiş İşlem Döviz Kuru |
P101 | Malzeme Kodu |
P114 | Malzeme Özel Kodu |
P118 | Malzeme Özel Kodu2 |
P119 | Malzeme Özel Kodu3 |
P120 | Malzeme Özel Kodu4 |
P121 | Malzeme Özel Kodu5 |
P115 | Malzeme Yetki Kodu |
P77 | Malzeme Satınalma KDV Oranı (%) |
P78 | Malzeme Satış KDV Oranı (%) |
P79 | Malzeme İade KDV Oranı (%) |
P80 | Malzeme Perakende Satış KDV Oranı (%) |
P81 | Malzeme Perakende İade KDV Oranı (%) |
P102 | Hareket Özel Kodu |
P103 | Teslimat Kodu |
P104 | Satır Ödeme Plan Kodu |
P20 | Brüt Toplamı |
P83 | Brüt Toplamı (KDV Dahil) |
P21 | Kalan tutar (Masraf hariç) |
P22 | İndirimli Satırlar Toplamı |
P23 | Satır İndirimleri Toplamı |
P24 | Satır Masrafları Toplamı |
P25 | Miktar Toplamı (Satırdaki birim) |
P26 | Miktar Toplamı (Ana Birim) |
P29 | Satır Ek Vergi Tutarları Toplamı (Promosyon Hariç) |
P30 | Satır Ek Vergi Tutarları Toplamı (Promosyon Dahil) |
P40 | Miktar Toplamı (Promosyon Hariç Satırdaki Birim) |
P41 | Miktar Toplamı (Promosyon Hariç Ana Birim) |
P42 | Cari Hesap Borcu |
P43 | Cari Hesap Alacağı |
P44 | Cari Hesap Borç Bakiyesi |
P45 | Cari Hesap Alacak Bakiyesi |
P46 | Cari Hesap Bakiyesi |
P47 | Cari Hesap Satınalma Faturaları Toplam Tutarı |
P48 | Cari Hesap Satış Faturaları Toplam Tutarı |
P61 | Satırların Toplam Eni (Ana birim) |
P62 | Satırların Toplam Boyu (Ana Birim) |
P63 | Satırların Toplam Yüksekliği (Ana Birim) |
P64 | Satırların Toplam Alanı (Ana Birim) |
P65 | Satırların Toplam Hacmi (Ana Birim) |
P66 | Satırların Toplam Ağırlığı (Ana Birim) |
P105 | Cari Hesap Kodu |
P122 | Cari Hesap Özel Kodu |
P123 | Cari Hesap Özel Kodu2 |
P124 | Cari Hesap Özel Kodu3 |
P125 | Cari Hesap Özel Kodu4 |
P126 | Cari Hesap Özel Kodu5 |
P130 | Cari Hesap Yetki Kodu |
P106 | Ticari İşlem Grubu |
P107 | Ödeme Planı |
P108 | Ödeme Planı Grup Kodu |
P109 | İl |
P110 | İlçe |
P111 | Semt |
P112 | Fiş Özel Kodu |
P113 | Fiş Yetki Kodu |
P116 | Sevkiyat Hesap Kodu |
P117 | Sevkiyat Adres Kodu |
P127 | İşyeri |
P128 | Bölüm |
P129 | Ambar |
P131 | Satırdaki Birim |
P132 | Ana Birim |
P133 | Varyant Kodu |
P134 | Satış Elemanı Kodu |
P135 | Satır Satış Elemanı Kodu |
P136 | Fiş Belge No |
Fonksiyonlar aşağıdaki gibidir:
Fonksiyon | Açıklama |
---|---|
MIN(,) | (parantez içine seçilen parametrelerden/sabitlerden minimum olanını alır) |
MAX(,) | (parantez içine seçilen parametrelerden/sabitlerden maksimum olanını alır) |
MOD(,) | (parantez içinde verilen parametre/sabitlerden büyüğünü küçüğüne bölerek kalanı alır) |
DIV(,) | (parantez içindeki ilk parametreyi/sabiti ikincisine böler, bölümü yazar) |
ABS() | (parantez içindeki parametrenin/sabitin mutlak değerini alır) |
VAL( ) | (parantez içindeki stringi nümeriğe dönüştürür) |
DATE(,,) | (gün, ay ve yıl bilgisine göre tarih formatına çevirir) |
AFTER(,) | (Bir tarihten verilen gün sayısı kadar sonraki tarihi verir) |
DAYS(,) | (iki tarih arasındaki gün sayısını verir) |
DAYOF() | (günün tarihini verir) |
MONTHOF() | (içinde bulunulan ayı verir) |
YEAROF() | (içinde bulunulan yılı verir) |
WDAYOF() | (verilen tarihin haftanın kaçıncı günü olduğunu verir) |
ROUND( ) | (parantez içindeki parametreyi/sabitin küsuratı 0,5 den küçükse sayıyı aşağıya, büyükse yukarıya yuvarlar) |
TRUNC( ) | (parantez içindeki parametrenin/sabitin küsuratlı olması durumunda küsuratı atar) |
ERATE(,) | (istenilen döviz cinsinin, otomatik kullanımda olan türünün, belli tarihteki kurunu getirir. Örneğin, ERATE(DATE(05,05,2002),20) |
CRATE(,,,) | (istenilen dövizli tutarın çapraz kurla çevrilen değerini getirir) |
STRPOS(,) | (metin içersinde aranacak olan karakterin metnin kaçıncı karakteri olduğu bilgisini verir) |
FLOOR( ) | (parantez içindeki parametreyi/sabiti küsuratlı olması durumunda bir aşağıya yuvarlar) |
CEIL( ) | (parantez içindeki parametreyi/sabiti küsuratlı olması durumunda bir yukarıya yuvarlar) |
FRAC( ) | (parantez içindeki parametrenin/sabitin küsuratını alır) |
EXP() | (doğal logaritma(ln) fonksiyonunun tersidir. Doğal logaritma fonksiyonunun tabanının (e) verilen sayı kadar kendisi ile çarpımının en yakın olduğu tamsayıyı verir) |
LN() | (doğal logaritma fonksiyonudur. "e" tabanına göre logaritma fonksiyonunu sonucunu en yakın tamsayıya çevirir) |
POWER(,) | (bir sayının belirtilen kuvvetini verir. Örneğin POWER(9,2)=81 (92) ) |
SQR() | (bir sayının karesini (kendisi ile çarpımını) verir) |
SQRT() | (bir sayının karekökünü verir. Örneğin; SQRT(81)=9) |
COS() | (bir sayının (radyan cinsinden verilen açının) cosinüsünü verir) |
SIN() | (bir sayının (radyan cinsinden verilen açının) sinüsünü verir) |
TAN() | (bir sayının (radyan cinsinden verilen açının) tanjantını verir) |
STRLEN() | (seçilen metnin kaç karakterden oluştuğu bilgisini verir; türü sayıdır) |
WEEKNUM(,,) | (ilgili tarihin yılın kaçıncı haftası olduğuna dair bilgi getirir) |
ROUNDF(,) | (ondalıklı tutarları yuvarlamak için kullanılır. Virgülden sonra kaç haneye kadar yuvarlama yapılacağını belirtir. (number,frdijits) ) |
STR() | (sayı olarak tanımlanmış alanı metin formatında yazar. Örneğin STR(1234)=1234) |
DATESTR(,) | (verilen tarihi metne çevirerek istenen formatta yazar) |
MONTHSTR(,) | (verilen sayıya karşılık gelen ayı metin olarak yazar) |
WDAYSTR() | (verilen sayıya karşılık gelen günü metin olarak yazar) |
NUMSTR(,,) | (verilen sayıyı metne çevirerek istenen formatta yazar) |
TIMESTR(,) | (verilen saat bilgisini metne çevirerek istenen formatta yazar) |
RESSTR() | (resource klasörü altında bulunan LRF uzantılı dosyalardaki metinleri getirir) |
SUBSTR(,,) | (seçilen metin alanı istenilen karakterden başlayarak istenilen uzunlukta yazmak için kullanılır) |
UPCASE() | (verilen metni büyük harflerle yazar) |
LOWCASE() | (verilen metni küçük harflerle yazar) |
TRIMSPC(,) | (seçilen metnin başındaki ve/veya sonundaki boşlukları atar) |
JUSTIFY(,,,) | (seçilen metni istenilen uzunlukta yazar. Metinde oluşan boşlukları istenen karakterle doldurur) |
WRNUM(,,) | (bir sayının tamsayı ya da ondalık kısmının belirtilen dilde yazı haline getirir) |
IF(,,) | (koşul belirterek değer atar. If (p1>1000, 10,5) Yani p1 1000 den büyükse 10, küçükse 5 değerini kullanır) |
CPAR() | (Checkparent üst malzeme sınıflarını filtrelemek için kullanılır) |
FPCLC(,) | (FicheParentCalc üst malzeme sınıflarına göre fiş tutar ve miktarını bulmak için kullanılır) |
FICLC(,) | (FicheItemCalc malzemelere göre fiş tutar, miktar ve satır sayısını bulmak için kullanılır) |
FISCCLC(,,) | Malzeme özel koduna göre fiş toplam değerini almak için kullanılır. |
BTWNDATE(,,) | (Tarih aralığı ile koşul belirlemek için kullanılır) |
_SQLINFO(,,) | (SQLINFO ile koşul belirlemekte kullanılır) |
EQLC(,) | (EqualCalc: Kod alanlarının eşitlik olarak tanımlanmasına yarar) |
FPDISC(,,,) | ("Üst Malzeme Sınıfı Kodu", Order Type, Miktar, Return Type) |
FGDISC(,,,) | ("Malzeme Grup Kodu", Order Type, Miktar, Return Type) |
FIDISC(,,,) | "Malzeme (Sınıfı) Kodu", Order Type, Miktar, Return Type) |
...
İndirim ve masraf tipi kampanya satırlarında malzeme sınıfı ya da malzeme grubuna bu parametreleri kullanarak istenen koşulların belirlenmesi ve işlemlerde kullanılması uygulama sırasında olabilecek hataların en aza indirgenmesi ve kullanım kolaylığı sağlaması açısından önemlidir.
Kampanyalarda,
...
; 3 al 2 öde kampanyası - 3 tane ürün alana fiyatı en düşük olan ürünün bedava verilmesi,
...
iki tane ürün alana ikinci ürün %50 indirimli – 2 tane aynı üründen alındığı zaman ikinci ürünü %50 indirimli ödenmesi,
...
1 tane ürün alan ikincisi bedava – Hangi üründen alınırsa alınsın bir tane ürün alana ikinci ürünün bedava verilmesi
...
Ve ve benzeri uygulamalarda detay koşul belirlemek için, koşul ve formül alanlarından ulaşılan formül pencerelerinde fonksiyonlar listesinde yer alan FPDISC ("Üst Malzeme Sınıfı Kodu", Order Type, Miktar, Return Type)
...
, FGDISC ("Malzeme Grup Kodu", Order Type, Miktar, Return Type)
...
, FIDISC ("Malzeme (Sınıfı) Kodu", Order Type, Miktar, Return Type)
...
fonksiyonları kullanılır. Kullanım şekli şöyledir:
...
FicheItemDisc (FIDISC), fonksiyonda belirtilen malzemelerin fiş toplam bilgilerine göre genele indirim veya masraf getirmek için kullanılır. (Malzeme kodu alanında tüm malzemelerin geçerli olması için * karakteri kullanılabilir.)
Order Type:
1: En Düşük
2: En Yüksek
3: Giriş Sırası (Düz)
4: Giriş Sırası (Ters)
Miktar: Fiş içerisindeki uygulanacak miktar bilgisi belirtilmektedir.
P25- Miktar Toplamı (Satırdaki Birim)
P26- Miktar Toplamı (Ana Birim)
P40- Miktar Toplamı (Promosyon Hariç, Satırdaki Birim)
P41- Miktar Toplamı (Promosyon Hariç, Ana Birim)
Return Type: 1
1: KDV Hariç (Ana Birim)
2: KDV Dahil (Ana Birim)
3: Satır Net Tutarı (Ana Birim)
4: KDV Hariç (Satırdaki Birim)
5: KDV Dahil (Satırdaki Birim)
6: Satır Net Tutarı (Satırdaki Birim)
...
Ortak kampanya uygulanacak malzeme kartları Malzeme sınıfı açılarak bağlantı yapılmalıdır.
MALZEME – MALZEME SINIF BAĞLANTISINI LISTELEYEN QUERY
SELECT
COUNT(*)
FROM
LG_010_ITEMS I (NOLOCK)
...
I.CODE LIKE 'PG.001'
AND S.CODE LIKE 'PG'
QUERY' NIN FONKSİYON HALİNE GETİRİLMESİ
CREATE FUNCTION [dbo].[FN_MS_KAMPANYA_010] (@MALZ VARCHAR(21), @SINIF VARCHAR(21))
...
Not : Fonksiyon SQL' de bir kez çalıştırılarak sql tarafına fonksiyon olarak eklenmesi sağlanmalıdır.
FONKSİYON' UN QUERY İLE ÇALIŞTIRILMASI
SELECT DBO.FN_MS_KAMPANYA_010('PG.004','PG') FROM L_CAPIFIRM WHERE NR=10
FONKSİYON' UN SQLINFO HALİNE GETİRİLMESİ
VAL(_SQLINFO("DBO.FN_MS_KAMPANYA_010('"P101"','PG')","L_CAPIFIRM","NR=10"))
...