Pokaż
Ignoruj:
Data:
2009-01-13 14:33:44 (17 years ago)
Autor:
marek
Opis:

re #4 - kompletny raport SzacowanieSprzedazy?.rdl

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/RaportySQL/SzacowanieSprzedazy.rdl

    r156 r164  
    163163        <DataSourceName>BAZA_REKLAM</DataSourceName> 
    164164        <CommandText>SELECT        Id_agencji, Symbol 
    165 FROM            AGENCJE where aktywna=1 and (@prawa_agencje is null or @prawa_agencje= Id_agencji)</CommandText> 
     165FROM            AGENCJE where aktywna=1 and (@prawa_agencje is null or @prawa_agencje= Id_agencji) 
     166UNION  
     167SELECT NULL, 'Wszystkie'</CommandText> 
    166168        <QueryParameters> 
    167169          <QueryParameter Name="@prawa_agencje"> 
     
    174176    <DataSet Name="ListaAgentow"> 
    175177      <Fields> 
    176         <Field Name="ID_AGENTA"> 
    177           <DataField>ID_AGENTA</DataField> 
     178        <Field Name="ID"> 
     179          <DataField>ID</DataField> 
    178180          <rd:TypeName>System.Int32</rd:TypeName> 
    179181        </Field> 
     
    183185        </Field> 
    184186        <Field Name="agencja"> 
    185           <DataField>agencja</DataField> 
     187          <DataField>Agencja</DataField> 
    186188          <rd:TypeName>System.String</rd:TypeName> 
    187189        </Field> 
     
    189191      <Query> 
    190192        <DataSourceName>BAZA_REKLAM</DataSourceName> 
    191         <CommandText>SELECT        A.ID_AGENTA, A.Symbol, A2.Symbol agencja 
    192 FROM            AGENCI A left join Agencje A2 
    193 on A.ID_AGENCJI = A2.ID_Agencji 
    194  where aktywny=1 AND  (A2.Symbol in (@agencja) OR A2.Symbol is null) AND (@prawa_agent is null OR A.Symbol=@prawa_agent) 
    195 order by A.Symbol</CommandText> 
     193        <CommandText>DECLARE @Agents TABLE 
     194( 
     195ID int, 
     196Symbol nvarchar(50), 
     197Agencja nvarchar(50) 
     198) 
     199 
     200INSERT INTO @Agents(ID, Symbol, Agencja) 
     201SELECT  
     202A.ID_AGENTA,  
     203A.Symbol,  
     204A2.Symbol agencja 
     205FROM AGENCI A  
     206LEFT JOIN Agencje A2 ON A.ID_AGENCJI = A2.ID_Agencji  
     207WHERE aktywny=1  
     208AND  (A2.Symbol in (@agencja) OR A2.Symbol is null)  
     209AND (@prawa_agent is null OR A.Symbol=@prawa_agent) 
     210 
     211IF @agencja='Wszystkie' 
     212INSERT INTO @Agents(ID, Symbol, Agencja) VALUES (NULL, 'Wszyscy', NULL) 
     213 
     214SELECT * FROM @Agents ORDER BY Symbol 
     215--UNION 
     216--select NULL,'Wszyscy','costam' 
     217--ORDER BY A.Symbol</CommandText> 
    196218        <QueryParameters> 
    197219          <QueryParameter Name="@agencja"> 
     
    238260      <Query> 
    239261        <DataSourceName>BAZA_REKLAM</DataSourceName> 
    240         <CommandText>SELECT 
     262        <CommandText>DECLARE @Agents TABLE 
     263( 
     264        symbol nvarchar(25) 
     265) 
     266 
     267IF @agencja='Wszystkie' 
     268        BEGIN    
     269        INSERT INTO @Agents(symbol) 
     270        SELECT symbol FROM AGENCI WHERE aktywny=1 
     271        END 
     272--ELSE 
     273--IF @agent='Wszyscy' 
     274--      BEGIN    
     275--      INSERT INTO @Agents(symbol) 
     276--      SELECT A.symbol FROM AGENCI A INNER JOIN AGENCJE AG ON A.ID_AGENCJI = AG.ID_AGENCJI WHERE A.aktywny=1 --and AG.symbol in (@agencja) 
     277--      END 
     278 
     279SELECT 
    241280R.ReklamaID AS ReklmaID, 
    242281K.kodKlienta as KodKilenta,  
     
    247286ROUND(COALESCE(SUM([cena jedn] - [rabat wartość]), 0), 2) AS Suma   
    248287FROM [ukaże się w nr] E  
    249 inner join Reklama R on E.ReklamaID=R.ReklamaID 
    250 inner join NR N on E.[Nr Wydania]=N.NRW and R.[TYTUŁ] = N.TYT 
    251 inner join Zamowienia Z ON R.idZamowienia = Z.idZamowienia 
    252 inner join Klienci K on K.CustomerID = Z.idKlienta  
     288INNER JOIN Reklama R on E.ReklamaID=R.ReklamaID 
     289INNER JOIN NR N on E.[Nr Wydania]=N.NRW and R.[TYTUŁ] = N.TYT 
     290INNER JOIN Zamowienia Z ON R.idZamowienia = Z.idZamowienia 
     291INNER JOIN Klienci K on K.CustomerID = Z.idKlienta  
    253292WHERE E.zafakturowana=0 
    254 and MONTH(N.Data_W) in (@ms)  
    255 and R.[symbol akwizytora] in (@agent)  
    256 and Z.rokZamowienia = @rok 
     293AND MONTH(N.Data_W) in (@ms)  
     294AND ((R.[symbol akwizytora] in (@agent))  OR (R.[symbol akwizytora] COLLATE SQL_Latin1_General_CP1250_CI_AS in (select symbol COLLATE SQL_Latin1_General_CP1250_CI_AS from @Agents))) 
     295AND Z.rokZamowienia = @rok 
    257296GROUP BY  
    258297R.ReklamaID, K.kodKlienta, Z.nrZamowienia, Z.kodAgenta, Z.rokZamowienia, R.[ID Reklamy]</CommandText> 
    259298        <QueryParameters> 
    260           <QueryParameter Name="@ms"> 
    261             <Value>=Parameters!ms.Value</Value> 
     299          <QueryParameter Name="@agencja"> 
     300            <Value>=Parameters!agencja.Value</Value> 
    262301          </QueryParameter> 
    263302          <QueryParameter Name="@agent"> 
    264303            <Value>=Parameters!agent.Value</Value> 
     304          </QueryParameter> 
     305          <QueryParameter Name="@ms"> 
     306            <Value>=Parameters!ms.Value</Value> 
    265307          </QueryParameter> 
    266308          <QueryParameter Name="@rok"> 
     
    658700        <CanGrow>true</CanGrow> 
    659701        <Height>0.63492cm</Height> 
    660         <Value>="Szacowanie sprzedazy " &amp; Parameters!rok.Value &amp; "  " &amp; Code.GetMonths(Parameters!ms)</Value> 
     702        <Value>="Szacowanie niezafakturowanej sprzedaży " &amp; Parameters!rok.Value &amp; "  " &amp; Code.GetMonths(Parameters!ms)</Value> 
    661703      </Textbox> 
    662704    </ReportItems>