Promt-AI-“Change Management" Formu - ITSM Süreçleri

ITSM (Information Technology Service Management), yani Bilgi Teknolojileri Hizmet Yönetimi, kurumlarda BT hizmetlerinin planlı, kontrollü ve kullanıcı odaklı yönetilmesini sağlayan süreçler bütünüdür.

Temel amacı:
  • Hizmet kalitesini artırmak
  • Kesintileri azaltmak
  • Kullanıcı memnuniyetini yükseltmek
  • BT operasyonlarını standart hale getirmektir.

ITSM Süreçleri ve Amaçları:

Change Management (Değişiklik Yönetimi) Nedir?
Bir gece gerçekleştirilen plansız bir sistem değişikliği nedeniyle güvenlik kameralarının kayıt alamadığını düşünün. Ertesi sabah yaşanan kritik bir olayın görüntülerine ulaşmak mümkün olmayabilir. Teknoloji yatırımları kurumlara büyük avantajlar sağlarken, yanlış yönetilen değişiklikler ciddi operasyonel riskler de oluşturabilir.

İşte Change Management (Değişiklik Yönetimi), bu riskleri kontrol altına almak ve teknolojik dönüşümlerin güvenli şekilde gerçekleştirilmesini sağlamak için kullanılan en önemli ITSM süreçlerinden biridir.

Change Management, bilgi teknolojileri ortamında yapılacak değişikliklerin planlı, kontrollü ve izlenebilir şekilde yönetilmesini sağlayan süreçtir. Buradaki temel amaç değişiklikleri yavaşlatmak veya bürokrasi oluşturmak değildir. Amaç; değişikliklerin minimum riskle, minimum kesintiyle ve maksimum fayda sağlayacak şekilde uygulanmasını sağlamaktır.

Yeni bir yazılımın devreye alınması, sunucu güncellemesi, ağ altyapısının değiştirilmesi veya güvenlik sistemlerinin yenilenmesi gibi tüm teknolojik değişiklikler Change Management kapsamına girer.


Değişiklik Yapmak Neden Risklidir?
Bir kurumun eski güvenlik kamera sistemini yeni nesil IP kamera altyapısına taşıdığını düşünelim. İlk bakışta bu oldukça basit bir teknoloji yatırımı gibi görünebilir. Daha yüksek görüntü kalitesi, merkezi yönetim, gelişmiş raporlama ve daha güçlü güvenlik özellikleri hedeflenmektedir. Ancak plansız bir geçiş sürecinde;

* Bazı kameralar çalışmayabilir,
* Kayıt sistemleri yeni altyapıyla uyum sağlamayabilir,
* Ağ trafiğinde beklenmeyen yükler oluşabilir,
* Güvenlik ekipleri yeni sistemi kullanmakta zorlanabilir,
* Kritik alanlarda görüntü kayıpları yaşanabilir,
* İş sürekliliği olumsuz etkilenebilir.
Yani iyi niyetle yapılan bir değişiklik, kurum için yeni riskler oluşturabilir.


Change Management Tam Olarak Ne Yapar?
Change Management, değişikliklerin kontrollü şekilde planlanmasını ve uygulanmasını sağlar. Kamera sistemi örneğinde süreç şu sorulara yanıt arar:

* Eski sistem neden değiştiriliyor?
* Yeni sistem hangi faydaları sağlayacak?
* Olası riskler nelerdir?
* İş süreçleri nasıl etkilenecek?
* Sorun yaşanırsa eski sisteme nasıl geri dönülecek?
Bu soruların önceden cevaplanması sayesinde değişiklikler çok daha güvenli şekilde hayata geçirilebilir.


Change Management Sürecinin Temel Adımları
Başarılı bir değişiklik yönetimi süreci genellikle aşağıdaki aşamalardan oluşur:

1. Değişiklik Talebinin Oluşturulması
Yapılacak değişiklik tanımlanır ve değişiklik talebi (Change Request) oluşturulur.

2. Etki ve Risk Analizi
Değişikliğin sistemlere, kullanıcılara ve operasyonlara olası etkileri değerlendirilir.

3. Onay Süreci
Gerekli teknik ve yönetsel onaylar alınır.

4. Uygulama Planının Hazırlanması
Değişikliğin ne zaman, kim tarafından ve hangi adımlarla gerçekleştirileceği planlanır.

5. Geri Dönüş (Rollback) Planının Oluşturulması
Beklenmeyen bir durum yaşanması halinde mevcut sisteme nasıl geri dönüleceği belirlenir.

6. Değişikliğin Uygulanması
Planlanan değişiklik kontrollü şekilde devreye alınır.

7. Sonuçların Değerlendirilmesi
Uygulama sonrası süreç gözden geçirilir ve hedeflenen çıktılara ulaşılıp ulaşılmadığı kontrol edilir.


CAB (Change Advisory Board) Nedir?
Kritik değişiklikler genellikle Change Advisory Board (CAB) adı verilen değerlendirme kurulları tarafından incelenir.

Bu kurulda BT ekipleri, operasyon yöneticileri, iş birimleri ve gerekli görülen diğer paydaşlar yer alabilir. Amaç, değişikliğin farklı açılardan değerlendirilmesi ve olası risklerin önceden tespit edilmesidir. Bu yaklaşım sayesinde tek bir ekip yerine kurum genelinde daha bilinçli kararlar alınabilir.

Her Değişiklik Önceden Planlanabilir mi? Hayır.
Bazı durumlarda kritik güvenlik açıkları, sistem arızaları veya iş sürekliliğini tehdit eden olaylar nedeniyle acil müdahale gerekebilir. Bu tür durumlarda Emergency Change (Acil Değişiklik) süreçleri devreye alınır. Acil değişikliklerde süreç daha hızlı ilerlese de yapılan işlemler yine kayıt altına alınır ve sonrasında değerlendirilir.


Kurumlar Neden Change Management Uygular?
Başarılı kurumlar için değişiklik yapmak kadar, değişikliği doğru yönetmek de önemlidir. Çünkü, kontrolsüz değişiklikler;

* Hizmet kesintilerine,
* Operasyonel aksaklıklara,
* Beklenmeyen maliyetlere,
* Güvenlik risklerine,
* Verimlilik kayıplarına,
* Müşteri memnuniyetsizliğine
neden olabilir. Change Management ise bu riskleri azaltarak değişikliklerin kuruma değer katmasını sağlar.


İyi Bir Change Management Sürecinin Kazandırdıkları
Daha Az Hizmet Kesintisi
Planlı değişiklikler sayesinde iş süreçleri minimum düzeyde etkilenir.

Daha Düşük Risk
Olası problemler önceden analiz edilerek gerekli önlemler alınır.

Daha Kontrollü Teknoloji Yatırımları
Yapılan yatırımların beklenen faydayı sağlaması kolaylaşır.

Daha Yüksek Operasyonel Verimlilik
Ekipler neyi, ne zaman ve nasıl yapacaklarını önceden bilir.

Daha Güçlü İş Sürekliliği
Kritik hizmetlerin kesintisiz şekilde devam etmesi desteklenir.

Daha Güçlü Kurumsal Yönetim
Yapılan tüm değişiklikler kayıt altına alınır, izlenebilir ve denetlenebilir hale gelir.


Sonuç:
Teknoloji dünyasında değişim kaçınılmazdır. Ancak önemli olan değişikliğin kendisi değil, nasıl yönetildiğidir. Başarılı kurumları diğerlerinden ayıran unsur, değişiklik yapmaları değil; değişikliği ne kadar kontrollü yönettikleridir.

Eski bir kamera sisteminin yenilenmesinden büyük ölçekli altyapı dönüşümlerine kadar her değişiklik, doğru planlandığında kuruma değer katar. Plansız gerçekleştirildiğinde ise hizmet kesintileri, güvenlik riskleri ve operasyonel sorunlar ortaya çıkabilir. Bu nedenle Change Management; iş sürekliliğini koruyan, riskleri azaltan ve teknolojik dönüşümlerin güvenle hayata geçirilmesini sağlayan en kritik ITSM süreçlerinden biridir.


AI ile “Change Management" Formu:
Yapay zeka uygulamaları üzerinde talimatlarla oluşturulan form aşağıdaki gibidir. Not defteri açarak aşağıdaki (Mavi) html kodu içine kaydedin. Not defteri uzantısını .txt yerine .html olarak değiştirip Enter tuşuna basınız. 

Sol tarafta görünen logo için, html dosyanız nerede ise, masaüstü veya oluşturulan bir klasör. Logonuzda aynı yerde olursa forma yansır. Logo ismi "logo.jpg" olmalı. Çift tıklayarak açtığınızda, browser üzerinde form açılışı gerçekleşir.

Başlık, başlığın altındaki, başlığın sağındaki ve alttaki yazıları, not defteri içinde "Ctrl + F" tuşları ile kelime yazarak bulabilir, ilgili metinleri kendinize göre uyarlayarak kaydederek kullanabilirsiniz.

Form Görünümü:

Form Önizleme:

CSV İndir:

İçeri Aktar:
Dışarı aktarılan "Csv" uzantılı dosya seçildiğinde, formda ilgili alanlara verinin gelmesi sağlanır. Böylelikle form üzerinde değişikliği pratik bir şekilde gerçekleştirebilirsiniz.

PDF Kaydet / Yazdır:


HTML Kod:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Change Management Form</title>

<style>

:root{
    --blue1:#0b2158;
    --blue2:#173b8f;
    --line:#dbe3ee;
    --bg:#f1f5f9;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,sans-serif;
}

body{
    background:var(--bg);
    padding:14px;
    color:#000;
}

.container{
    max-width:1450px;
    margin:auto;
}

/* TÜM YAZILAR */

input,
select,
textarea,
td,
label,
.tableHeader div,
.footer{
    color:#000 !important;
}

/* HEADER */

.header{
    background:linear-gradient(90deg,var(--blue1),var(--blue2));
    border-radius:22px;
    padding:14px 18px;
    margin-bottom:16px;
    box-shadow:0 5px 16px rgba(0,0,0,.12);

    display:grid;
    grid-template-columns:70px 1fr 320px;
    align-items:center;
    column-gap:18px;
}

.logoBox{
    width:70px;
    height:70px;
    background:#fff;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.logoBox img{
    width:82%;
    height:82%;
    object-fit:contain;
}

.headerCenter{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.headerTitle{
    font-size:26px;
    font-weight:900;
    line-height:1;
    letter-spacing:.3px;
    color:#fff;
}

.headerSub{
    margin-top:6px;
    font-size:12px;
    color:#fff;
}

.headerRight{
    text-align:right;
    font-size:13px;
    font-weight:800;
    line-height:1.3;

    display:flex;
    align-items:center;
    justify-content:flex-end;

    width:100%;
    height:100%;

    color:#fff;
}

/* CARD */

.card{
    background:#fff;
    border-radius:18px;
    padding:18px;
    box-shadow:0 5px 16px rgba(0,0,0,.08);
}

/* FORM */

.grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.full{
    grid-column:1/-1;
}

.group{
    display:flex;
    flex-direction:column;
}

label{
    margin-bottom:5px;
    font-size:13px;
    font-weight:700;
}

input,
select,
textarea{
    width:100%;
    border:1px solid #cfd8e3;
    border-radius:10px;
    padding:10px;
    background:#f8fafc;
    font-size:13px;
    outline:none;
    transition:.2s;
}

textarea{
    resize:none;
    min-height:95px;
    overflow:hidden;
}

input:focus,
select:focus,
textarea:focus{
    background:#fff;
    border-color:#2563eb;
}

/* BUTTONS */

.buttons{
    margin-top:18px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.btn{
    border:none;
    border-radius:10px;
    padding:11px 16px;
    color:#fff;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
}

.btn:hover{
    transform:translateY(-1px);
}

.previewBtn{
    background:#173b8f;
}

.printBtn{
    background:#334155;
}

.csvBtn{
    background:#15803d;
}

.importBtn{
    background:#d1d5db;
    color:#1e293b;
}

/* PREVIEW */

.preview{
    display:none;
    margin-top:18px;
}

.preview.active{
    display:block;
}

/* TABLE */

.tableHeader{
    display:grid;
    grid-template-columns:300px 1fr;
    background:#173b8f;
    color:#fff;
    border-radius:12px 12px 0 0;
    overflow:hidden;
}

.tableHeader div{
    padding:10px 12px;
    font-size:12px;
    font-weight:700;
    color:#fff !important;
}

table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
}

td{
    border:1px solid var(--line);
    padding:8px 12px;
    font-size:12px;
    line-height:1.4;
    vertical-align:top;
    word-break:break-word;
    white-space:pre-wrap;
    color:#000;
}

td:first-child{
    width:300px;
    min-width:300px;
    font-weight:700;
    background:#f8fafc;
    white-space:nowrap;
    word-break:normal;
}

tr:nth-child(even) td:last-child{
    background:#fcfdff;
}

.footer{
    background:#173b8f;
    color:#fff !important;
    text-align:center;
    padding:8px;
    border-radius:0 0 12px 12px;
    font-size:12px;
    font-weight:700;
}


.print-fit td{
    font-size:10px !important;
    line-height:1.1 !important;
    padding:4px 6px !important;
}

.print-fit .tableHeader div{
    font-size:10px !important;
    padding:6px 8px !important;
}

.print-fit .headerTitle{
    font-size:18px !important;
}

.print-fit .headerSub,
.print-fit .footer,
.print-fit .headerRight{
    font-size:10px !important;
}

#printWrapper{
    transform-origin:top left;
}


/* MOBILE */

@media(max-width:900px){

    .header{
        grid-template-columns:1fr;
        row-gap:14px;
    }

    .headerRight{
        justify-content:flex-start;
        text-align:left;
    }

    .grid{
        grid-template-columns:1fr;
    }

    .tableHeader{
        grid-template-columns:220px 1fr;
    }

    td:first-child{
        width:220px;
        min-width:220px;
    }

}

/* PRINT */

@page{
    size:A4 landscape;
    margin:3mm;
}

@media print{

    body{
        background:#fff;
        padding:0;
    }

    .formArea,
    .buttons{
        display:none !important;
    }

    .preview{
        display:block !important;
        margin:0;
    }

    .header,
    .card{
        box-shadow:none;
    }

    .header{
        display:grid !important;
        grid-template-columns:70px 1fr 320px !important;
        align-items:center !important;
    }

    .headerRight{
        justify-content:flex-end !important;
        text-align:right !important;
        width:100% !important;
    }

    *{
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }

}

</style>
</head>

<body>

<div class="container">

    <div class="formArea">

        <div class="header">

            <div class="logoBox">
                <img src="logo.jpg" alt="">
            </div>

            <div class="headerCenter">

                <div class="headerTitle">
                    CHANGE MANAGEMENT FORM
                </div>

                <div class="headerSub">
                    Planlı değişikliklerin güvenli şekilde uygulanması ve izlenmesi
                </div>

            </div>

            <div class="headerRight">
                HELPDESK
            </div>

        </div>

        <div class="card">

            
<div class="grid">

    <div class="group"><label>Change No</label><input type="text" id="changeNo"></div>
    <div class="group"><label>Talep Eden</label><input type="text" id="talepEden"></div>

    <div class="group full"><label>Değişiklik Başlığı</label><input type="text" id="degisiklikBasligi"></div>

    <div class="group full"><label>Değişiklik Açıklaması</label><textarea id="degisiklikAciklamasi"></textarea></div>

    <div class="group">
        <label>Değişiklik Türü</label>
        <select id="degisiklikTuru">
            <option>Standart</option><option>Normal</option><option>Acil</option>
        </select>
    </div>

    <div class="group">
        <label>Risk Seviyesi</label>
        <select id="riskSeviyesi">
            <option>Düşük</option><option selected>Orta</option><option>Yüksek</option><option>Kritik</option>
        </select>
    </div>

    <div class="group">
        <label>Etki Seviyesi</label>
        <select id="etkiSeviyesi">
            <option>Düşük</option><option>Orta</option><option>Yüksek</option><option>Kritik</option>
        </select>
    </div>

    <div class="group"><label>Etkilenen Sistemler</label><input type="text" id="etkilenenSistemler"></div>

    <div class="group full"><label>İş Gerekçesi</label><textarea id="isGerekcesi"></textarea></div>
    <div class="group full"><label>Uygulama Planı</label><textarea id="uygulamaPlani"></textarea></div>
    <div class="group full"><label>Geri Dönüş Planı</label><textarea id="geriDonusPlani"></textarea></div>
    <div class="group full"><label>Test Planı</label><textarea id="testPlani"></textarea></div>

    <div class="group"><label>Planlanan Tarih</label><input type="date" id="planlananTarih"></div>
    <div class="group"><label>Uygulayıcı</label><input type="text" id="uygulayici"></div>
    <div class="group"><label>Onaylayanlar</label><input type="text" id="onaylayanlar"></div>

    <div class="group">
        <label>Sonuç Durumu</label>
        <select id="sonucDurumu">
            <option>Planlandı</option><option>Devam Ediyor</option><option>Başarılı</option><option>Başarısız</option><option>Geri Alındı</option>
        </select>
    </div>

    <div class="group full"><label>Kapanış Notu</label><textarea id="kapanisNotu"></textarea></div>

</div>

            <div class="buttons">


                <button class="btn previewBtn" onclick="onizle()">
                    Önizle
                </button>

                <button class="btn printBtn" onclick="pdf()">
                    Kaydet / PDF
                </button>

                <button class="btn csvBtn" onclick="csvIndir()">
                    CSV İndir
                </button>

                <button class="btn importBtn" onclick="document.getElementById('importFile').click()">
                    İçeri Aktar
                </button>

                <input
                    type="file"
                    id="importFile"
                    accept=".csv"
                    style="display:none"
                    onchange="csvIceriAktar(event)"
                >

            </div>

        </div>

    </div>

    <!-- PREVIEW -->

    <div class="preview" id="preview"><div id="printWrapper">

        <div class="header">

            <div class="logoBox">
                <img src="logo.jpg" alt="">
            </div>

            <div class="headerCenter">

                <div class="headerTitle">
                    CHANGE MANAGEMENT FORM
                </div>

                <div class="headerSub">
                    Planlı değişikliklerin güvenli şekilde uygulanması ve izlenmesi
                </div>

            </div>

            <div class="headerRight">
                HELPDESK
            </div>

        </div>

        <div class="card">

            <div class="tableHeader">
                <div>Alan</div>
                <div>Bilgi</div>
            </div>

            <table id="table"></table>

            <div class="footer">
                MYO
            </div>

        </div>

    </div></div>

</div>

<script>

const $ = id => document.getElementById(id);

const fields = {

    changeNo:"Change No",
    talepEden:"Talep Eden",
    degisiklikBasligi:"Değişiklik Başlığı",
    degisiklikAciklamasi:"Değişiklik Açıklaması",
    degisiklikTuru:"Değişiklik Türü",
    riskSeviyesi:"Risk Seviyesi",
    etkiSeviyesi:"Etki Seviyesi",
    etkilenenSistemler:"Etkilenen Sistemler",
    isGerekcesi:"İş Gerekçesi",
    uygulamaPlani:"Uygulama Planı",
    geriDonusPlani:"Geri Dönüş Planı",
    testPlani:"Test Planı",
    planlananTarih:"Planlanan Tarih",
    uygulayici:"Uygulayıcı",
    onaylayanlar:"Onaylayanlar",
    sonucDurumu:"Sonuç Durumu",
    kapanisNotu:"Kapanış Notu"

};

/* TEXTAREA AUTO HEIGHT */

document.querySelectorAll("textarea").forEach(t=>{

    t.addEventListener("input",()=>{

        t.style.height = "auto";
        t.style.height = t.scrollHeight + "px";

    });

});

/* RENDER */

function render(){

    let html = "";

    for(let id in fields){

        let value = $(id).value || "-";

        if(id === "planlananTarih" && value !== "-"){

            const parts = value.split("-");

            if(parts.length === 3){

                value =
                    `${parts[2]}.${parts[1]}.${parts[0]}`;

            }

        }

        html += `
        <tr>
            <td>${fields[id]}</td>
            <td>${value}</td>
        </tr>
        `;

    }

    $("table").innerHTML = html;

}

/* PREVIEW */

function onizle(){

    render();

    $("preview").classList.add("active");

    $("preview").scrollIntoView({
        behavior:"smooth"
    });

}

/* PDF */

function applyPrintFit(){

    const preview = document.getElementById("preview");
    const wrapper = document.getElementById("printWrapper");

    preview.classList.add("print-fit");

    wrapper.style.transform = "scale(1)";
    wrapper.style.transformOrigin = "top left";

    const maxHeight = 760;
    const h = wrapper.scrollHeight;

    let scale = Math.min(1, maxHeight / h);

    if(scale < 0.60) scale = 0.60;

    wrapper.style.transform = `scale(${scale})`;
    wrapper.style.width = `${100/scale}%`;
}

function resetPrintFit(){

    const preview = document.getElementById("preview");
    const wrapper = document.getElementById("printWrapper");

    preview.classList.remove("print-fit");
    wrapper.style.transform = "scale(1)";
    wrapper.style.width = "100%";
}

function pdf(){

    render();

    $("preview").classList.add("active");

    requestAnimationFrame(()=>{

        applyPrintFit();

        setTimeout(()=>{

            window.print();

        },250);

    });

}

window.addEventListener("afterprint", resetPrintFit);

/* CSV EXPORT */

function csvIndir(){

    const rows = [["Alan","Bilgi"]];

    for(let id in fields){

        let value = $(id).value || "";

        if(id === "planlananTarih" && value){

            const parts = value.split("-");

            if(parts.length === 3){

                value =
                    `${parts[2]}.${parts[1]}.${parts[0]}`;

            }

        }

        value = value
            .replace(/\r\n/g,"\n")
            .replace(/\r/g,"\n");

        rows.push([
            fields[id],
            value
        ]);

    }

    const csv =
        "\uFEFF" +
        rows.map(r =>
            r.map(v =>
                `"${String(v).replace(/"/g,'""')}"`
            ).join(";")
        ).join("\r\n");

    const blob = new Blob(
        [csv],
        {
            type:"text/csv;charset=utf-8;"
        }
    );

    const a = document.createElement("a");

    a.href = URL.createObjectURL(blob);

    a.download = "change_management_form.csv";

    document.body.appendChild(a);

    a.click();

    document.body.removeChild(a);

}

/* CSV IMPORT */

function csvIceriAktar(event){

    const file = event.target.files[0];

    if(!file) return;

    const reader = new FileReader();

    reader.onload = function(e){

        const text = e.target.result;

        const rows = [];

        let current = "";
        let row = [];
        let insideQuotes = false;

        for(let i = 0; i < text.length; i++){

            const char = text[i];
            const next = text[i + 1];

            if(char === '"'){

                if(insideQuotes && next === '"'){

                    current += '"';
                    i++;

                }else{

                    insideQuotes = !insideQuotes;

                }

            }

            else if(char === ";" && !insideQuotes){

                row.push(current);
                current = "";

            }

            else if(
                (char === "\n" || char === "\r")
                && !insideQuotes
            ){

                if(current !== "" || row.length){

                    row.push(current);

                    rows.push(row);

                    row = [];
                    current = "";

                }

            }

            else{

                current += char;

            }

        }

        if(current !== "" || row.length){

            row.push(current);
            rows.push(row);

        }

        rows.slice(1).forEach(cols=>{

            if(cols.length < 2) return;

            const alan =
                cols[0]
                .replace(/\r/g,"")
                .replace(/"/g,"")
                .trim();

            const bilgi =
                cols[1]
                .replace(/\r/g,"")
                .replace(/"/g,"")
                .trim();

            for(let id in fields){

                if(fields[id] === alan){

                    /* TARİH */

                    if(id === "planlananTarih"){

                        let tarih = bilgi;

                        if(tarih.includes(".")){

                            const parts = tarih.split(".");

                            if(parts.length === 3){

                                const gun =
                                    parts[0].padStart(2,"0");

                                const ay =
                                    parts[1].padStart(2,"0");

                                const yil =
                                    parts[2];

                                tarih =
                                    `${yil}-${ay}-${gun}`;

                            }

                        }

                        else if(tarih.includes("/")){

                            const parts = tarih.split("/");

                            if(parts.length === 3){

                                const gun =
                                    parts[0].padStart(2,"0");

                                const ay =
                                    parts[1].padStart(2,"0");

                                const yil =
                                    parts[2];

                                tarih =
                                    `${yil}-${ay}-${gun}`;

                            }

                        }

                        $(id).value = tarih;

                    }

                    /* DİĞER ALANLAR */

                    else{

                        $(id).value = bilgi;

                    }

                    /* TEXTAREA HEIGHT */

                    if($(id).tagName === "TEXTAREA"){

                        $(id).style.height = "auto";

                        $(id).style.height =
                            $(id).scrollHeight + "px";

                    }

                }

            }

        });

        alert("CSV içeriği başarıyla aktarıldı.");

    };

    reader.readAsText(file,"utf-8");

}

</script>

</body>
</html>

Kaynaklar:
* ChatGPT