Blog Of Sem: October 2018

Excelde (Large) Kritere Göre En büyük Tarihi , 2nci En büyük Tarihi, 3ncu En büyük Tarihi Bulmak

=IFERROR(LARGE(IF($A$2:$A$9=A2,$B$2:$B$9),1),"")

=IFERROR(LARGE(IF($A$2:$A$9=A2,$B$2:$B$9),2),"")
=IFERROR(LARGE(IF($A$2:$A$9=A2,$B$2:$B$9),3),"")

KanBoard Pano , Database ve Mail Yollama Ayarları

https://github.com/kanboard/kanboard indirip ftpye at direk çalışır...
Aşağıdaki sorguda Panoyu türkçe yapabilirsin. Ama database silip baştan yükleyince sıfırlanır.

update `columns` set title ='On Hazirlik' WHERE title ='Backlog';
update `columns` set title ='Yapilacaklar' WHERE title ='Ready';
update `columns` set title ='Tamamlandi' WHERE title ='Done';
update `columns` set title ='Yapiliyor' WHERE title ='Work in progress';
------------------------------------------------

Eğer Backlogun hiç cıkmasını isdemezsen
delete from `columns` WHERE title ='tBacklog'

---------------------------------------------------
NOT TÜRKÇE KARAKTER KULLANMA
Bir sonraki yeni proje yaratmalarında backlog otomatik olarak gelmesin ve diğer panolar türkçe olarak gelsin isdeniyorusa /app/Model/BoardModel.php içindeki return array(t('Backlog'), t('Ready'), t('Work in progress'), t('Done')); satırını şu şekilde yap
return array( t('Yapilacaklar'), t('Yapiliyor'), t('Tamamlandi'));

--------------

Eğer Database mail ayarlarını yapacaksan ana roottaki config.default.php adını config.php yapip değerlerini vermelisin ornegin default sqldb veritabanı olarak kullanılır ama mysql kullanılması isdeniyorsa ayarının config.php'nin içinden yapılması gerekir. Mail ayarınında aynı yerden yapılması gerekir(gönderen maili).

MYSQL Ayar örneği;
// Sendmail command to use when the transport is "sendmail"
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');

// Run automatically database migrations
// If set to false, you will have to run manually the SQL migrations from the CLI during the next Kanboard upgrade
// Do not run the migrations from multiple processes at the same time (example: web page + background worker)
define('DB_RUN_MIGRATIONS', true);

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');

// Mysql/Postgres username
define('DB_USERNAME', 'pnpwebdisign_trl');

// Mysql/Postgres password
define('DB_PASSWORD', '12ssssw');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'pnpwebdisign_trl');

// Mysql/Postgres custom port (null = default port)
define('DB_PORT', null);

// Mysql SSL key
define('DB_SSL_KEY', null);
------------------------

Gmailden Mail Yollama Ayarı;


// Enable/disable email configuration from the user interface
define('MAIL_CONFIGURATION', true);

// E-mail address used for the "From" header (notifications)
define('MAIL_FROM', 'pxxxx@gmail.com');

// Mail transport available: "smtp", "sendmail", "mail" (PHP mail function), "postmark", "mailgun", "sendgrid"
define('MAIL_TRANSPORT', 'smtp');

// SMTP configuration to use when the "smtp" transport is chosen
define('MAIL_SMTP_HOSTNAME', 'smtp.gmail.com');
define('MAIL_SMTP_PORT', 465);
define('MAIL_SMTP_USERNAME', 'pxxxx@gmail.com');
define('MAIL_SMTP_PASSWORD', '123sxe');
define('MAIL_SMTP_ENCRYPTION', 'ssl'); // Valid values are "null", "ssl" or "tls"

// Sendmail command to use when the transport is "sendmail"
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');

---------------------
Notificationlar mail olarak giderken mail başlığında admin via kanboard vb... yazar onu deiştirmek için /trello/1/app/Core/Mail/client.phpde
$author = e('%s via Kanboard', $this->helper->user->getFullname()); 

$author = e('%s Tarafından Gönderilen Bilgilendirme', $this->helper->user->getFullname()); 

Sql Server Shrink Database and Log

  --log dosyasını bul     
 SELECT name FROM sys.master_files WHERE type_desc = 'LOG' and physical_name like '%Jam%'

        ALTER DATABASE DevJamieS
        SET RECOVERY SIMPLE
        GO
        DBCC SHRINKFILE (DevJamieS_log, 1)
        GO
        ALTER DATABASE DevJamieS
        SET RECOVERY FULL
     

------------

USE LKSDB;
GO
ALTER DATABASE LKSDB
SET RECOVERY SIMPLE;
GO


--datadakı log dosyasını shrınk yap

ALTER DATABASE LKSDB
SET RECOVERY FULL;
GO

Sentez Live Erp Komplike Fiyat Politikası

Örneğin bir ürün birden fazla cariye farklı fiyat ve indirimlerde satılıyorsa malzemenin altında fiyat kısmına kodun hiçbir önemi olmamakla beraber carisel bazlı fiyat/indirim tanımlaması yapılması gerekmektedir fakat bu tanımlamarda cari kartın altınada ve malzeme kartının altında fiyat kodu tanımlanmamalıdır. Fakat 1 tanede genel müşteriler için cari deilde sadece 1 fiyat kodu tanımlanıp (herhangi indirim yada fiyat politikası olmayan müşteriler için) kaydedince. Fatura kesiminde malzemede carisel bazlı fiyat tanımı yapılan bir cariyi seçince  1 fiyat kodunu getirmekte diye bir sorun cıkacakdır. Bununda çözümü 1 fiyat kodunun öncelik kısmını 9999 yapılırsa çözülür.

carinin altında ne indirim ne fiyat kod olmayacak
malzmelerin altında ne indirim ne fiyat kod olmayacak cari olacak
1 toptan fiyatta cari olmayacak öncelik 2 olacak
diğerlerinde 1 dışındakilerde öncelik 1 olacak

Excel Kriterli Subtotal (Alttoplam)

=SUMPRODUCT(SUBTOTAL(9,OFFSET(B3:B6,ROW(A3:A6)-MIN(ROW(A3:A6)),,1)),--(A3:A6="çek"))

Sql Server 2008 to xml

SELECT   InventoryCode,InventoryName Product, isnull(Price,0) Price
FROM Erp_Inventory
left join Erp_InventoryPriceList on Erp_InventoryPriceList.InventoryId = Erp_Inventory.RecId
 FOR XML PATH('MALZEMELER'), ROOT('BILGILER')


Büyük tablodan sqlden verileri silme

bu etkili alttakiler deil fazla
declare @counter int
declare @numOfRecords int
declare @batchsize int

set @numOfRecords = (SELECT COUNT(*) AS NumberOfRecords  FROM  Erp_InventoryReceiptItem  with(nolock)  where ParentItemId is not null)
set @counter = 0
set @batchsize = 2500

set rowcount @batchsize
while @counter < (@numOfRecords/@batchsize) +1
begin
set @counter = @counter + 1
Update Erp_InventoryReceiptItem set ParentItemId = null;
end
set rowcount 0
----------------------------------------------
alttakiler:

USE LIVE_UNIMAR_YENI
GO

-- Set to simple mode
ALTER DATABASE LIVE_UNIMAR_YENI SET RECOVERY SIMPLE;
GO

-- Get count of records
SELECT COUNT(*) AS Total FROM Erp_InventoryReceiptItem
GO

-- Delete in batches
DECLARE @VAR_ROWS INT = 1;
WHILE (@VAR_ROWS > 0)
BEGIN
    DELETE TOP (100000) FROM Erp_InventoryReceiptItem
    SET @VAR_ROWS = @@ROWCOUNT;
    CHECKPOINT;
END;
GO

-- Set to full mode
ALTER DATABASE LIVE_UNIMAR_YENI SET RECOVERY FULL;
GO

UzakMasaUstu RDP TERMSVR CRACK 2012 dahil

https://github.com/stascorp/rdpwrap/releases
https://github.com/stascorp/rdpwrap/releases/download/v1.6.2/RDPWrap-v1.6.2.zip
bunu indir ve install.bata bas serverde


bu güncellemyi sil yoksa düşer KB4486563

Devexpress gridview Dinamik Satır Ekleme (sil butonuyla)

Bir tane devexpress gridview yarat ve kodlar aşağıda

using DevExpress.XtraEditors.Repository;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TIPEXE
{
    public partial class Form1 : Form
    {
        public class BILGILER
        {

            public BILGILER()
            {
            }

            public string BARKOD { get; set; }
            public string ADI { get; set; }
            public string SİL { get; set; }

        }
        public BindingList<BILGILER> _Grid_data;
        public Form1()
        {
            InitializeComponent();

        }
        private void button3_Click(object sender, EventArgs e)
        {
            _Grid_data.Add(new BILGILER()
            {
                BARKOD = "asd",
                ADI = "assaas"
            });
            RepositoryItemButtonEdit SILDUGMESI = new RepositoryItemButtonEdit();
            SILDUGMESI.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            SILDUGMESI.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
            SILDUGMESI.Buttons[0].Image = Bitmap.FromFile("resimler\\simgeler\\SIL.png");
            SILDUGMESI.Buttons[0].Caption = "SİL";
            SILDUGMESI.ButtonClick += SILDUGMESI_ButtonClick;
            gridControl1.RepositoryItems.Add(SILDUGMESI);
            gridView1.Columns["SİL"].ColumnEdit = SILDUGMESI;
        }
        private void SILDUGMESI_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            gridView1.DeleteSelectedRows();
        }
        private void bunifuFlatButton3_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.Show();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            _Grid_data = new BindingList<BILGILER>();
            gridControl1.DataSource = _Grid_data;
            gridView1.PopulateColumns();
            //bunifuFlatButton4.BackColor = Color.Teal;
            //bunifuFlatButton4.Activecolor = Color.Teal;
        }
    }
}