Смекни!
smekni.com

Автоматизация учета товаров на АГЗС "Северного объединения по эксплуатации газового хозяйства" (стр. 18 из 18)

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");