Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75

Период, за который формируется отчет

19.08.2013, 16:04. Показов 2856. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Нужно сделать отчет за определенный период.
Вводимые параметры ЛС и период времени. То есть надо сделать чтобы пользователь вводил дату начало периода и конец периода. И потом мне уже сделать выборку с таблиц для составления отчета.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.08.2013, 16:04
Ответы с готовыми решениями:

Отчёт не формируется за указанный период (СКД)
Здравсвуйте. Отчёт сконструирован через СКД: Текст запроса: ВЫБРАТЬ ОптовыеПродажи.Наименование, ...

Как распечатать отчет который нормально формируется
Отчет формируется нормально, все устраивает, когда нажимаю на кнопку принтера печатаются только надписи, такое ощущение, что данные из...

Отчет в 1С:Бух, который выберет суммы НДС за период по счету 10.05
Всем доброго дня. Только начал изучать 1С. Подскажите, что почитать, куда заглянуть, что сделать. Задача: создать новый отчет в 1С:Бух,...

9
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 02:36
SpiritAbsolute, сделайте хранимую процедуру с тремя входными параметрами и внутри сделайте запрос на то, что вам нужно выбрать
так:
SQL
1
2
3
4
5
6
7
8
9
10
CREATE PROCEDURE ProcedureName
    @Account INT,
    @DateStart DATE,
    @DateEnd DATE
AS
BEGIN
    SET NOCOUNT ON;
    SELECT * FROM [YourTable] WHERE [AccountField] = @Account AND [DateField] BETWEEN @DateStart AND @DateEnd
END
GO
1
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 10:26  [ТС]
WHERE [AccountField] = @Account AND [DateField] BETWEEN @DateStart AND @DateEnd
Можешь, пожалуйста, по подробнее вот это разъяснить! С датами этими пока что непонятки... Что значит [AccountField] и[DateField] BETWEEN
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 11:05
Ты сказал вводимые параметры это лс (лицевой счет?) и 2 даты. AccountField - поле в котором записан лицевой счет, DateField - поле, в котором записана дата. Ты выберешь записи, где дата находится между двумя введенными параметрами datestart и dateend и поле лицевого счета равно account. Читай про хранимые процедуры.
1
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 11:09  [ТС]
понял, хорошо, спасибо!
еще последний вопросик! : ) мне надо вывести два поля, на начало периода и на конец периода.
как мне в селекте их обозначить если по сути они одинаковые, разные толькоусловия даты.
например поле на начало периода ([s].[Sum]-[t].[Sum]) AS Начисление начало' ', высчитывается так, и так же высчитывается на конец периода ([s].[Sum]-[t].[Sum]) AS ' Начисления конец'
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 11:29
Начисления хранятся где? В этой же таблице? Тебе все надо сделать в одном запросе? Если да, то надо больше информации, что у тебя за структура. Или, если нет, можно написать другую хранимую процедуру, которая суммировала бы нужное поля записей, где дата между минимальной датой (min функция) и датой из параметра.

Если первый вариант, то надо подумать, на работе никак пока.
0
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 11:38  [ТС]
Надо сделать в одну. Существует главная таблица (личных счетов) с которой связаны остальные таблицы. В моем последнем вопросе используется 3 таблицы. Главная и 2 таблицы начисления и оплаты, они связаны с главной через ключевое поле с полем ID главной таблицы. Вот надо учитывать поле даты в этих двух таблицах. И вывести сальдо на начало периода и конец.
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 12:01
Указывая дату начала и дату конца, предполагается, что строк в результате будет много, правильно? Если так, то не очень логично будет к каждой строке цеплять начисления на начало периода и на конец периода. Они будут повторяться в каждой строке,это неправильно. Может я не так что то понимаю?
0
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 12:30  [ТС]
Надо сделать отчет Сальдо. Результат должен быть в виде таблицы. Интересуют вот эти поля с сальдо на начало периода и сальдо на конец периода. Данные группируются по услугам. Услуги это первый столбец.

Добавлено через 9 минут
В данный момент у меня получается вот такой кошмар.
Есть места , где я полностью не понимаю как сделать даже..
Связи между таблицами я еще не писал, но это я понимаю как сделать.
Сейчас меня интересуют ([s].[Sum]-[t].[Sum]) AS 'Сальдо, начало периода' и ([s].[Sum]-[t].[Sum]) AS 'Сальдо, конец периода'. Как эти поля сделать разными ... не понимаю...

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
CREATE PROCEDURE Balance
    @Number varchar(15),            -- Ввод ЛС
    @DateStart datetime,
    @DateEnd datetime
AS
BEGIN
    SET NOCOUNT ON;
    SELECT
    a.ID_Service AS 'Услуга',
    ([s].[Sum]-[t].[Sum]) AS 'Сальдо, начало периода',
    [s].[Sum] AS 'Начислено',
    [t].[Sum] AS 'Оплачено',
    cht.ID AS 'Общедомовые начисления',
    cht.ID AS 'Справки',
    ([s].[Sum]-[t].[Sum]) AS 'Сальдо, конец периода'
 
 
    FROM 
    Cpay.Access a,                      -- Услуги
    Cpay.Reciever r,                        -- ЛС
    [Cpay].[Service] s,                 -- Начисления за жку
    Cpay.Ticket t,                      -- Оплата за жку
    Cpay.Penalties p,                       -- Начисления по пене
    Cpay.PenaltiesTicket pt,                -- Оплата по цене
    [References].ChargesTypes cht           -- 
 
 
    WHERE 
    r.Number = @Number AND
    [s].[DateCharge] BETWEEN @DateStart AND @DateEnd AND 
    [t].[Date] BETWEEN @DateStart AND @DateEnd AND
    [p].[TickDate] BETWEEN @DateStart AND @DateEnd AND
    [pt].[TickDate] BETWEEN @DateStart AND @DateEnd
END
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 12:31
Не понимаю, что тебе надо. То, что ты хотел сделать в первом посте, кажется, отличается от того, что хочешь сейчас. Или нет инфы всей.
Подожди кого то еще.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2013, 12:31
Помогаю со студенческими работами здесь

Как сделать отчет по продажам за период (период в колонках) без СКД?
Всем привет! Покажите, пожалуйста, как сделать отчёт за период, период должен выводиться в колонки, и может быть разным (месяцы, года). ...

В запросе задаем период отборки. Отчет на основании запроса. Как выводить в отчете период отборки?
В запросе задаем период отборки. Отчет на основании запроса. Как выводить в отчете период отборки? Например: Запрос: возникает...

Не формируется отчет в Word из Delphi
Программа работает. Запускает документ, но в него вносится всего одна строка "Отчет" , а затем выдает ошибку "Вызов...

Отчет не формируется для некоторых пользователей
добрый день. внешний отчёт вставил в БП, теперь он доступен через "доп отчёты" простенький - выбрать документы за период, взять...

Каждые три секунды формируется отчет об ошибках
Добрый день. После пары дней пользованием Windows 10 , стал постоянно менятсья значок курсора с обычного на ожидания. Отркыв диспетчер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru