Tworzę wydruk tekstowy w XML-u (kwitek wypłaty)
póki co mam napisany taki kod:
[SQL] @PAR ?@Hs200_NQ|Filtr:''@? PAR@ @PAR ?@Hs200_NQ|CDN_PrintDevice:''@? PAR@ @PAR ?@Hs200_NQ|CDN_PrinterType:''@? PAR@ @PAR ?@Hs200_NQ|CDN_PrinterCodePage:''@? PAR@ @PAR ?@Hs200_NQ|CDN_PrinterBuffer:''@? PAR@ @PAR ?@Hs200_NQ|CDN_Urzadzenie:''@? PAR@ @PAR ?@Hs100_NQ|CDN_Firma4:''@? PAR@ @PAR ?@Hs100_NQ|CDN_Firma5:''@? PAR@ @PAR ?@Hs50_NQ|CDN_FMiasto2:''@? PAR@ @PAR ?@Hs50_NQ|CDN_FUlica2:''@? PAR@ @PAR ?@Hs13_NQ|CDN_FNip:''@? PAR@ @PAR ?@Hs50_NQ|CDN_Operator:''@? PAR@ Select DataWydr = Convert(char(10), Getdate() , 120), MiesiacB=substring((Convert(char(10), Getdate() , 120)),6,2), Operator = ??_DQ_CDN_Operator SELECT PRE_Nazwisko, PRE_Imie1, PRE_Pesel, PRE_ETAEtatl, PRE_ETAEtatM, PRE_KodKasyChorych, RpZ2_GUID, PRE_PreId, PRE_PraId, PRE_Kod, PRE_DataDo, LPL_LplId, LPL_DataOd=Convert(char(10), LPL_DataOd , 120), LPL_DataDo=Convert(char(10), LPL_DataDo , 120), LPL_Rok, LPL_Miesiac, LPL_DataDok, LPL_Kategoria, PRE_DataOd, WPL_DataDok, WPL_NumerPelny, PRE_ZestCzasuPracy, LPL_LplId, WPL_WplId, PRE_PreId, LPL_NumerPelny, WPE_SklZdrowSuma=sum(WPE_SklZdrowSuma), WPE_SklZdrowPrac=sum(WPE_SklZdrowPrac), WPL_Wartosc, WPE_PodstZdrow=sum(WPE_PodstZdrow) FROM ((CDN.PracEtaty INNER JOIN CDN.RptZaznaczenia2 ON PRE_PraId=RpZ2_GIDNumer) LEFT OUTER JOIN CDN.Wyplaty ON PRE_PraId=WPL_PraId) INNER JOIN CDN.ListyPlac ON WPL_LplId=LPL_LplId INNER JOIN CDN.WypElementy ON WPL_WplId=WPE_WplId INNER JOIN CDN.TypWyplata ON WPE_TwpId=TWP_TwpId WHERE PRE_DataOd<=WPL_DataDok AND PRE_DataDo>=WPL_DataDok and ??_NQFiltr group by PRE_Nazwisko, PRE_Imie1, PRE_Pesel, PRE_ETAEtatl, PRE_ETAEtatM, PRE_KodKasyChorych, RpZ2_GUID, PRE_PreId, PRE_PraId, PRE_Kod, PRE_DataDo, LPL_LplId, LPL_DataOd, LPL_DataDo, LPL_Rok, LPL_Miesiac, LPL_DataDok, LPL_Kategoria, PRE_DataOd, WPL_DataDok, WPL_NumerPelny, PRE_ZestCzasuPracy, LPL_LplId, WPL_WplId, PRE_PreId, LPL_NumerPelny, WPL_Wartosc i takie tam podobne... [XSL] <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method = "xml" omit-xml-declaration="yes"/> <xsl:preserve-space elements="*"/> <xsl:template match="/"> <xsl:for-each select="ROOT"> <xsl:value-of disable-output-escaping="yes" select="string('<?xml version="1.0" encoding="windows-1250"?>')"/> <ROOT> <RAPORT> <P type="number" name="@PAGELENGTH" value="60"/> <P type="text" name="@PRINTER" value="{??_QCDN_PrintDevice}"/> <P type="text" name="@PRINTERTYPE" value="{??_QCDN_PrinterType}"/> <P type="text" name="@CODEPAGE" value="{??_QCDN_PrinterCodePage}"/> <P type="text" name="@BUFERING" value="{??_QCDN_PrinterBuffer}"/> <P type="text" name="@VIEW" value="{??_QCDN_Urzadzenie}"/> <P type="text" name="Nazwisko"/> <P type="text" name="Imie"/> <P type="text" name="Pesel"/> <P type="text" name="EtatL"/> <P type="text" name="EtatM"/> <P type="text" name="Numerpelny"/> <P type="text" name="Rok"/> <P type="text" name="Kodkasych"/> <P type="text" name="ZatrudnionyOd"/> <P type="text" name="ZatrudnionyDo"/> <P type="text" name="PodstawaZdrow"/> <P type="text" name="ZdrowOd"/> <P type="text" name="ZdrowNetto"/> <RPT_HEADER> </RPT_HEADER> . . . <PG_HEADER> </PG_HEADER> <xsl:apply-templates select="RECORDSET1"/> <xsl:apply-templates select="RECORDSET2"/> . . . <RPT_FOOTER> </RPT_FOOTER> <PG_FOOTER> </PG_FOOTER> <E> <L/><L/> <L/><L/> <L> <F width="150" value="+---------------------------------------------------------------------------------------------------+-------------------------+"/> </L> <L> <F width="1" value="|"/> <F width="14" align="right" value="Pracownik:"/> <F width="1" value=" "/> <F width="84" calc="TRUE" value="@Imie+' '+@Nazwisko" align="left"/> <F width="1" value="|"/> <F width="7" value="Podpis:"/> <F width="1" value=" "/> <F width="17" align="center" value="..........."/> <F width="1" value="|"/> </L> <L> <F width="150" value="+---------------------------------------------------------------------------------------------------+-------------------------+"/> </L> <L> <F width="1" value="|"/> <F width="14" align="right" value="Za okres:"/> <F width="32" calc="TRUE" align="right" value="@ZatrudnionyOd+' - '+ @ZatrudnionyDo"/> <F width="1" value="|"/> <F width="25" align="right" value="Symbol:"/> <F width="27" calc="TRUE" align="right" value=" @Numerpelny"/> <F width="1" value="|"/> <F width="19" align="left" value="Narastająco w roku:"/> <F width="6" calc="TRUE" align="center" value="@Rok"/> <F width="1" value="|"/> </L> <L> <F width="1" value="|"/> <F width="14" align="right" value="PESEL:"/> <F width="32" calc="TRUE" align="right" value="@Pesel"/> <F width="1" value="|"/> <F width="25" align="right" value="Tytuł ubezpieczenia:"/> <F width="27" align="right" value=""/> <F width="1" value="|"/> <F width="19" align="left" value="Podstawa podatku:"/> <F width="6" calc="TRUE" align="right" value="@DochodPodst"/> <F width="1" value="|"/> </L> i nadal podobne.... . . . <L/><L/><L/> <L/><L/> </E> </RAPORT> </ROOT> </xsl:for-each> </xsl:template> <xsl:template match="RECORDSET1"> <xsl:apply-templates select="RECORD" mode="r1"/> </xsl:template> <xsl:template match="RECORDSET2"> <xsl:apply-templates select="RECORD" mode="r2"/> </xsl:template> <xsl:template match="RECORD" mode="r1"> <P type="text" name="DataWydr"><xsl:attribute name="value"><xsl:value-of select="@DataWydr" /></xsl:attribute></P> <P type="text" name="Operator"><xsl:attribute name="value"><xsl:value-of select="@Operator" /></xsl:attribute></P> <P type="text" name="MiesiacB"><xsl:attribute name="value"><xsl:value-of select="@MiesiacB" /></xsl:attribute></P> </xsl:template> <xsl:template match="RECORD" mode="r2"> <D> <P type="text" name="Nazwisko"><xsl:attribute name="value"><xsl:value-of select="@PRE_Nazwisko" /></xsl:attribute></P> <P type="text" name="Imie"><xsl:attribute name="value"><xsl:value-of select="@PRE_Imie1" /></xsl:attribute></P> <P type="text" name="Pesel"><xsl:attribute name="value"><xsl:value-of select="@PRE_Pesel" /></xsl:attribute></P> <P type="text" name="EtatL"><xsl:attribute name="value"><xsl:value-of select="@PRE_ETAEtatl" /></xsl:attribute></P> <P type="text" name="EtatM"><xsl:attribute name="value"><xsl:value-of select="@PRE_ETAEtatM" /></xsl:attribute></P> <P type="text" name="Numerpelny"><xsl:attribute name="value"><xsl:value-of select="@WPL_NumerPelny" /></xsl:attribute></P> <P type="text" name="Rok"><xsl:attribute name="value"><xsl:value-of select="@LPL_Rok" /></xsl:attribute></P> <P type="text" name="Kodkasych"><xsl:attribute name="value"><xsl:value-of select="@PRE_KodKasyChorych" /></xsl:attribute></P> <P type="text" name="ZatrudnionyOd"><xsl:attribute name="value"><xsl:value-of select="@LPL_DataOd" /></xsl:attribute></P> <P type="text" name="ZatrudnionyDo"><xsl:attribute name="value"><xsl:value-of select="@LPL_DataDo" /></xsl:attribute></P> <P type="text" name="PodstawaZdrow"><xsl:attribute name="value"><xsl:value-of select="@WPE_PodstZdrow" /></xsl:attribute></P> <P type="text" name="ZdrowOd"><xsl:attribute name="value"><xsl:value-of select="@WPE_SklZdrowPrac" /></xsl:attribute></P> <P type="text" name="ZdrowNetto"><xsl:attribute name="value"><xsl:value-of select="@WPE_SklZdrowSuma" /></xsl:attribute></P> </D> </xsl:template> . . . </xsl:stylesheet> [RUN] printtxt.exe
I jak już odpalam ten plik to wynik otwiera mi się w notatniku, a chciałabym aby otwierał się w MSWORD. Jak już zmieniam
<xsl:output method = "xml" omit-xml-declaration="yes"/> na
<xsl:output method = "text" omit-xml-declaration="yes"/> to otwiera mi się word ale same w nim znaczki!!!
Ponadto chciałabym ustawic marginesy wydruku i to też mi jakoś nie chodzi:(
Pomóżcie o ile wogóle można to tak zrobic
dzięki i pozdrawiam