diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index a116a9c..e5f7a5d 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -1166,3 +1166,11 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö - Altı tarayıcı kontrolü geçti: başlangıç kaynak onayı, değişen ID üzerinden kazananın açık dosyaya yansıması, önceki onayın geçersiz olması, 125,50 TL birim fiyat / 251,00 TL satır toplamının korunması, çıktı düğmesinin kapalı kalması ve yeni kayıt üzerinden taslak kaydının sunucu onayı. Kanıt `rapor/qa-open-bid-source-update.json`. - Bu düzenekte firma/belge eksikleri de vardı; kapalı çıktı düğmesi tek başına kazanan kontrolünü kanıtlamaz. Kazanan uyarısının görünmesi ve kaynak onayının değişmesi doğrudan doğrulandı. Henüz başlayan PDF/Excel üretimi sırasında kaynak değişimi veya tam hazırdan engelliye geçiş kabulü yapılmadı. - Yalnız QA düzeneği değişti; önceki 274 test ve build sonucu geçerli, tekrarlanmadı. Test sekmesi ve bu çalışmanın geçici sunucusu kapatıldı. İlk düzeneğin ReactDOM import hatası test sırasında düzeltildi. Genel plan ve resmi beş dosya kabulü açık. + + +### 2026-09-06 — Hazır dosyada asenkron çıktı ve kaynak değişimi + +- Tam hazırlanmış sentetik taslak için QA düzeneği eklendi. İsteğe bağlı tek belge uygulanmıyor gerekçesiyle işaretli; firma, fiyat, kaynak ve ürün kontrolleri dolu. Bu veri resmi başvuru uygunluğu kanıtı değildir. Düzenek açılırken ortak hazırlık özeti sıfır eksik koşulunu doğruluyor. +- Görünür kontrollerle belge GET yanıtı bekletildi. Başlangıçta kaynak onayı işaretli ve cetvel çıktı düğmesi etkinken üretim başlatıldı; aynı İKN için farklı ID/başlık/kazanan yayımlandıktan sonra yanıt bırakıldı. Üretim “Form, kaynak veya oturum değişti” mesajıyla kesildi, kaynak onayı kalktı, çıktı düğmesi kapandı ve 251,00 TL toplam korundu. Altı kontrolün tamamı geçti: `rapor/qa-ready-bid-source-race.json`. +- Belge kontrol penceresindeki erken Yazdır/PDF düğmesi kaldırıldı; düğme yalnız hazırlanmış belge pencereye yazıldığında ekleniyor. Yardımcı işlevin yanlış otomatik yazdırma açıklaması düzeltildi. Regresyon testi bekleme ekranında yazdırma eyleminin olmadığını, aynı pencerenin hazır belgeyle değiştiğini ve kapatılan pencerenin reddedildiğini doğruluyor. +- 275 test ve üretim derlemesi başarılı. Mevcut büyük paket uyarısı devam ediyor. Tarayıcı sekme aracı çıktı penceresini listelemedi; pencerenin görsel içeriği ve diskte dosya oluşmaması doğrudan gözlenmedi. Doğrulanan kabul, hazır dosyanın belge kontrolünden dönüşte kaynak değişimini yakalayıp üretim hata dalına geçmesidir. Çok sayfalı PDF görsel kabulü ve gerçek beş ihale dosyası hâlâ açık. diff --git a/src/components/BidPackageBuilder.jsx b/src/components/BidPackageBuilder.jsx index 5a2f137..8049e36 100644 --- a/src/components/BidPackageBuilder.jsx +++ b/src/components/BidPackageBuilder.jsx @@ -180,7 +180,7 @@ export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocu if(initialDeadlineProblem)throw new Error(initialDeadlineProblem); if (!hazir) throw new Error('Kalem, miktar, birim, fiyat, firma ve geçerlilik süresindeki eksikleri giderin.'); // Open during the click; async validation must not lose popup activation. - printWindow.current = belgeYazdir('Dosya kontrolü', '
Belgeler kontrol ediliyor…
'); + printWindow.current = belgeYazdir('Dosya kontrolü', 'Belgeler kontrol ediliyor…
', undefined, {pending:true}); setPrinting(true); const linkedPortfolio=lotSelection.rows.some(row=>checks.products?.[row.priceKey]?.portfolioId); const readPortfolio=async()=>linkedPortfolio ? (await getAllUserData()).firma_profil?.scrapedCapabilities?.healthPortfolio || [] : []; diff --git a/src/services/bidDocs.js b/src/services/bidDocs.js index ad01456..8d805a6 100644 --- a/src/services/bidDocs.js +++ b/src/services/bidDocs.js @@ -83,19 +83,19 @@ const STIL = ` @media print { .yazdirma { display: none; } } `; -/** Belgeyi kendi penceresinde açıp yazdırma diyaloğunu tetikler. */ -export function belgeYazdir(baslik, govde, existingWindow) { +/** Belgeyi kendi penceresinde açar; kullanıcı hazır belgeyi yazdırabilir. */ +export function belgeYazdir(baslik, govde, existingWindow, {pending = false} = {}) { const w = existingWindow || window.open('', '_blank', 'width=900,height=1000'); if (!w) throw new Error('Tarayıcı yeni pencereyi engelledi. Açılır pencere iznini verip tekrar deneyin.'); if(w.closed) throw new Error('Çıktı penceresi kapatıldı. Yeniden deneyin.'); w.document.open(); w.document.write(`