Подсистема учета налогов на доходы с физических лиц.

Структуры таблиц, формируемых с помощью запросов.

Структуры таблиц, формируемых с помощью запросов.

Таблица: Начисления

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

ФИО Текстовый 25

Пол Текстовый 1

ДатаРожд Дата/время 8

Кодотд Текстовый 3

Катег Текстовый 25

ГрупПерс Текстовый 3

Месяц Длинное целое 4

Год Длинное целое 4

РабДни Двойное с плавающей 8

КаледДни Двойное с плавающей 8

ОтрабДни Длинное целое 4

Часы Длинное целое 4

Ставка Двойное с плавающей 8

ОкладФакт Двойное с плавающей 8

ЗаСтаж Двойное с плавающей 8

НенормДень Двойное с плавающей 8

РасшЗоны Двойное с плавающей 8

ЗаКласс Двойное с плавающей 8

Совм Двойное с плавающей 8

ПерсДопл Двойное с плавающей 8

Заработок Двойное с плавающей 8

ПремМес Двойное с плавающей 8

РазПрем Длинное целое 4

ТрудСогл Двойное с плавающей 8

Больн Двойное с плавающей 8

ДатаНач Дата/время 8

ДатаКон Дата/время 8

ДниБол1 Длинное целое 4

ДниБол2 Длинное целое 4

НачОтп Дата/время 8

КонОтп Дата/время 8

ДниОтп Двойное с плавающей 8

ДниКомп Двойное с плавающей 8

ДеньОтп Двойное с плавающей 8

СумОтп Двойное с плавающей 8

СумКомп Двойное с плавающей 8

ДоначОкл Двойное с плавающей 8

ДонПрем Двойное с плавающей 8

ДонДопл Двойное с плавающей 8

ДонСовм Двойное с плавающей 8

ДонСтаж Двойное с плавающей 8

ДонБол Двойное с плавающей 8

ДонОтп Двойное с плавающей 8

ДонКомпУв Двойное с плавающей 8

Помощь Двойное с плавающей 8

ПомОбряды Двойное с плавающей 8

Начислено Двойное с плавающей 8

Компенс Двойное с плавающей 8

Пособие Двойное с плавающей 8

Таблица: Удержания

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

Начислено Двойное с плавающей 8

ММОТ Двоичный 510

Вычет Двойное с плавающей 8

ММОТ_Ижд Двоичный 510

ВычетИжд Двойное с плавающей 8

Годовой вычет Двоичный 510

ВычетПом Двойное с плавающей 8

кодпом Двоичный 510

КодВычПом Двоичный 510

КодММОТ Длинное целое 4

КодДети Длинное целое 4

ОблСумМес Двойное с плавающей 8

%Налога Длинное целое 4

ТекНал Двойное с плавающей 8

Аванс Двойное с плавающей 8

ПрофВзн Двойное с плавающей 8

развыпл Двойное с плавающей 8

алименты Двойное с плавающей 8

штраф Двойное с плавающей 8

удержано Двойное с плавающей 8

сумвыд Двойное с плавающей 8

сбербанк Двойное с плавающей 8

выдано Двойное с плавающей 8

 

 

Запрос: Для итоговой таблицы

SQL

SELECT [Для расчета отпуска].ТабНом, [Годовая зарплата].Месяц, [Годовая зарплата].Год, [Для расчета отпуска].НачОтп, [Для расчета отпуска].КонОтп, [Для расчета отпуска].ДниКомп, [Для расчета отпуска].ДниОтп, [Годовая зарплата].РабДни, [Годовая зарплата].ОтрабДни, [Копия календарь].РабДни, IIf([Годовая зарплата]![РабДни]=[Годовая зарплата]![ОтрабДни],29.6,[Копия Календарь]![КаледДни]-([Годовая зарплата]![ДатаКон]-[Годовая зарплата]![ДатаНач]+1)) AS Коэф INTO [Для коэф по отпуску]

FROM (([Для расчета отпуска] LEFT JOIN [Годовая зарплата] ON [Для расчета отпуска].ТабНом = [Годовая зарплата].ТабНом) LEFT JOIN Календарь ON ([Для расчета отпуска].ГодНач = Календарь.Год) AND ([Для расчета отпуска].МесНач = Календарь.Месяц)) LEFT JOIN [Копия календарь] ON ([Годовая зарплата].Месяц = [Копия календарь].Месяц) AND ([Годовая зарплата].Год = [Копия календарь].Год)

WHERE ((([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-3>0,Month([Отпуск]![НачОтп])-3,Month([Отпуск]![НачОтп])-3+12) Or ([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-2>0,Month([Отпуск]![НачОтп])-2,Month([Отпуск]![НачОтп])-2+12) Or ([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-1>0,Month([Отпуск]![НачОтп])-1,Month([Отпуск]![НачОтп])-1+12)) AND (([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-3>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1) Or ([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-2>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1) Or ([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-1>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1)));

Запрос: Для расчета отпуска

SQL

SELECT Отпуск.ТабНом, Отпуск.№Приказа, Отпуск.ДатаПрик, Отпуск.НачОтп, Отпуск.КонОтп, Отпуск.ДниКомп, Month([Отпуск]![НачОтп]) AS МесНач, [Отпуск]![КонОтп]-[Отпуск]![НачОтп]+1 AS ГодНач, IIf([Отпуск]![ДниКомп]=0,[Отпуск]![КонОтп]-[Отпуск]![НачОтп]+1,0) AS ДниОтп

FROM Отпуск;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

№Приказа Текстовый 6

ДатаПрик Дата/время 8

НачОтп Дата/время 8

КонОтп Дата/время 8

ДниКомп Двойное с плавающей 8

МесНач Целое 2

ГодНач Двойное с плавающей 8

ДниОтп Двойное с плавающей 8

 

Запрос: Для расчетного периода по отпуску

SQL

SELECT [Для расчета отпуска].ТабНом, [Годовая зарплата].Месяц, [Годовая зарплата].Год, [Для расчета отпуска].НачОтп, [Для расчета отпуска].КонОтп, [Для расчета отпуска].ДниКомп, [Для расчета отпуска].ДниОтп, [Годовая зарплата].РабДни, [Годовая зарплата].ОтрабДни, IIf([Годовая зарплата]![РабДни]=[Годовая зарплата]![ОтрабДни],29.6,[Годовая зарплата]![КаледДни]-([Годовая зарплата]![ДатаКон]-[Годовая зарплата]![ДатаНач]+1)) AS Коэф, [Годовая зарплата]![Начислено]-[Годовая зарплата]![Помощь]-[Годовая зарплата]![Больн] AS Сумма, [Годовая зарплата]![Помощь]/12*3 AS Помощь, [Сумма]+[Помощь] AS РасчСум INTO [Для расчета отп]

FROM ([Для расчета отпуска] LEFT JOIN [Годовая зарплата] ON [Для расчета отпуска].ТабНом = [Годовая зарплата].ТабНом) LEFT JOIN Календарь ON ([Для расчета отпуска].ГодНач = Календарь.Год) AND ([Для расчета отпуска].МесНач = Календарь.Месяц)

WHERE ((([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-3>0,Month([Отпуск]![НачОтп])-3,Month([Отпуск]![НачОтп])-3+12) Or ([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-2>0,Month([Отпуск]![НачОтп])-2,Month([Отпуск]![НачОтп])-2+12) Or ([Годовая зарплата].Месяц)=IIf(Month([Отпуск]![НачОтп])-1>0,Month([Отпуск]![НачОтп])-1,Month([Отпуск]![НачОтп])-1+12)) AND (([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-3>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1) Or ([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-2>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1) Or ([Годовая зарплата].Год)=IIf(Month([Отпуск]![НачОтп])-1>0,Year([Отпуск]![НачОтп]),Year([Отпуск]![НачОтп])-1)));

 

Запрос: Для таблицы Годовая зарплата

SQL

INSERT INTO [Годовая зарплата] ( ТабНом, ФИО, Месяц, Год, РабДни, ОтрабДни, Часы, КаледДни,

ДатаРожд, Пол, Кодотд, Катег, ГрупПерс, ЗаСтаж, НенормДень, РасшЗоны, ЗаКласс, Совм,

ПерсДопл, Заработок, ПремМес, РазПрем, ТрудСогл, Больн, ДатаНач, ДатаКон, ДниБол1, ДниБол2,

НачОтп, КонОтп, ДниОтп, ДниКомп, ДеньОтп, СумОтп, СумКомп, ДоначОкл, ДонПрем, ДонДопл,

ДонСовм, ДонСтаж, ДонОтп, ДонКомпУв, Помощь, ПомОбряды, Начислено, Компенс, Пособие,

развыпл, алименты, штраф, ОблСумМес, ТекНал, Аванс, ПрофВзн, сбербанк, удержано, сумвыд,

выдано, Выдача, Долг, Вычет, ВычетИжд, ВычетПом, КодММОТ, КодДети, [Годовой вычет], кодпом,

КодВычПом )

SELECT Начисления.ТабНом, Начисления.ФИО, Начисления.Месяц, Начисления.Год,

Начисления.РабДни, Начисления.ОтрабДни, Начисления.Часы, Начисления.КаледДни,

Начисления.ДатаРожд, Начисления.Пол, Начисления.Кодотд, Начисления.Катег,

Начисления.ГрупПерс, Начисления.ЗаСтаж, Начисления.НенормДень, Начисления.РасшЗоны,

Начисления.ЗаКласс, Начисления.Совм, Начисления.ПерсДопл, Начисления.Заработок,

Начисления.ПремМес, Начисления.РазПрем, Начисления.ТрудСогл, Начисления.Больн,

Начисления.ДатаНач, Начисления.ДатаКон, Начисления.ДниБол1, Начисления.ДниБол2,

Начисления.НачОтп, Начисления.КонОтп, Начисления.ДниОтп, Начисления.ДниКомп,

Начисления.ДеньОтп, Начисления.СумОтп, Начисления.СумКомп, Начисления.ДоначОкл,

Начисления.ДонПрем, Начисления.ДонДопл, Начисления.ДонСовм, Начисления.ДонСтаж,

Начисления.ДонОтп, Начисления.ДонКомпУв, Начисления.Помощь, Начисления.ПомОбряды,

Начисления.Начислено, Начисления.Компенс, Начисления.Пособие, Удержания.развыпл,

Удержания.алименты, Удержания.штраф, текналог.ОблСумМес, текналог.ТекНал, текналог.Аванс,

текналог.ПрофВзн, Удержания.сбербанк, Удержания.удержано, Удержания.сумвыд,

Удержания.выдано, IIf([выдано]>0,[выдано],0) AS Выдача, IIf([выдано]<0,[выдано]*(-1),0) AS Долг,

текналог.Вычет, текналог.ВычетИжд, текналог.ВычетПом, текналог.КодММОТ, текналог.КодДети,

текналог.[Годовой вычет], текналог.кодпом, текналог.КодВычПом

FROM (Начисления LEFT JOIN Удержания ON Начисления.ТабНом = Удержания.ТабНом) LEFT JOIN

текналог ON Начисления.ТабНом = текналог.ТабНом;

Запрос: Для таблицы начисления

SQL

SELECT Табель.ТабНом, [Справочник кадров].ФИО, [Справочник кадров].Пол, [Справочник

кадров].ДатаРожд, [Справочник кадров].Кодотд, [Справочник кадров].Катег, [Справочник

кадров].ГрупПерс, Табель.Месяц, Табель.Год, Календарь.РабДни, Календарь.КаледДни,

Табель.ОтрабДни, Табель.Часы, [Справочник кадров].Ставка,

IIf([Табель]![ОтрабДни]>0,(IIf([Справочник кадров]![РежимРаб]=5,[Справочник

кадров]![Ставка]*[Справочник кадров]![Коэф]/[Календарь]![РабДни]*[Табель]![ОтрабДни],[Справочник

кадров]![Ставка]*[Справочник

кадров]![Коэф]/([Календарь]![РабДни]+[Календарь]![Суб])*[Табель]![ОтрабДни])),[Справочник

кадров]![Ставка]/[Календарь]![Часы]*[Табель]![Часы]) AS ОкладФакт, [ОкладФакт]*[Справочник

кадров]![ЗаСтаж]/100 AS ЗаСтаж, [ОкладФакт]*[Справочник кадров]![ЗаНенорм]/100 AS НенормДень,

[ОкладФакт]*[Справочник кадров]![ЗаРасшир]/100 AS РасшЗоны, [ОкладФакт]*[Справочник

кадров]![ЗаКласс]/100 AS ЗаКласс, [ОкладФакт]*[Справочник кадров]![ЗаСовм]/100 AS Совм,

IIf([Табель]![ОтрабДни]>0,(IIf([Справочник кадров]![РежимРаб]=5,[Справочник

кадров]![ПерсДопл]/[Календарь]![РабДни]*[Табель]![ОтрабДни],[Справочник

кадров]![ПерсДопл]/([Календарь]![РабДни]+[Календарь]![Суб])*[Табель]![ОтрабДни])),[Справочник

кадров]![ПерсДопл]/[Календарь]![Часы]*[Табель]![Часы]) AS ПерсДопл,

[ОкладФакт]+[ЗаСтаж]+[НенормДень]+[РасшЗоны]+[ЗаКласс]+[Совм]+[ПерсДопл] AS Заработок,

IIf([Премия]![%Мес]>0,[ОкладФакт]*[Премия]![%Мес]/100,0) AS ПремМес,

IIf([Премия]![Разовая]>0,[Премия]![Разовая],0) AS РазПрем, IIf([Трудовое

соглашение]![ТрудСогл]>0,[Трудовое соглашение]![ТрудСогл],0) AS ТрудСогл, IIf([Расчет

больничных]![СумБол]>0,[Расчет больничных]![СумБол],0) AS Больн, IIf([Больн]>0,[Расчет

больничных]![ДатаНач],Date()) AS ДатаНач, IIf([Больн]>0,[Расчет больничных]![ДатаКон],Date()) AS

ДатаКон, IIf([Расчет больничных]![Дни1]>0,[Расчет больничных]![Дни1],0) AS ДниБол1, IIf([Расчет

больничных]![Дни2]>0,[Расчет больничных]![Дни2],0) AS ДниБол2, [Расчет отпускных].НачОтп,

[Расчет отпускных].КонОтп, IIf([Расчет отпускных]![ДниОтп]<>0,[Расчет отпускных]![ДниОтп],0) AS

ДниОтп, IIf([Расчет отпускных]![ДниКомп]<>0,[Расчет отпускных]![ДниКомп],0) AS ДниКомп,

IIf([Расчет отпускных]![ДеньОтп]<>0,[Расчет отпускных]![ДеньОтп],0) AS ДеньОтп, IIf([Расчет

отпускных]![СумОтп]<>0,[Расчет отпускных]![СумОтп],0) AS СумОтп, IIf([Расчет

отпускных]![СумКомп]<>0,[Расчет отпускных]![СумКомп],0) AS СумКомп,

IIf([Доначисления]![Оклад]>0,[Доначисления]![Оклад],0) AS ДоначОкл,

IIf([Доначисления]![Премия]>0,[Доначисления]![Премия],0) AS ДонПрем,

IIf([Доначисления]![Доплата]>0,[Доначисления]![Доплата],0) AS ДонДопл,

IIf([Доначисления]![Совмещения]>0,[Доначисления]![Совмещения],0) AS ДонСовм,

IIf([Доначисления]![ЗаСтаж]>0,[Доначисления]![ЗаСтаж],0) AS ДонСтаж,

IIf([Доначисления]![Бол]>0,[Доначисления]![Бол],0) AS ДонБол,

IIf([Доначисления]![Отпуск]>0,[Доначисления]![Отпуск],0) AS ДонОтп,

IIf([Доначисления]![КомпУв]>0,[Доначисления]![КомпУв],0) AS ДонКомпУв,

IIf([Помощь]![Помощь]>0,[Помощь]![Помощь],0) AS Помощь,

IIf([Помощь]![Обряды]>0,[Помощь]![Обряды],0) AS ПомОбряды,

[Заработок]+[ПремМес]+[РазПрем]+[ДоначОкл]+[ДонПрем]+[ДонДопл]+[ДонСовм]+[ДонСтаж]+[ДонБол]

+[ДонОтп]+[Помощь]+[ПомОбряды]+[Справочник кадров]![Компенс]+[Справочник

кадров]![Пособие]+[СумОтп]+[СумКомп]+[Больн] AS Начислено, [Справочник кадров].Компенс,

[Справочник кадров].Пособие INTO Начисления

FROM ((Помощь RIGHT JOIN (((((Табель LEFT JOIN [Справочник кадров] ON Табель.ТабНом =

[Справочник кадров].ТабНом) LEFT JOIN Календарь ON (Табель.Год = Календарь.Год) AND

(Табель.Месяц = Календарь.Месяц)) LEFT JOIN [Трудовое соглашение] ON Табель.ТабНом = [Трудовое

соглашение].ТабНом) LEFT JOIN Премия ON Табель.ТабНом = Премия.ТабНом) LEFT JOIN

Доначисления ON Табель.ТабНом = Доначисления.ТабНом) ON Помощь.ТабНом = Табель.ТабНом)

LEFT JOIN [Расчет больничных] ON Табель.ТабНом = [Расчет больничных].ТабНом) LEFT JOIN [Расчет

отпускных] ON Табель.ТабНом = [Расчет отпускных].ТабНом

ORDER BY Табель.ТабНом;

Запрос: Для таблицы удержания

SQL

SELECT Начисления.ТабНом, IIf([Аванс]![РазВыпл]>0,[Аванс]![Аванс],0) AS развыпл,

([Начисления]![Начислено]-[текналог]![ТекНал])*[Справочник кадров]![%Алим]/100 AS алименты,

([Начисления]![Начислено]-[текналог]![ТекНал])*[Справочник кадров]![%Штраф]/100 AS штраф,

[штраф]+[алименты]+[развыпл]+[текналог]![ТекНал]+[текналог]![Аванс]+[текналог]![ПрофВзн] AS

удержано, [Начисления]![Начислено]+[Начисления]![Компенс]+[Начисления]![Пособие]-[удержано] AS

сумвыд, [сумвыд]*[Справочник кадров]![СберБанк] AS сбербанк, [сумвыд]-[сбербанк] AS выдано INTO

Удержания

FROM ((Начисления LEFT JOIN текналог ON Начисления.ТабНом = текналог.ТабНом) LEFT JOIN Аванс

ON Начисления.ТабНом = Аванс.ТабНом) LEFT JOIN [Справочник кадров] ON Начисления.ТабНом =

[Справочник кадров].ТабНом;

 

Запрос: Добавление в Табель

SQL

INSERT INTO табель ( ТабНом, ФИО )

SELECT [Справочник кадров].ТабНом, [Справочник кадров].ФИО

FROM [Справочник кадров];

Запрос: ДобавлениеТабНом в Премию

SQL

INSERT INTO Премия ( ТабНом, ФИО )

SELECT [Справочник кадров].[ТабНом], [Справочник кадров].[ФИО]

FROM [Справочник кадров];

 

Запрос: Кадры для накопления

SQL

PARAMETERS [Введите № месяца] Long, [Введите № года] Long;

INSERT INTO [Годовой СпКадр] ( ТабНом, ФИО, Тарификация, Месяц, Год )

SELECT [Справочник кадров].[ТабНом], [Справочник кадров].[ФИО], [Справочник

кадров]![Ставка]*[Справочник кадров]![Коэф]*([Справочник кадров]![ЗаСтаж]+[Справочник

кадров]![ЗаРасшир]+[Справочник кадров]![ПерсДопл]+[Справочник кадров]![ЗаКласс]+[Справочник

кадров]![ЗаНенорм]+[Справочник кадров]![ЗаСовм])/100+[Ставка]*[Коэф]*[Премия]![%Мес]/100 AS

Тарификация, [Введите № месяца] AS Месяц, [Введите № года] AS Год

FROM Премия RIGHT JOIN [Справочник кадров] ON [Премия].[ТабНом]=[Справочник кадров].[ТабНом];

 

Запрос: копия зарплаты

SQL

INSERT INTO [годовая зарплата] ( ТабНом, ФИО, Месяц, Год, рабдни, ОтрабДней, ДатаРожд, Пол,

Кодотд, Катег, ГрупПерс, ЗаСтаж, НенормДень, РасшЗоны, ЗаКласс, Совм, ПерсДопл, Заработок,

ПремМес, РазПрем, ТрудСогл, Больн, ДатаНач, ДатаКон, ДниБол, ДоначОкл, ДонПрем, ДонДопл,

ДонСовм, ДонСтаж, ДонОтп, ДонКомпУв, Помощь, ПомОбряды, Начислено, Компенс, Пособие,

развыпл, алименты, штраф, ОблСумМес, ТекНал, Аванс, ПрофВзн, сбербанк, удержано, сумвыд,

выдано, Выдача, Долг, Вычет, ВычетИжд, ВычетПом, КодММОТ, КодДети, [Годовой вычет], кодпом,

КодВычПом )

SELECT Начисления.ТабНом, Начисления.ФИО, Начисления.Месяц, Начисления.Год,

Начисления.рабдни, Начисления.ОтрабДней, Начисления.ДатаРожд, Начисления.Пол,

Начисления.Кодотд, Начисления.Катег, Начисления.ГрупПерс, Начисления.ЗаСтаж,

Начисления.НенормДень, Начисления.РасшЗоны, Начисления.ЗаКласс, Начисления.Совм,

Начисления.ПерсДопл, Начисления.Заработок, Начисления.ПремМес, Начисления.РазПрем,

Начисления.ТрудСогл, Начисления.Больн, Начисления.ДатаНач, Начисления.ДатаКон,

Начисления.ДниБол, Начисления.ДоначОкл, Начисления.ДонПрем, Начисления.ДонДопл,

Начисления.ДонСовм, Начисления.ДонСтаж, Начисления.ДонОтп, Начисления.ДонКомпУв,

Начисления.Помощь, Начисления.ПомОбряды, Начисления.Начислено, Начисления.Компенс,

Начисления.Пособие, Удержания.развыпл, Удержания.алименты, Удержания.штраф,

текналог.ОблСумМес, текналог.ТекНал, текналог.Аванс, текналог.ПрофВзн, Удержания.сбербанк,

Удержания.удержано, Удержания.сумвыд, Удержания.выдано, IIf([выдано]>0,[выдано],0) AS Выдача,

IIf([выдано]<0,[выдано]*(-1),0) AS Долг, текналог.Вычет, текналог.ВычетИжд, текналог.ВычетПом,

текналог.КодММОТ, текналог.КодДети, текналог.[Годовой вычет], текналог.кодпом,

текналог.КодВычПом

FROM (Начисления LEFT JOIN Удержания ON Начисления.ТабНом = Удержания.ТабНом) LEFT JOIN

текналог ON Начисления.ТабНом = текналог.ТабНом;

Запрос: Начисления по Зарплате

SQL

SELECT Табель.Месяц, Табель.Год, Календарь.ИмяМес, Табель.ОтрабДни, Календарь.РабДни, Табель.ТабНом, [Справочник кадров].ФИО, [Справочник кадров].Имя, [Справочник кадров].Отчество, [Справочник кадров].ДатаРожд, [Справочник кадров].Пол, [Справочник кадров].Кодотд, [Справочник кадров].Катег, [Справочник кадров].ГрупПерс, [Справочник кадров].ЗаСтаж, [Справочник кадров].Ставка, IIf([Табель]![ОтрабДни]<>0,[Справочник кадров]![Ставка]*[Справочник кадров]![Коэф]/[Календарь]![РабДни]*[Табель]![ОтрабДни],[Справочник кадров]![Ставка]*[Справочник кадров]![Коэф]/[Календарь]![Часы]*[Табель]![Часы]) AS Окладфакт, [Окладфакт]*[Справочник кадров]![ЗаСтаж]/100 AS Стаж, [Окладфакт]*[Справочник кадров]![ЗаРасшир]/100 AS Расширение, [Окладфакт]*[Справочник кадров]![ЗаКласс]/100 AS Закласс, [Окладфакт]*[Справочник кадров]![ЗаНенорм]/100 AS Заненорм, [Окладфакт]*[Справочник кадров]![ЗаСовм]/100 AS Засовм, [Справочник кадров]![ПерсДопл]/[Календарь]![РабДни]*[Табель]![ОтрабДни] AS Персдопл, [Справочник кадров]![Ставка]/[Календарь]![Часы]*[Табель]![Ночные]*1.4+[Справочник кадров]![Ставка]/[Календарь]![Часы]*[Табель]![Праздничные]*2 AS Ночные, [Окладфакт]+[Стаж]+[Расширение]+[Закласс]+[Заненорм]+[Засовм]+[Персдопл]+[Ночные] AS Заработок, [Окладфакт]*[Премия]![%Мес]/100 AS Преммес, Премия.Разовая, IIf([Расчёт больничного]![Суммбол]<>0,[Расчёт больничного]![Суммбол],0) AS Сумбол, IIf([Помощь]![Помощь]<>0,[Помощь]![Помощь],0) AS Помощь, IIf([Доначисления]![Оклад]+[Доначисления]![Премия]+[Доначисления]![Доплата]+[Доначисления]![Совмещения]+[Доначисления]![ЗаСтаж]<>0,[Доначисления]![Оклад]+[Доначисления]![Премия]+[Доначисления]![Доплата]+[Доначисления]![Совмещения]+[Доначисления]![ЗаСтаж],0) AS Доначисл, IIf([Расчёт отпускных]![Отп]<>0,[Расчёт отпускных]![Отп],0) AS Отпуск, IIf([Расчёт отпускных]![Компув]<>0,[Расчёт отпускных]![Компув],0) AS КомпУв, [Заработок]+[Преммес]+[Разовая]+[Сумбол]+[Помощь]+[Доначисл]+[КомпУв]+[Отпуск] AS Начислено INTO Начисление

FROM [Расчёт отпускных] RIGHT JOIN (((((Премия RIGHT JOIN ([Справочник кадров] RIGHT JOIN Табель ON [Справочник кадров].ТабНом = Табель.ТабНом) ON Премия.ТабНом = Табель.ТабНом) LEFT JOIN Помощь ON Табель.ТабНом = Помощь.ТабНом) LEFT JOIN Доначисления ON Табель.ТабНом = Доначисления.ТабНом) LEFT JOIN [Расчёт больничного] ON Табель.ТабНом = [Расчёт больничного].ТабНом) LEFT JOIN Календарь ON (Табель.Месяц = Календарь.Месяц) AND (Табель.Год = Календарь.Год)) ON [Расчёт отпускных].ТабНом = Табель.ТабНом;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

ФИО Текстовый 25

Пол Текстовый 1

ДатаРожд Дата/время 8

Кодотд Текстовый 3

Катег Текстовый 25

ГрупПерс Текстовый 3

Месяц Длинное целое 4

Год Длинное целое 4

РабДни Двойное с плавающей 8

КаледДни Двойное с плавающей 8

ОтрабДни Длинное целое 4

Часы Длинное целое 4

Ставка Двойное с плавающей 8

ОкладФакт Двойное с плавающей 8

ЗаСтаж Двойное с плавающей 8

НенормДень Двойное с плавающей 8

РасшЗоны Двойное с плавающей 8

ЗаКласс Двойное с плавающей 8

Совм Двойное с плавающей 8

ПерсДопл Двойное с плавающей 8

Заработок Двойное с плавающей 8

ПремМес Двойное с плавающей 8

РазПрем Длинное целое 4

ТрудСогл Двойное с плавающей 8

Больн Двойное с плавающей 8

ДатаНач Дата/время 8

ДатаКон Дата/время 8

ДниБол1 Длинное целое 4

ДниБол2 Длинное целое 4

НачОтп Дата/время 8

КонОтп Дата/время 8

ДниОтп Двойное с плавающей 8

ДниКомп Двойное с плавающей 8

ДеньОтп Двойное с плавающей 8

СумОтп Двойное с плавающей 8

СумКомп Двойное с плавающей 8

ДоначОкл Двойное с плавающей 8

ДонПрем Двойное с плавающей 8

ДонДопл Двойное с плавающей 8

ДонСовм Двойное с плавающей 8

ДонСтаж Двойное с плавающей 8

ДонБол Двойное с плавающей 8

ДонОтп Двойное с плавающей 8

ДонКомпУв Двойное с плавающей 8

Помощь Двойное с плавающей 8

ПомОбряды Двойное с плавающей 8

Начислено Двойное с плавающей 8

Компенс Двойное с плавающей 8

Пособие Двойное с плавающей 8

Индексы таблицы

Имя Число полей

Код отд 1

Поля: По возрастанию

Код отд 1

Поля: По возрастанию

Код отд 1

Поля: По возрастанию

Запрос: Обновление табеля

SQL

PARAMETERS [Введите раб дни месяца] Long;

UPDATE Табель SET Табель.Месяц = IIf(Month(Date())>1,Month(Date())-1,12), Табель.Год =

IIf(Month(Date())>1,Year(Date()),Year(Date())-1), Табель.ОтрабДни = [Введите раб дни месяца];

 

Запрос: прочие удержания

SQL

SELECT Начисления.ТабНом, IIf([Аванс]![РазВыпл]>0,[Аванс]![Аванс],0) AS развыпл,

([Начисления]![Начислено]-[текналог]![ТекНал])*[Справочник кадров]![%Алим]/100 AS алименты,

([Начисления]![Начислено]-[текналог]![ТекНал])*[Справочник кадров]![%Штраф]/100 AS штраф,

[штраф]+[алименты]+[развыпл]+[текналог]![ТекНал]+[текналог]![Аванс]+[текналог]![ПрофВзн] AS

удержано, [Начисления]![Начислено]+[Начисления]![Компенс]+[Начисления]![Пособие]-[удержано] AS

сумвыд, [сумвыд]*[Справочник кадров]![СберБанк] AS сбербанк, [сумвыд]-[сбербанк] AS выдано

FROM ((Начисления LEFT JOIN текналог ON Начисления.ТабНом = текналог.ТабНом) LEFT JOIN Аванс

ON Начисления.ТабНом = Аванс.ТабНом) LEFT JOIN [Справочник кадров] ON Начисления.ТабНом =

[Справочник кадров].ТабНом;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

развыпл Двойное с плавающей 8

алименты Двойное с плавающей 8

штраф Двойное с плавающей 8

удержано Двойное с плавающей 8

сумвыд Двойное с плавающей 8

сбербанк Двойное с плавающей 8

выдано Двойное с плавающей 8

 

Запрос: Расчет больничных

SQL

SELECT [Для больничного].ТабНом, [Для больничного].ДатаНач, [Для больничного].ДатаКон, [Для

больничного].ТипБол, [Для больничного].Процент, [Годовой СпКадр].Тарификация, [Для

больничного].Дни1, [Для больничного].Дни2, [Для больничного].МесНач, [Для больничного].МесКон,

[Для больничного].ГодНач, [Для больничного].ГодКон, IIf([Для больничного]![ТипБол]="з",[Годовой

СпКадр]![Тарификация]/[Календарь]![РабДни]*[Для больничного]![Дни1]*[Для

больничного]![Процент]/100,[Годовой СпКадр]![Тарификация]/[Календарь]![РабДни]*[Для

больничного]![Дни1]) AS Бол1, IIf([Для больничного]![ТипБол]="з",[Годовой

СпКадр]![Тарификация]/[Копия календарь]![РабДни]*[Для больничного]![Дни2]*[Для

больничного]![Процент]/100,[Годовой СпКадр]![Тарификация]/[Копия календарь]![РабДни]*[Для

больничного]![Дни2]) AS Бол2, [Бол1]+[Бол2] AS СумБол

FROM (Календарь RIGHT JOIN ([Для больничного] LEFT JOIN [Годовой СпКадр] ON ([Для

больничного].ГодНач = [Годовой СпКадр].Год) AND ([Для больничного].МесНач = [Годовой

СпКадр].Месяц) AND ([Для больничного].ТабНом = [Годовой СпКадр].ТабНом)) ON (Календарь.Год =

[Для больничного].ГодНач) AND (Календарь.Месяц = [Для больничного].МесНач)) LEFT JOIN [Копия

календарь] ON ([Для больничного].ГодКон = [Копия календарь].Год) AND ([Для больничного].МесКон =

[Копия календарь].Месяц);

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

ДатаНач Дата/время 8

ДатаКон Дата/время 8

ТипБол Текстовый 1

Процент Двойное с плавающей 8

Тарификация Двойное с плавающей 8

Дни1 Длинное целое 4

Дни2 Длинное целое 4

МесНач Длинное целое 4

МесКон Целое 2

ГодНач Целое 2

ГодКон Целое 2

Бол1 Двойное с плавающей 8

Бол2 Двойное с плавающей 8

СумБол Двойное с плавающей 8

Запрос: Расчет отпуска

SQL

SELECT [Для расчета отп].ТабНом, First([Для расчета отп].НачОтп) AS [First-НачОтп], First([Для

расчета отп].КонОтп) AS [First-КонОтп], First([Для расчета отп].ДниКомп) AS [First-ДниКомп],

First([Для расчета отп].ДниОтп) AS [First-ДниОтп], Sum([Для расчета отп].Коэф) AS [Sum-Коэф],

Sum([Для расчета отп].РасчСум) AS [Sum-РасчСум] INTO [Расчет сумм по отпуску]

FROM [Для расчета отп]

GROUP BY [Для расчета отп].ТабНом

ORDER BY [Для расчета отп].ТабНом;

 

Запрос: Расчет отпускных

SQL

SELECT [Расчет сумм по отпуску].ТабНом, IIf([Расчет сумм по отпуску]![First-ДниОтп]<>0,[Расчет

сумм по отпуску]![First-НачОтп],Date()) AS НачОтп, IIf([Расчет сумм по

отпуску]![First-ДниОтп]<>0,[Расчет сумм по отпуску]![First-КонОтп],Date()) AS КонОтп, IIf([Расчет

сумм по отпуску]![First-ДниОтп]<>0,[Расчет сумм по отпуску]![First-ДниОтп],0) AS ДниОтп, IIf([Расчет

сумм по отпуску]![First-ДниОтп]=0,[Расчет сумм по отпуску]![First-ДниКомп],0) AS ДниКомп, [Расчет

сумм по отпуску]![Sum-РасчСум]/[Расчет сумм по отпуску]![Sum-Коэф] AS ДеньОтп,

[ДниОтп]*[ДеньОтп] AS СумОтп, [ДеньОтп]*[ДниКомп] AS СумКомп

FROM [Расчет сумм по отпуску];

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

НачОтп Дата/время 8

КонОтп Дата/время 8

ДниОтп Двойное с плавающей 8

ДниКомп Двойное с плавающей 8

ДеньОтп Двойное с плавающей 8

СумОтп Двойное с плавающей 8

СумКомп Двойное с плавающей 8

Запрос: Расчет текущего налога

SQL

PARAMETERS [Введите налоговую ставку] Long;

SELECT [Начисления по Зарплате].ТабНом, [Начисления по Зарплате].Начислено, [Введите ММОТ] AS

ММОТ, [Справочник кадров]![Вычет]*[ММОТ] AS Вычет, [Введите вычет на детей] AS ММОТ_Ижд,

[ММОТ_Ижд]*[Справочник кадров]![Дети] AS ВычетИжд, [Ведите годовой вычет] AS [Годовой вычет],

IIf([Начисления по Зарплате]![Помощь]+[Совокупный доход]![Sum-Помощь]>0,IIf([Начисления по

Зарплате]![Помощь]+[Совокупный доход]![Sum-Помощь]<=[Годовой вычет],[Начисления по

Зарплате]![Помощь],[Годовой вычет]),0) AS ВычетПом, [Введите код помощи] AS кодпом, [Код

вычета из помоши] AS КодВычПом, IIf([Справочник кадров]![Вычет]<>1,IIf([Справочник

кадров]![Вычет]=1.25,102,103),101) AS КодММОТ, IIf([Справочник кадров]![Вычет_дети]=1,104,105) AS

КодДети, IIf([Начисления по Зарплате]![Начислено]-[Начисления по Зарплате]![СумКомп]-[Начисления

по Зарплате]![ПомОбряды]-[Начисления по Зарплате]![Компенс]-[Начисления по

Зарплате]![Пособие]-[Вычет]-[ВычетИжд]-[ВычетПом]>0,[Начисления по

Зарплате]![Начислено]-[Начисления по Зарплате]![СумКомп]-[Начисления по

Зарплате]![ПомОбряды]-[Начисления по Зарплате]![Компенс]-[Начисления по

Зарплате]![Пособие]-[Вычет]-[ВычетИжд]-[ВычетПом],0) AS ОблСумМес, [Введите налоговую ставку]

AS [%Налога], ([ОблСумМес]+[Совокупный доход]![Sum-ОблСумМес])*[%Налога]/100-[Совокупный

доход]![Sum-ТекНал] AS ТекНал, IIf([Аванс]![Аванс]>0,[Аванс]![Аванс],0) AS Аванс, [Начисления по

Зарплате]![Начислено]*0.01*[Справочник кадров]![Проф] AS ПрофВзн

FROM [Совокупный доход] RIGHT JOIN (((Аванс RIGHT JOIN [Начисления по Зарплате] ON

Аванс.ТабНом = [Начисления по Зарплате].ТабНом) LEFT JOIN [Справочник кадров] ON [Начисления

по Зарплате].ТабНом = [Справочник кадров].ТабНом) LEFT JOIN [Перечисления в Сбербанк] ON

[Начисления по Зарплате].ТабНом = [Перечисления в Сбербанк].ТабНом) ON [Совокупный

доход].ТабНом = [Начисления по Зарплате].ТабНом;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

Начислено Двойное с плавающей 8

ММОТ Из 0

Вычет Двойное с плавающей 8

ММОТ_Ижд Из 0

ВычетИжд Двойное с плавающей 8

Годовой вычет Из 0

ВычетПом Двойное с плавающей 8

кодпом Из 0

КодВычПом Из 0

КодММОТ Длинное целое 4

КодДети Длинное целое 4

ОблСумМес Двойное с плавающей 8

%Налога Длинное целое 4

ТекНал Двойное с плавающей 8

Аванс Двойное с плавающей 8

ПрофВзн Двойное с плавающей 8

Индексы таблицы

Имя Число полей

Код отд 1

Поля: По возрастанию

Код отд 1

Поля: По возрастанию

 

 

Запрос: редактирование премии

SQL

PARAMETERS [Введите % премии] IEEEDouble;

UPDATE Премия SET Премия.[%Мес] = [Введите % премии];

 

 

Запрос: Совокупный доход

SQL

SELECT [Годовая зарплата].ТабНом, Sum([Годовая зарплата].ОблСумМес) AS [Sum-ОблСумМес],

Sum([Годовая зарплата].ТекНал) AS [Sum-ТекНал], Sum([Годовая зарплата].Вычет) AS [Sum-Вычет],

Sum([Годовая зарплата].ВычетИжд) AS [Sum-ВычетИжд], Sum([Годовая зарплата].Помощь) AS

[Sum-Помощь]

FROM [Годовая зарплата]

GROUP BY [Годовая зарплата].ТабНом

ORDER BY [Годовая зарплата].ТабНом;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

Sum-ОблСумМес Двойное с плавающей 8

Sum-ТекНал Двойное с плавающей 8

Sum-Вычет Двойное с плавающей 8

Sum-ВычетИжд Двойное с плавающей 8

Sum-Помощь Двойное с плавающей 8

 

Запрос: Текущая зарплата

SQL

SELECT Начисления.ТабНом, Начисления.ФИО, Начисления.Месяц, Начисления.Год,

Начисления.РабДни, Начисления.ОтрабДни, Начисления.Часы, Начисления.КаледДни,

Начисления.ДатаРожд, Начисления.Пол, Начисления.Кодотд, Начисления.Катег,

Начисления.ГрупПерс, Начисления.ЗаСтаж, Начисления.НенормДень, Начисления.РасшЗоны,

Начисления.ЗаКласс, Начисления.Совм, Начисления.ПерсДопл, Начисления.Заработок,

Начисления.ПремМес, Начисления.РазПрем, Начисления.ТрудСогл, Начисления.Больн,

Начисления.ДатаНач, Начисления.ДатаКон, Начисления.ДниБол1, Начисления.ДниБол2,

Начисления.НачОтп, Начисления.КонОтп, Начисления.ДниОтп, Начисления.ДниКомп,

Начисления.ДеньОтп, Начисления.СумОтп, Начисления.СумКомп, Начисления.ДоначОкл,

Начисления.ДонПрем, Начисления.ДонДопл, Начисления.ДонСовм, Начисления.ДонСтаж,

Начисления.ДонОтп, Начисления.ДонКомпУв, Начисления.Помощь, Начисления.ПомОбряды,

Начисления.Начислено, Начисления.Компенс, Начисления.Пособие, Удержания.развыпл,

Удержания.алименты, Удержания.штраф, текналог.ОблСумМес, текналог.ТекНал, текналог.Аванс,

текналог.ПрофВзн, Удержания.сбербанк, Удержания.удержано, Удержания.сумвыд,

Удержания.выдано, IIf([выдано]>0,[выдано],0) AS Выдача, IIf([выдано]<0,[выдано]*(-1),0) AS Долг,

текналог.Вычет, текналог.ВычетИжд, текналог.ВычетПом, текналог.КодММОТ, текналог.КодДети,

текналог.[Годовой вычет], текналог.кодпом, текналог.КодВычПом

FROM (Начисления LEFT JOIN Удержания ON Начисления.ТабНом = Удержания.ТабНом) LEFT JOIN

текналог ON Начисления.ТабНом = текналог.ТабНом;

Столбцы

Имя Тип Размер

ТабНом Текстовый 5

ФИО Текстовый 25

Месяц Длинное целое 4

Год Длинное целое 4

РабДни Двойное с плавающей 8

ОтрабДни Длинное целое 4

Часы Длинное целое 4

КаледДни Двойное с плавающей 8

ДатаРожд Дата/время 8

Пол Текстовый 1

Кодотд Текстовый 3

Катег Текстовый 25

ГрупПерс Текстовый 3

ЗаСтаж Двойное с плавающей 8

НенормДень Двойное с плавающей 8

РасшЗоны Двойное с плавающей 8

ЗаКласс Двойное с плавающей 8

Совм Двойное с плавающей 8

ПерсДопл Двойное с плавающей 8

Заработок Двойное с плавающей 8

ПремМес Двойное с плавающей 8

РазПрем Длинное целое 4

ТрудСогл Двойное с плавающей 8

Больн Двойное с плавающей 8

ДатаНач Дата/время 8

ДатаКон Дата/время 8

ДниБол1 Длинное целое 4

ДниБол2 Длинное целое 4

НачОтп Дата/время 8

КонОтп Дата/время 8

ДниОтп Двойное с плавающей 8

ДниКомп Двойное с плавающей 8

ДеньОтп Двойное с плавающей 8

СумОтп Двойное с плавающей 8

СумКомп Двойное с плавающей 8

ДоначОкл Двойное с плавающей 8

ДонПрем Двойное с плавающей 8

ДонДопл Двойное с плавающей 8

ДонСовм Двойное с плавающей 8

ДонСтаж Двойное с плавающей 8

ДонОтп Двойное с плавающей 8

ДонКомпУв Двойное с плавающей 8

Помощь Двойное с плавающей 8

ПомОбряды Двойное с плавающей 8

Начислено Двойное с плавающей 8

Компенс Двойное с плавающей 8

Пособие Двойное с плавающей 8

развыпл Двойное с плавающей 8

алименты Двойное с плавающей 8

штраф Двойное с плавающей 8

ОблСумМес Двойное с плавающей 8

ТекНал Двойное с плавающей 8

Аванс Двойное с плавающей 8

ПрофВзн Двойное с плавающей 8

сбербанк Двойное с плавающей 8

удержано Двойное с плавающей 8

сумвыд Двойное с плавающей 8

выдано Двойное с плавающей 8

Выдача Двойное с плавающей 8

Долг Двойное с плавающей 8

Вычет Двойное с плавающей 8

ВычетИжд Двойное с плавающей 8

ВычетПом Двойное с плавающей 8

КодММОТ Длинное целое 4

КодДети Длинное целое 4

Годовой вычет Двоичный 510

кодпом Двоичный 510

КодВычПом Двоичный 510

 

 

 

Одним из основных инструментов государственного регулирования экономических отношений в условиях рыночной экономики является налоговая политика, которая влияет на экономическое и социальное развитие общества. Налоговая система Российской Федерации представлена совокупностью налогов, сборов, пошлин и других платежей, взимаемых в установленном порядке с плательщиков – юридических и физических лиц на территории страны, а также форм и методов их построения. Все налоги, сборы, пошлины и другие платежи поступают в бюджетную систему России, т.е. формируют денежные доходы государства. Государству собираемые средства нужны для выполнения его основных функций, для финансирования различных сфер деятельности и выполнения социальных программ. Государственные органы, деятельность которых непосредственно связана с налоговой системой в России, были созданы в 1991 году. Деятельность государственных налоговых органов регулируется Законом Российской Федерации “О налоговых органах Российской Федерации” от 21 марта 1991 г. №943-1 положением “О Государственной налоговой службе Российской Федерации” и другими нормативными актами.

Основной задачей налоговых органов Российской Федерации является контроль за соблюдением законодательства о налогах, правильностью их исчисления, полнотой и своевременностью внесения в соответствующие бюджеты государственных налогов и других платежей, установленных законодательством [5].

Целью системы управления налогообложением является оптимальное и эффективное развитие экономики посредством воздействия субъекта управления (государство в лице налоговых органов) на объекты управления (организация и физические лица). Воздействие осуществляется через систему установленных законодательством налогов.

Одним из основных инструментов государственного регулирования экономических отношений в условиях рыночной экономики является налоговая политика, которая влияет на экономическое и социальное развитие общества. Налоговая система Российской Федерации представлена совокупностью налогов, сборов, пошлин и других платежей, взимаемых в установленном порядке с плательщиков – юридических и физических лиц на территории страны, а также форм и методов их построения. Автоматизированная информационная система “налогообложение” позволяет расширить круг решаемых задач, повысить аналитичность, обоснованность и своевременность принимаемых решений, снизить трудоемкость и рационализировать управленческую деятельность налоговых инспекций [5].

Автоматизированная информационная технология в налоговой системе – это совокупность методов, информационных процессов и программно-технических средств, объединенных в технологическую цепочку, обеспечивающую сбор, обработку, хранение, распространение и отображение информации с целью снижения трудоемкости процессов использования информационного ресурса, а также повышения их надежности и оперативности.

Особо выделяется подсистема учета налоговых сборов с физических лиц. Каждое предприятие ежегодно сдает отчет в налоговую инспекцию по доходам и удержанным налогам с налогоплательщиков. В государственной налоговой инспекции (ГНИ) внедрена программа «Налоговый инспектор», разработанная в FoxPro для MS DOS. Эта программа распространена по всем предприятиям и реализует Приложение 14 (отчет на дискетах). Ввод информации в Базу Данных является достаточно трудоемким и требует от исполнителя (обычно это бухгалтер по расчету заработной платы) больших затрат времени. Нами установлено, что для ввода данных на 100 человек требуется около четырех рабочих дней. Кроме этого документа предприятие предоставляет сведения о доходах и налогах в твердой копии (бумажный документ) по формам НДФЛ1 и НДФЛ2. Эти документы также формируются по итогам года. И одновременно с отчетом в налоговую инспекцию предоставляется карточка учета ЕСН. Заполнение всех указанных форм по всем сотрудникам предприятия - работа рутинная и отвлекает исполнителя от своих прямых обязанностей. Тем более, налоговые органы предъявляют высокие требования к заполнению этих документов.

Для избавления бухгалтера от рутины на этом участке работы мы предложили собственную разработку, реализующую все вышеперечисленные отчеты.