Merhabalar
Netsis içinde e-faturaları dışa aktarmak zor olabiliyor. Aşağıdaki sorgu ile fatura xmllerini zip formatında export edebilirsiniz.
DECLARE @KAYITEDILECEKKLASOR NVARCHAR(2000);
DECLARE @DOSYAADI NVARCHAR(2000);
DECLARE @OBJ INT
DECLARE @FATURATARIHI NVARCHAR(100);
DECLARE @FATURANO NVARCHAR(100);
DECLARE @ETTN NVARCHAR(100);
DECLARE @XML VARBINARY(MAX);
SET @KAYITEDILECEKKLASOR = 'C:\Efaturalar'
SET NOCOUNT ON
DECLARE KURSOR CURSOR
FOR
SELECT
EFATURA.TARIH,
EFATURA.FATIRS_NO,
EFATURA.UUID,
CONVERT(VARBINARY(MAX), EFATZARF.XMLBYTES, 1)
FROM TBLEFATURA EFATURA WITH (NOLOCK)
INNER JOIN TBLEFATZARF EFATZARF WITH (NOLOCK) ON (EFATZARF.ZARFID=EFATURA.ZARFID)
WHERE 1=1
AND EFATZARF.SUBE_KODU=1
AND EFATZARF.DURUM != '1230'
AND EFATURA.TARIH BETWEEN '01/01/2021' AND '12/31/2021 00:00'
AND (ISNULL(EFATURA.YEDEK4,0) <>3)
AND (EFATURA.FTIRSIP='1' OR EFATURA.FTIRSIP='P' OR EFATURA.FTIRSIP='3')
AND EFATZARF.TIP=1
AND ISNULL(EFATZARF.FTIRSIP,' ') NOT IN ('3','4')
ORDER BY EFATURA.TARIH DESC
OPEN KURSOR
FETCH NEXT FROM KURSOR INTO @FATURATARIHI,@FATURANO,@ETTN,@XML
WHILE @@FETCH_STATUS = 0
BEGIN
SET @DOSYAADI = @KAYITEDILECEKKLASOR+ '\'+ CONVERT(VARCHAR(2), MONTH(@FATURATARIHI)) + '-'+ @FATURANO + '.zip';
EXEC sp_OACreate 'ADODB.Stream',@OBJ OUTPUT;
EXEC sp_OASetProperty @OBJ,'Type',1;
EXEC sp_OAMethod @OBJ,'Open';
EXEC sp_OAMethod @OBJ,'Write',NULL,@XML;
EXEC sp_OAMethod @OBJ,'SaveToFile',NULL,@DOSYAADI,2;
EXEC sp_OAMethod @OBJ,'Close';
EXEC sp_OADestroy @OBJ;
FETCH NEXT FROM KURSOR INTO @FATURATARIHI,@FATURANO,@ETTN,@XML
END
CLOSE KURSOR
DEALLOCATE KURSOR
Yorumlar
Yorum Gönder