Не знаю, как принято в Вашей компании, но я обычно рекомендую клиентам создавать и отправлять проводки Главной Книги в модуле «Управление Запасами» по дням, а не одной проводкой за месяц, так гораздо проще выверять данные между Главной Книгой и «Управлением Запасами». И использую следующий простенький отчёт как некий инструмент для отслеживания дат, для которых имеются аналитические проводки, а проводки Главной Книги ещё не созданы. Разумеется, для этой цели подошел бы такой механизм, как «быстрый поиск» (Snap search), но я поделюсь с Вами именно отчётом, который при прочих равных ещё и является примером отчёта на разных языках.
Указываете параметр языка отчёта «Русский» и получаете заголовки отчёта по-русски:
А если параметр языка отчёта равен English, тогда все заголовки по-английски:
Хотите получить такой же? Просто заставьте Ваших технических специалистов проделать действия, которые я опишу ниже 🙂
Условия использования:
Отчёт поставляется «КАК ЕСТЬ» без каких-либо обязательств со стороны автора и возможности со стороны получателя предъявить какие-либо претензии. Вы НЕ можете убрать из отчёта ссылку на автора. Предполагается, что у Вас имеется iScala, а также установленный и настроенный соответствующим образом (работающий) сервер отчётов (компонент MS SQL Server Reporting Services. Если у Вас есть iScala, то и этот компонент у Вас тоже есть, его не нужно покупать, он входит в комплект сервера баз данных). Если Вы принимаете эти условия, тогда проделайте следующие шаги, чтобы отчёт заработал на Вашем сервере отчётов.
Сначала скопируйте текст с кодом отчёта и вставьте его в Блокнот:
<?xml version="1.0" encoding="utf-8"?> <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> <Body> <ReportItems> <Tablix Name="Tablix1"> <TablixBody> <TablixColumns> <TablixColumn> <Width>1.5748in</Width> </TablixColumn> <TablixColumn> <Width>1.9685in</Width> </TablixColumn> </TablixColumns> <TablixRows> <TablixRow> <Height>0.25in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="ReportHeader"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=IIF(Parameters!Language.Value="ENG","Unposted SC GL Transactions", "Несозданные проводки ГК модуля УЗ")</Value> <Style> <FontWeight>Bold</FontWeight> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <Style> <Border> <Style>None</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <ColSpan>2</ColSpan> </CellContents> </TablixCell> <TablixCell /> </TablixCells> </TablixRow> <TablixRow> <Height>0.25in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="TransationDateHeader"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=IIF(Parameters!Language.Value="ENG","Transation Date","Дата проводки")</Value> <Style> <FontSize>11pt</FontSize> <FontWeight>Bold</FontWeight> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <Style> <Border> <Style>Solid</Style> </Border> <TopBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </TopBorder> <BottomBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </BottomBorder> <LeftBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </LeftBorder> <RightBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </RightBorder> <BackgroundColor>Yellow</BackgroundColor> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TransationLinesCountHeader"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=IIF(Parameters!Language.Value="ENG","Transation Lines","Количество строк")</Value> <Style> <FontSize>11pt</FontSize> <FontWeight>Bold</FontWeight> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <Style> <Border> <Style>Solid</Style> </Border> <BackgroundColor>Yellow</BackgroundColor> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.19685in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="TransationDate"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!TransationDate.Value</Value> <Style> <FontSize>11pt</FontSize> <Format>dd.MM.yyyy</Format> </Style> </TextRun> </TextRuns> <Style /> </Paragraph> </Paragraphs> <rd:DefaultName>TransationDate</rd:DefaultName> <Style> <Border> <Style>Solid</Style> </Border> <TopBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </TopBorder> <BottomBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </BottomBorder> <LeftBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </LeftBorder> <RightBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </RightBorder> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TransationLinesCount"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!TransationLinesCount.Value</Value> <Style> <FontSize>11pt</FontSize> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TransationLinesCount</rd:DefaultName> <Style> <Border> <Style>Solid</Style> </Border> <TopBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </TopBorder> <BottomBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </BottomBorder> <LeftBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </LeftBorder> <RightBorder> <Color>Black</Color> <Style>Solid</Style> <Width>1pt</Width> </RightBorder> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.25in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Copyrights"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=IIF(Parameters!Language.Value="ENG","Designed by Alexey Vasilyev", "Автор отчёта: Алексей Васильев") & " © 2013"</Value> <Style> <FontSize>6pt</FontSize> <TextDecoration>Underline</TextDecoration> <Color>DarkBlue</Color> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Right</TextAlign> </Style> </Paragraph> </Paragraphs> <ActionInfo> <Actions> <Action> <Hyperlink>/module/ssrs/</Hyperlink> </Action> </Actions> </ActionInfo> <ToolTip>=IIF(Parameters!Language.Value="ENG","Click to learn more","Щелкните, чтобы узнать больше")</ToolTip> <Style> <Border> <Style>None</Style> </Border> <VerticalAlign>Bottom</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <ColSpan>2</ColSpan> </CellContents> </TablixCell> <TablixCell /> </TablixCells> </TablixRow> </TablixRows> </TablixBody> <TablixColumnHierarchy> <TablixMembers> <TablixMember /> <TablixMember /> </TablixMembers> </TablixColumnHierarchy> <TablixRowHierarchy> <TablixMembers> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <Group Name="Details" /> </TablixMember> <TablixMember> <KeepWithGroup>Before</KeepWithGroup> </TablixMember> </TablixMembers> </TablixRowHierarchy> <DataSetName>SQL</DataSetName> <Height>0.94685in</Height> <Width>3.54331in</Width> <Style> <Border> <Style>None</Style> </Border> </Style> </Tablix> </ReportItems> <Height>2.405cm</Height> <Style /> </Body> <Width>9cm</Width> <Page> <PageHeight>29.7cm</PageHeight> <PageWidth>21cm</PageWidth> <LeftMargin>2cm</LeftMargin> <RightMargin>2cm</RightMargin> <TopMargin>2cm</TopMargin> <BottomMargin>2cm</BottomMargin> <ColumnSpacing>1.27cm</ColumnSpacing> <Style /> </Page> <Description>Отчёт показывает даты, для которых не созданы проводки Главной Книги модуля "Управление Запасами"</Description> <AutoRefresh>0</AutoRefresh> <DataSources> <DataSource Name="scalaDB"> <DataSourceReference>YourDataBaseName</DataSourceReference> <rd:SecurityType>None</rd:SecurityType> <rd:DataSourceID>255e978f-52bd-4891-a3db-70550861b56c</rd:DataSourceID> </DataSource> </DataSources> <DataSets> <DataSet Name="SQL"> <Query> <DataSourceName>scalaDB</DataSourceName> <CommandText>="select SC07002 as TransationDate, count(*) as TransationLinesCount from SC07" & Parameters!CC.Value & "00 (nolock) where SC07016<>1 and SC07005<>0 and SC07001<> '09' group by SC07002 order by SC07002"</CommandText> </Query> <Fields> <Field Name="TransationDate"> <DataField>TransationDate</DataField> <rd:TypeName>System.DateTime</rd:TypeName> </Field> <Field Name="TransationLinesCount"> <DataField>TransationLinesCount</DataField> <rd:TypeName>System.Int32</rd:TypeName> </Field> </Fields> </DataSet> <DataSet Name="Companies"> <Query> <DataSourceName>scalaDB</DataSourceName> <CommandText>select CompanyCode as CC, CompanyCode + ' - ' + CompanyName as CName from ScaCompanies (nolock)</CommandText> </Query> <Fields> <Field Name="CC"> <DataField>CC</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="CName"> <DataField>CName</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> </Fields> </DataSet> </DataSets> <ReportParameters> <ReportParameter Name="CC"> <DataType>String</DataType> <Prompt>Company / Компания</Prompt> <ValidValues> <DataSetReference> <DataSetName>Companies</DataSetName> <ValueField>CC</ValueField> <LabelField>CName</LabelField> </DataSetReference> </ValidValues> </ReportParameter> <ReportParameter Name="Language"> <DataType>String</DataType> <DefaultValue> <Values> <Value>RUS</Value> </Values> </DefaultValue> <Prompt>Language / Язык отчёта</Prompt> <ValidValues> <ParameterValues> <ParameterValue> <Value>ENG</Value> <Label>English</Label> </ParameterValue> <ParameterValue> <Value>RUS</Value> <Label>Русский</Label> </ParameterValue> </ParameterValues> </ValidValues> </ReportParameter> </ReportParameters> <rd:ReportUnitType>Cm</rd:ReportUnitType> <rd:ReportID>3ec5f5de-7ad0-4024-8580-c40d99578705</rd:ReportID> </Report>
Подробно по шагам с картинками:
Вставим код отчёта в блокнот:
Сохраним как файл с расширением .rdl
Имя файла: с расширением .rdl (Report Definition Language — Язык определения отчёта)
Тип файла: *.* (не .txt!!!)
Кодировка: UTF-8
Теперь всё готово к публикации отчёта, но сначала я советую создать общий источник данных, если он у Вас ещё не создан.
После создания источника данных опубликуйте отчёт на сервере отчётов
Не забудьте дать права на папку с отчётом для соответствующей группы пользователей