GROUP BY Номенклатура.Цена, Продажа.Безнал, Продажа.КодСмены;
Сменный отчет:
SELECT Номенклатура.Наименование, Sum(Продажа.Количество) AS [Сум-Количество], Sum(Продажа.Стоимость) AS [Сум-Стоимость]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)>(select max(Начало)from Смены)))
GROUP BY Номенклатура.Наименование;
Сменный отчет1:
SELECT Смены.Начало, Смены.Окончание, Сотрудники.Фамилия, Номенклатура.Наименование, Контрагенты.Безнал, Контрагенты.Наименование, Sum(Продажа.Количество) AS [Sum-Количество], Sum(Продажа.Стоимость) AS [Sum-Стоимость]
FROM Сотрудники INNER JOIN ((Контрагенты INNER JOIN (Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры) ON Контрагенты.КодКонтрагента = Продажа.КодКонтрагента) INNER JOIN Смены ON Продажа.КодСмены = Смены.КодСмены) ON Сотрудники.КодСотрудника = Смены.КодСотрудника
WHERE (((Продажа.КодСмены)=[Forms]![СменныйОтчет]![ПолеСоСписком0]))
GROUP BY Смены.Начало, Смены.Окончание, Сотрудники.Фамилия, Номенклатура.Наименование, Контрагенты.Безнал, Контрагенты.Наименование;
Состояние склада:
SELECT Номенклатура.Наименование AS Наименование, Номенклатура.Цена AS Цена, Sum([Кол-во]) AS Склад, Номенклатура.Цена*Sum([Кол-во]) AS Сумма
FROM [SELECT Номенклатура.Наименование, Номенклатура.Цена, sum(Приход.Количество) as [Кол-во]
FROM (Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры)
WHERE (((Номенклатура.Товар)=Yes)) and (Приход.ДатаПрихода<=[Forms]![СостояниеСклада]![Поле1])
group by Номенклатура.Наименование, Номенклатура.Цена
UNION SELECT Номенклатура.Наименование, Номенклатура.Цена, sum(Продажа.Количество)*(-1) as [Кол-во]
FROM (Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры)
WHERE (((Номенклатура.Товар)=Yes)) and (Продажа.Дата<=[Forms]![СостояниеСклада]![Поле1])
group by Номенклатура.Наименование, Номенклатура.Цена]. AS Alias
GROUP BY Номенклатура.Наименование, Номенклатура.Цена;
Последняя смена:
SELECT Max(Смены.Начало) AS [Max-Начало], Сотрудники.Фамилия
FROM Сотрудники INNER JOIN Смены ON Сотрудники.КодСотрудника = Смены.КодСотрудника
GROUP BY Сотрудники.Фамилия;
РГНС:
SELECT Sum([Нач смены]) AS [Нач остаток]
FROM [SELECT Sum(Приход.Количество) AS [Нач смены]
FROM Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Приход.ДатаПрихода)<(select начало from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
union
SELECT Sum(Продажа.Количество)*(-1) AS [Нач смены]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Продажа.Дата)<(select начало from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
]. AS Aias1;
РГКС:
SELECT Sum([%$##@_Alias].[Нач смены]) AS [Кон остаток]
FROM [SELECT Sum(Приход.Количество) AS [Нач смены]
FROM Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Приход.ДатаПрихода)<(select окончание from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
UNION SELECT Sum(Продажа.Количество)*(-1) AS [Нач смены]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Продажа.Дата)<(select окончание from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
]. AS [%$##@_Alias];
Цена номенклатуры:
SELECT Номенклатура.Цена
FROM Номенклатура
WHERE (((Номенклатура.КодНоменклатуры)=[Forms]![Продажа]![ПолеСоСписком12]));
Серверное приложение:
Должники:
SELECT Контрагенты.Наименование, Sum(РасчетыКонтрагенты.Сумма)*(-1) AS [Сумма долга]
FROM Контрагенты INNER JOIN РасчетыКонтрагенты ON Контрагенты.КодКонтрагента = РасчетыКонтрагенты.КодКонтрагента
WHERE (((РасчетыКонтрагенты.Дата)<=([Forms]![Должники]![Поле1])+1))
GROUP BY Контрагенты.Наименование
HAVING (((Sum(РасчетыКонтрагенты.Сумма))<0));
Должники текущие:
SELECT Контрагенты.Наименование, Sum(РасчетыКонтрагенты.Сумма)*(-1) AS [Сумма долга]
FROM Контрагенты INNER JOIN РасчетыКонтрагенты ON Контрагенты.КодКонтрагента = РасчетыКонтрагенты.КодКонтрагента
GROUP BY Контрагенты.Наименование
HAVING (((Sum(РасчетыКонтрагенты.Сумма))<0));
ОСВ:
PARAMETERS FORMS![ОСВ]![ДАТАОСВ] DateTime;
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "3Обороты Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата>=DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1)) and (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1,1 ))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"4Обороты Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата>=DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1)) and (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1,1 ))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "1Начало Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"2Начало Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "5Конец Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1, 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
UNION SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"6Конец Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1, 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0;
ОСВперекрестный:
TRANSFORM Sum(запросОСВ.Expr1001) AS [Sum-Expr1001]
SELECT запросОСВ.Наименование AS Контрагенты
FROM запросОСВ
GROUP BY запросОСВ.НАименование
PIVOT запросОСВ.Expr1002;
Остатки:
SELECT Районы.Название, Номенклатура.Наименование, Остатки.Количество, Остатки.Дата
FROM Районы INNER JOIN (Номенклатура INNER JOIN (запрОстатки2 INNER JOIN Остатки ON (запрОстатки2.[Max-Дата] = Остатки.Дата) AND (запрОстатки2.КодЗаправки = Остатки.КодЗаправки) AND (запрОстатки2.КодНоменклатуры = Остатки.КодНоменклатуры)) ON Номенклатура.КодНоменклатуры = Остатки.КодНоменклатуры) ON Районы.КодРайона = Остатки.КодЗаправки;
Остатки1:
SELECT Районы.Название, Номенклатура.Наименование, Остатки.Количество, Остатки.Дата
FROM Районы INNER JOIN (Номенклатура INNER JOIN (запрОстатки3 INNER JOIN Остатки ON (запрОстатки3.[Max-Дата] = Остатки.Дата) AND (запрОстатки3.КодЗаправки = Остатки.КодЗаправки) AND (запрОстатки3.КодНоменклатуры = Остатки.КодНоменклатуры)) ON Номенклатура.КодНоменклатуры = Остатки.КодНоменклатуры) ON Районы.КодРайона = Остатки.КодЗаправки
WHERE (((Номенклатура.Наименование) Like "Г*"));
Остатки2:
PARAMETERS [Forms]![Остатки]![Поле1] DateTime;
SELECT Остатки.КодНоменклатуры, Остатки.КодЗаправки, Max(Остатки.Дата) AS [Max-Дата]
FROM Остатки
WHERE (((Остатки.Дата)<=[Forms]![Остатки]![Поле1]))
GROUP BY Остатки.КодНоменклатуры, Остатки.КодЗаправки;
Остатки3:
SELECT Остатки.КодНоменклатуры, Остатки.КодЗаправки, Max(Остатки.Дата) AS [Max-Дата]
FROM Остатки
WHERE (((Остатки.Дата)<=now()))
GROUP BY Остатки.КодНоменклатуры, Остатки.КодЗаправки;
Расчеты контрагенты:
TRANSFORM Sum(РасчетыКонтрагенты.Сумма) AS [Sum-Сумма]
SELECT РасчетыКонтрагенты.КодКонтрагента, Sum(РасчетыКонтрагенты.Сумма) AS [Итоговое значение Сумма]
FROM РасчетыКонтрагенты
GROUP BY РасчетыКонтрагенты.КодКонтрагента
PIVOT Format([Дата],"mmm");