Відповідність документів і таблиць бд
Ім'я документа |
Ім'я таблиці БД |
Список підприємств |
ПІДПРИЄМСТВА |
Список податків |
ПОДАТКИ |
План надходження податків |
ПЛАН |
Список платіжних доручень |
ПЛАТЕЖІ |
СПЕЦИФІКАЦІЯ ПЛАТЕЖІВ |
Таблиці бази даних заповнюються на основі вхідних (первинних) документів. Наприклад, у таблиці ПІДПРИЄМСТВА імена попий КОД ПЕРЕД і НАИМ ПЕРЕД.
КОНТРОЛЬНИЙ ПРИКЛАД
Заповнити таблиці вихідними даними контрольного приклада.
Контрольний приклад необхідний для перевірки правильності рішення задачі на персональному комп'ютері.
Варто підкреслити, що заповнення таблиць вихідними даними в лабораторній роботі повинне здійснюватися в повній відповідності з обмеженнями, допущеннями й особливостями ПО.
Для нашого приклада таблиці з іменами полів, заповнені конкретними значеннями, виглядають так:
ПІДПРИЄМСТВА |
|
ПОДАТКИ |
||
Код підприємства |
Найменування підприємства |
|
Код податку |
Найменування податку |
КОД ПIД |
НАЙМ ПIД |
КОД ПОД |
НАЙМ ПОД |
|
101 |
Зоря |
|
01 |
Податок на власність |
102 |
Схід |
02 |
Податок на прибуток |
|
103 |
Північ |
03 |
Орендна плата |
|
ПЛАН |
|
ПЛАТЕЖІ |
||||
Код підприємства |
Код податку |
Сума планова |
|
Номер документа |
Код підприємства |
Дата перерахування |
КОД ПIД |
КОД ПОД |
СУМА |
НОМЕР ДОК |
КОД ПIД |
ДАТА |
|
101 |
01 |
200 |
|
01 |
101 |
3.01.03 |
101 |
02 |
400 |
02 |
102 |
3.01.03 |
|
102 |
01 |
150 |
03 |
101 |
5.01.03 |
|
102 |
02 |
400 |
04 |
101 |
15.02.03 |
|
102 |
03 |
600 |
05 |
102 |
5.02.03 |
|
103 |
01 |
800 |
06 |
101 |
17.03.03 |
|
103 |
02 |
200 |
07 |
103 |
8.02.03 |
|
103 |
03 |
250 |
08 |
103 |
23.02.03 |
|
|
09 |
102 |
20.03.03 |
|||
СПЕЦИФІКАЦІЯ ПЛАТЕЖІВ |
|||
Номер документа |
Код підприємства |
Код податку |
Сума оплати |
НОМЕР ДОК |
КОД ПIД |
КОД ПОД |
СУМА |
01 |
101 |
01 |
50 |
01 |
101 |
02 |
50 |
02 |
102 |
03 |
150 |
03 |
101 |
01 |
50 |
04 |
101 |
02 |
50 |
05 |
102 |
02 |
100 |
05 |
102 |
03 |
150 |
06 |
101 |
01 |
100 |
07 |
103 |
01 |
100 |
07 |
103 |
02 |
100 |
08 |
103 |
01 |
500 |
09 |
102 |
02 |
200 |
09 |
102 |
03 |
100 |
Примітка: дані задаються довільно по кількості значень і змістові з урахуванням обмежень.
По приведеним вихідним даним виконаємо вручну рішення поставлених задач (контрольний приклад).
Задача 1. Відберемо платіжні доручення для заданого підприємства «Схід». По відібраних платіжних дорученнях обчислюємо загальні суми оплати по кожнім виді податку для кожного підприємства. Знайдемо відхилення між фактичною і плановою сумою по кожнім виді податку для кожного підприємства. |
У результаті одержимо:
Аналіз оплати податків по підприємству Схiд
Найменування податку |
Сума планова |
Сума оплати |
Недоплати |
Податок на власнiсть |
150 |
|
150 |
Податок на прибуток |
400 |
300 |
100 |
Орендна плата |
600 |
400 |
200 |
Задача 2. Відберемо платежі на задану дату (17.02.03). З відібраних платіжних доручень розрахуємо загальні суми по кожнім виді податку для кожного підприємства. Знайдемо недоплати (план - факт) > 0. |
Обчислимо підсумкові суми по кожнім податку й у цілому по підприємству. У результаті одержимо:
Недоплати підприємств на 17.02.03
Найменування підприємства |
Найменування податку |
Недоплати (у гривнях) |
Схід |
Орендна плата |
300 |
|
Податок на прибуток |
300 |
|
Податок на власність |
150 |
Разом по підприємству: |
|
750 |
Зоря |
Податок на прибуток |
300 |
|
Податок на власність |
100 |
Разом по підприємству: |
|
400 |
Північ |
Орендна плата |
250 |
|
Податок на прибуток |
100 |
|
Податок на власність |
700 |
Разом по підприємству: |
|
1050 |
УСЬОГО: |
|
2200 |
Створення бази даних
Структура бази даних
Реалізуємо побудовану модель у СКБД MS Access.
Основними елементами цієї бази є таблиці: Підприємства, План, Податки, Платежі й Специфікація платежів. Структура таблиць розроблена вище, тому тільки реалізуємо її за допомогою Конструктора створення таблиць.
Таблиця Підприємства
Ім'я поля |
Тип даних |
Розмір поля |
Підпис |
Ключове поле |
Індексоване поле |
КОД ПIД |
Числовий |
Ціле |
Код підприємства |
Так(простий ключ) |
Так(Збіги не допускаються) |
НАЙМ ПIД |
Текстовий |
50 |
Найменування підприємства |
Немає |
Немає |
Таблиця Податки
Ім'я поля |
Тип даних |
Розмір поля |
Підпис |
Ключове поле |
Індексоване поле |
КОД ПОД |
Числовий |
Ціле |
Код податку |
Так(простий ключ) |
Так(Збіги не допускаються) |
НАЙМ ПОД |
Текстовий |
50 |
Найменування податку |
Немає |
Немає |
Таблиця План
Ім'я поля |
Тип даних |
Розмір поля |
Підпис |
Ключове поле |
Індексоване поле |
КОД ПIД |
Числовий |
Ціле |
Код підприємства |
Так(складений ключ) |
Немає |
КОД ПОД |
Числовий |
Ціле |
Код податку |
Так(складений ключ) |
Немає |
СУМА |
Грошовий |
|
Планована сума |
Немає |
Немає |
Таблиця Платежі
Ім'я поля |
Тип даних |
Розмір поля |
Підпис |
Ключове поле |
Індексоване поле |
КОД ПIД |
Числовий |
Ціле |
Код підприємства |
Немає |
Немає |
НОМЕР ДОК |
Числовий |
Ціле |
Номер документа |
Так(простий ключ) |
Немає |
ДАТА |
Дата/час |
|
Дата оплати |
Немає |
Немає |
Таблиця Специфікація платежів
Ім'я поля |
Тип даних |
Розмір поля |
Підпис |
Ключове поле |
Індексоване поле |
НОМЕР ДОК |
Числовий |
Ціле |
Номер документа |
Так(складений ключ) |
Немає |
КОД ПОД |
Числовий |
Ціле |
Код податку |
Так(складений ключ) |
Немає |
СУМА |
Грошовий |
|
Планована сума |
Немає |
Немає |
Схема даних
Відповідно до логічної структури РБД будуємо схему даних, з огляду на призначені ключові поля і побудовані зв'язки в РБД.
Користувальницькі форми
Для полегшення введення інформації, і для можливості використання рядовим користувачем бази використовувалися форми для введення даних.
Це можуть прості форми, побудовані по одній таблиці:
Або більш складні підлеглі форми
Складно підлегла форма звичайно, будується на основі двох або більш таблиць, зв'язаних зв'язком один-до-багатьох. Форми формуються за допомогою майстра або конструктора.
Побудуємо й основну форму, що є вхідним документом – це платіжне доручення (ПД). Додамо формі точно такий вид.
Форма побудована на основі таблиці Специфікація платежів – одержуємо форму Специфікація платежів підлегла, після створюємо форму Платежі на основі таблиці Платежі, на яку поміщаємо підлеглу і встановлюємо полагоджене й основне поле – Номер документа. Таке поле утримується в обох таблицях і через нього вони зв'язуються: у головній формі це поле основне а в підлеглій підлегле.
Уведення даних
Після створення форм, уведення даних стає елементарним. Заповнюємо базу новими платежами.
Алгоритм рішення задачі
Для рішення поставлених задач використовуємо наступний алгоритм.
Задача 1.
Відберемо спочатку плановані надходження по конкретному підприємству. Тобто виявимо найменування підприємства, найменування податків, що це підприємство повинне вносить щокварталу в бюджет. З цією інформацією надалі будуть звірятися дані про проплату.
Далі підсумуємо усі проплати по підприємству, по кожнім податку окремо і зведе ці дані в загальну схему.
Задача 2.
При відсутності обмежень на дату проплати, використовуючи дані по задачі 1, виявляємо недоплати по кожному підприємству. Тому що задача 2 вирішується з урахуванням дати, перед використанням даних, що стосуються проплати, оберемо тільки ті дані, що відповідають умові.
Рішення задач проведемо за допомогою створення запитів і звітів.
Створення запитів
Розробка запитів
Складання запитів буде проводитися за допомогою Конструктора. Тому що дані будуть просто відбиратися при виконанні деяких умов, то використовуємо запити на вибірку.
При формуванні запиту враховуємо розміщення всіх необхідних даних, а для універсальності створюваного запиту внесемо в умову добору не найменування підприємства, а виклик вікна діалогу, для можливості введення користувачем довільного підприємства. Тому що проплати відбуваються в різний час, тобто частинами, підсумуймо проплаты підприємства по кожнім виді податку за допомогою групової операції підсумовування.
Аналогічно будуємо запит на визначення плану.
Тепер на основі цих двох запитів будуємо запит, що визначить відповідність недоплат по обраному підприємству.
Вибираючи дані з перших двох запитів, необхідно установити між ними відповідність, однак в обмеженнях задачі є можливість, що підприємство взагалі могло не оплатити який-небудь вид податку, тому прямої відповідності між записами може не виявитися. Для формування відповідності введемо об'єднання записів, що вибирає всі записи запиту за планом і тільки ті записи запиту по платежах, що їм відповідають.
Для конкретної задачі, наприклад, для підприємства «Схід», маємо
Для рішення Задачі 2, відберемо платежі на задану дату.
Для цього внесемо умову по даті надходження платежу в добір.
Створення звітів і головної кнопкової форми
Одержання звіту за допомогою Майстра звітів
Найпростішим способом створення звіту є використання Майстра звітів. Дотримуючись інструкцій майстра, будуємо простий звіт по запиті Аналіз недоплат по підприємству.
Коректування макета звіту за допомогою
Очевидно, що звіт трішки не відповідає вимогам задачі, подальше коректування його інтерфейсу , а також внесення нових полів і т.п., можна провести в режимі Конструктора.
Створення головної кнопкової форми
Створюємо
нову форму в режимі конструктора й
одержуємо порожню форму. Наносимо
необхідний елемент керування, при
увімкненому майстрі будування
,
тоді при нанесенні кнопки до роботи
долучається майстер, дотримуючись
інструкцій якого і, створюємо кнопки
на відкриття форм: Підприємства, Податки,
Плановані платежі, а також для печатки
або перегляду звітів: Аналіз недоплат
по підприємству, Виявлення недоплат,
Виявлення недоплат на задану дату.
