> ## Documentation Index
> Fetch the complete documentation index at: https://docs.azalt.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Import

> Sisteme toplu veri aktarımını takip eden içe aktarma yürütme kayıtları

Import, bir ImportDefinition'ın bireysel yürütmesini temsil eder. Her Import kaydı, toplu veri içe aktarma işleminin durumunu, ilerlemesini ve meta verilerini takip eder.

## Temel Amaç

* **Yürütme Takibi**: Her işlemci çalıştırmasını kaydeder
* **Durum Yönetimi**: Beklemeden tamamlandı/başarısız durumuna ilerlemeyi takip eder
* **Denetim İzi**: İçe aktarmaları kullanıcılara ve kuruluşlara bağlar
* **Hata İşleme**: İçe aktarmalar başarısız olduğunda hata mesajlarını saklar

## Varlık Yapısı

```
Import {
  id: "imp-...",
  importDefinitionId: "impdef-...",  // Kullanılan tanım
  userId: "user-...",                 // İçe aktarmayı kim yürüttü
  organizationId: "org-...",          // Kuruluş bağlamı
  rowCount: 150,                      // Kaynak dosyadaki toplam satır
  status: "completed",                // pending, processing, completed, failed
  error: null,                        // Başarısız olduysa hata mesajı
  processedAt: "2024-01-15T10:30:00Z" // İşlemenin tamamlandığı zaman
}
```

## İçe Aktarma Yaşam Döngüsü

**1. Oluşturma**: Kullanıcı içe aktarmayı başlattığında Import kaydı oluşturulur

**2. İşleme**: Yürütme sırasında durum "processing" olur

**3. Tamamlanma**: Durum processedAt zaman damgasıyla "completed" olur

**4. Başarısızlık**: Durum "failed" olur ve hata mesajı kaydedilir

## Durum Değerleri

| Durum        | Açıklama                                    |
| ------------ | ------------------------------------------- |
| `pending`    | İçe aktarma oluşturuldu ama henüz başlamadı |
| `processing` | Şu anda satırlar işleniyor                  |
| `completed`  | Başarıyla tamamlandı                        |
| `failed`     | Bir hatayla karşılaşıldı                    |

## İlişkiler

**ImportDefinition**: Her Import, dönüşüm kuralları için bir ImportDefinition kullanır

**User**: Hangi kullanıcının içe aktarmayı başlattığını takip eder

**Organization**: İçe aktarmayı bir kuruluşla sınırlandırır

**ImportResult**: Bir Import'un birçok ImportResult kaydı olabilir (site/dönem başına bir)

## Satır Sayısı

`rowCount` alanı, işlemeden önce kaynak dosyadaki toplam satır sayısını saklar. Bu şunları takip etmeye yardımcı olur:

* Ne kadar veri sağlandı
* İşleme sırasında ilerleme
* Üretilen gerçek sonuçlarla karşılaştırma

## Hata İşleme

Bir içe aktarma başarısız olduğunda, error alanı ayrıntıları içerir:

```json theme={null}
{
  "status": "failed",
  "error": "Geçersiz sütun eşlemesi: 'tuketim' kaynak dosyada bulunamadı"
}
```

Yaygın hata senaryoları:

* Eksik gerekli sütunlar
* Geçersiz veri türleri
* İşlemci kodu hataları
* Veritabanı kısıtlama ihlalleri

## Erişim Kontrolü

* İçe aktarmalar RLS politikaları aracılığıyla kuruluşlara sınırlandırılır
* Kullanıcılar yalnızca mevcut kuruluşlarındaki içe aktarmaları görebilir
* Yürüten kullanıcı kaydedilir ancak erişimi kısıtlamaz

## İçe Aktarmaları Sorgulama

**Bir kuruluş için son içe aktarmalar**:

```sql theme={null}
SELECT * FROM "Import"
WHERE "organizationId" = 'org-123'
ORDER BY "createdAt" DESC
LIMIT 10;
```

**Başarısız içe aktarmalar**:

```sql theme={null}
SELECT * FROM "Import"
WHERE status = 'failed'
  AND "organizationId" = 'org-123';
```

## İlgili Varlıklar

* [ImportDefinition](/tr/concepts/import-definition): Dönüşüm kurallarını tanımlar
* [ImportResult](/tr/concepts/import-result): İçe aktarmadan site başına sonuçlar
* [FormElementSubmission](/tr/concepts/form-element-submission): İçe aktarma tarafından oluşturulan değerler
