Powered by Birikim Bilgisayar
Perşembe, 07 Temmuz 2016 tarihinde oluşturuldu

 

    WOLVOX ERP Programında Zamanlı Görevler Alanı İle Cari Renklendirme  

Wolvox ERP programında sql kodları kullanarak zamanlı görevler oluşturabilir ve oluşturduğunuz görevlerin belirlediğiniz periyotlarda çalışmasını sağlayabilirsiniz. Bu sayede belirttiğiniz sql kodları doğrultusunda program belirttiğiniz görevi çalıştırır ve tekrarlama süresi boyunca yenilenmesini sağlar.

Zamanlı görev oluşturmak için Kontrol Paneli programında yetkili menüsünden zamanlı görevler alanına giriş yapınız.


Açıklama alanına oluşturacağınız zamanlı görevle alakalı bir görev adı belirtebilirsiniz. Görevin hangi şirketlerde çalışacağını şirketler alanından seçim yapınız. Görev tipini SQL kodu çalıştır seçiniz ve tekrarlama süresini belirtiniz. Her gün tekrarlamasını istediğiniz bir görev ise 1 yazabilirsiniz. SQL kodu alanının çalışma şeklini bir örnekle açıklayalım;

121 gün üstü fatura kesilmiş veya hiç fatura kesilmemiş carileriniz kırmızı, 91-120 gün arası fatura kesilmiş carileriniz turuncu, 61-90 gün arası fatura kesilmiş carileriniz sarı, 31-60 gün arası fatura kesilmiş carileriniz mavi ve 0-30 gün arası fatura kesilmiş carileriniz cari arama formlarında yeşil göstermek için aşağıda örneği verilen SQL kodunu kullanabilirsiniz. 


Sql kodu içerisinde yer alan renk kodlarını dilerseniz değiştirebilirsiniz. Kodunu değiştirmek istediğiniz rengi seçim yaptıktan sonra değer alanındaki rakamları kodun içerisine yazmanız gerekmektedir.



Firebird Veritabanı İçin Örnek SQL:

EXECUTE BLOCK
RETURNS (BLKODU BIGINT, TR TIMESTAMP, AY INTEGER)
AS
    DECLARE VARIABLE CRID BIGINT;
    DECLARE VARIABLE LAST_INV_DATE TIMESTAMP;
    DECLARE VARIABLE COLOR INTEGER;
BEGIN
    FOR SELECT BLKODU, (SELECT MAX(TARIHI) FROM FATURA WHERE BLCRKODU=CARI.BLKODU AND FATURA_DURUMU=1 AND SILINDI=0 AND IPTAL=0)
    FROM CARI INTO :CRID, :LAST_INV_DATE DO
    BEGIN
     IF ((CURRENT_TIMESTAMP - :LAST_INV_DATE >= 121) OR (:LAST_INV_DATE IS NULL))   THEN
         COLOR = 255;
    ELSE IF ((CURRENT_TIMESTAMP - :LAST_INV_DATE <= 120) AND (CURRENT_TIMESTAMP - :LAST_INV_DATE >= 91)) THEN
         COLOR = 33023;
    ELSE IF ((CURRENT_TIMESTAMP - :LAST_INV_DATE <= 90)  AND (CURRENT_TIMESTAMP - :LAST_INV_DATE >= 61))  THEN
         COLOR = 65535;
ELSE IF ((CURRENT_TIMESTAMP - :LAST_INV_DATE <= 60)  AND (CURRENT_TIMESTAMP - :LAST_INV_DATE >= 31)) THEN
         COLOR = 16773064;
    ELSE IF ((CURRENT_TIMESTAMP - :LAST_INV_DATE <= 30)  AND (CURRENT_TIMESTAMP - :LAST_INV_DATE >= 0)) THEN
         COLOR = 65280;
    ELSE
         COLOR = NULL;

      UPDATE CARI SET RAPOR_RENGI = :COLOR WHERE BLKODU = :CRID;
    END
END

SQL Veritabanı İçin Örnek SQL

DECLARE C1 CURSOR FAST_FORWARD FOR SELECT BLKODU, (SELECT MAX(TARIHI) FROM FATURA WHERE BLCRKODU=CARI.BLKODU AND FATURA_DURUMU=1 AND SILINDI=0 AND IPTAL=0) FROM CARI;
DECLARE @CRID BIGINT, @LAST_INV_DATE DATETIME, @COLOR INTEGER; 
 
OPEN C1;
FETCH NEXT FROM C1 INTO @CRID, @LAST_INV_DATE;
WHILE @@FETCH_STATUS = 0
BEGIN
IF ((CURRENT_TIMESTAMP - @LAST_INV_DATE >= 121) OR (@LAST_INV_DATE IS NULL)) 
SET @COLOR = 255;
ELSE IF (CURRENT_TIMESTAMP - @LAST_INV_DATE <= 120) AND (CURRENT_TIMESTAMP - @LAST_INV_DATE >= 91) 
SET @COLOR = 33023;
ELSE IF (CURRENT_TIMESTAMP - @LAST_INV_DATE <= 90)  AND (CURRENT_TIMESTAMP - @LAST_INV_DATE >= 61) 
SET @COLOR = 65535;
ELSE IF (CURRENT_TIMESTAMP - @LAST_INV_DATE <= 60)  AND (CURRENT_TIMESTAMP - @LAST_INV_DATE >= 31) 
SET @COLOR = 16773064;
ELSE IF (CURRENT_TIMESTAMP - @LAST_INV_DATE <= 30)  AND (CURRENT_TIMESTAMP - @LAST_INV_DATE >= 0) 
SET @COLOR = 65280;
ELSE
SET @COLOR = NULL;
 
    UPDATE CARI SET RAPOR_RENGI = @COLOR WHERE BLKODU = @CRID;
 
FETCH NEXT FROM C1 INTO @CRID, @LAST_INV_DATE;
END
 
CLOSE C1
DEALLOCATE C1