Web Uygulamasından Mikro ERP'ye Veri Kopyalama: Clipboard ile Hızlı Aktarım
Web dashboard'unuzdan Mikro ERP'ye veri aktarmak için Clipboard API nasıl kullanılır? Tek tıkla kopyala, Mikro'da yapıştır — el ile girişe son.
Sorun: Web’deki Listeyi Mikro’ya El İle Giriyorsunuz
Web dashboard’unuzda 50 satırlık bir sipariş listesi hazırladınız. Şimdi bunu Mikro ERP’ye girmeniz gerekiyor. Her satırı tek tek: stok kodu yaz, miktar gir, birim seç…
50 satır × 30 saniye = 25 dakika sıkıcı ve hatalı veri girişi.
Çözüm: Tek Tıkla Kopyala, Mikro’da Yapıştır
Web uygulamanıza bir “Mikro’ya Kopyala” butonu ekliyorsunuz. Butona tıklanınca veriler Mikro’nun anladığı formatta panoya kopyalanıyor. Mikro’da Ctrl+V yapıyorsunuz — bitti.
Web Dashboard → 📋 Tek tık kopyala → Mikro ERP'de Ctrl+V
50 satır 2 saniye 5 saniye
25 dakika → 7 saniye.
Mikro ERP Hangi Formatı Anlar?
Mikro ERP (ve Excel) tab-separated format kabul eder. Yani sütunlar arasında Tab karakteri olması yeterli:
Stok Kodu Stok Adı Miktar Birim
SERAMİK.001 Yer Seramiği 60x60 250.00 M2
FAYANS.012 Metro Fayans 10x30 180.00 M2
BOYA.045 İç Cephe Boyası 12.00 KOVA
Her sütun arasında bir Tab (\t) karakteri var. Excel veya Mikro’ya yapıştırdığınızda her sütun doğru yere oturur.
Nasıl Yapılır?
1. Veriyi Tab Formatına Çevirme
function mikroFormatinaCevir(urunler) {
// Başlık satırı
const baslik = ['Stok Kodu', 'Stok Adı', 'Miktar', 'Birim'];
// Her ürünü bir satıra çevir
const satirlar = urunler.map(urun => [
urun.stokKodu,
urun.stokAdi,
urun.miktar.toFixed(2),
urun.birim,
]);
// Tab ile birleştir
return [baslik, ...satirlar]
.map(satir => satir.join('\t'))
.join('\n');
}
2. Panoya Kopyalama
async function panoyaKopyala(metin) {
try {
await navigator.clipboard.writeText(metin);
return true;
} catch {
// Eski tarayıcılar için yedek yöntem
const alan = document.createElement('textarea');
alan.value = metin;
document.body.appendChild(alan);
alan.select();
document.execCommand('copy');
document.body.removeChild(alan);
return true;
}
}
3. React Butonu
function MikroKopyalaButonu({ urunler }) {
const [kopyalandi, setKopyalandi] = useState(false);
const kopyala = async () => {
if (urunler.length === 0) return;
const format = mikroFormatinaCevir(urunler);
await panoyaKopyala(format);
setKopyalandi(true);
setTimeout(() => setKopyalandi(false), 2000);
};
return (
<button onClick={kopyala} disabled={urunler.length === 0}>
{kopyalandi
? `✅ ${urunler.length} satır kopyalandı`
: `📋 Mikro'ya Kopyala (${urunler.length})`}
</button>
);
}
Kullanıcı Ne Yaşar?
1. Dashboard'da sipariş listesini filtreler
2. "Mikro'ya Kopyala" butonuna tıklar
3. "✅ 50 satır kopyalandı" mesajı görür
4. Mikro ERP'yi açar → Ctrl+V yapar
5. 50 satırlık veri doğru sütunlara oturur
💡 İpucu: Kopyalamadan önce kullanıcıya “şu veriler kopyalanacak” diye bir önizleme göstermek güvenliği artırır.
Dikkat Edilecek Noktalar
- HTTPS zorunlu: Clipboard API sadece güvenli bağlantılarda çalışır
- Kullanıcı tıklaması gerekli: Otomatik kopyalama yapılamaz, butona tıklama şart
- Birim dönüşümü: M2, ADET, KOVA gibi birimlerin Mikro’daki karşılıklarıyla eşleştiğinden emin olun
Bu Yaklaşım Basit Durumlar İçin Yeter
Tek formatta, tek filtreden kopyalama yapıyorsanız yukarıdaki kod yeterli.
Ama gerçek dünyada:
- Aktif filtreye göre kopyalanan kolonlar ve sıra değişebilir
- Birim dönüşümü gerekebilir (M2 ↔ ADET)
- “Stokta yok” durumdaki ürünleri otomatik hariç tutma
- Kim ne zaman kopyaladı — audit kaydı tutma
Biz bu sistemi sipariş karşılama modülümüze tam entegre ettik. İhtiyacınız olursa deneyimimizden faydalanabilirsiniz.
Bu yazı AstaFlow Case Study serisinin bir parçasıdır.