Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 (Восстанов.doc
Скачиваний:
29
Добавлен:
23.04.2019
Размер:
4.92 Mб
Скачать

6. Разработка программного обеспечения арм

6.1 Методы и средства разработки программного обеспечения

Система разработана в СУБД Ассеss 2003. В СУБД Ассеss 2003 большинство несложных информационных задач решаются без программирования. Для создания более сложных приложений используется язык программирования Visual Basic for Application. Язык Visual Basic является объектно-ориентированным языком программирования, ориентированным на обработку событий (нажатие определенной кнопки или клавиши, изменение данных и др.). Программа составляется из инструкций, похожих на команды других современных языков, таких как Раscal и др. С другой стороны, каждый модуль программы привязан к конкретному объекту (к форме или отчету), а каждая процедура модуля соответствует какому-либо событию, происходящему с данным объектом.

Широко используется язык QВЕ (Query by Example - запрос по образцу) – таблично-ориентированный язык для работы в диалоговом режиме с реляционными базами данных. Язык предназначен для конечного пользователя и позволяет описывать запросы для создания, изменения, поиска и контроля БД, Достоинство языка QВЕ: простота для изучения, понимания и применения.

Каждый запрос в языке QВЕ может выполнять сразу несколько реляционных операций: соединение таблиц, отбор полей, выбор записей, а также некоторые вычисления.

В основу языка положены две концепции:

  • программирование запросов представляет собой заполнение двумерных таблиц – шаблонов,

  • таблица - шаблон представляет собой пример решения задачи, как оно видится конечному пользователю.

В шаблоне запроса в качестве заголовков столбцов применяются имена полей из БД, в строках таблицы задаются критерии поиска, выборки, сортировки или формулы вычисления, определяется видимость полей и т. п. Связь исходных таблиц между собой, но общим полям также описывается в шаблоне запроса.

Результат выполнения запроса выглядит в виде таблицы, которую можно сохранить, переименовать и далее работать как с обычной таблицей БД.

    1. Cостав и структура программного обеспечения (по) арм

База данных разделена на 2 файла, благодаря чему уменьшен обмен данными и пользователи могут одновременно использовать свои автоматизированные рабочие места.

    1. Описание запросов и макросов.

Бухгалтерия:

Структура запросов для АРМ главного бухгалтера представлена на таблице 6.1.

Таблица 6.1 – Структура запросов для АРМ главного бухгалтера

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Себестоимость продукции»

З_СебесПрод

Название продукции, Дата, Единица измерения, Название подразделения

Таблица «Продукция», «Себестоимость», «Единица измерения», «подразделение»

Текст запроса

SELECT [6 Продукция].Название_прод, [18 Себестоимость].Дата, Sum(([Амортизационные расходы]![Сумма]+[ИтогРасЛиста]![Начисление]+[Затраты на изготовление продукции]![Затраты])/[17 Сод_Плана]![Количество_факт]) AS Себестоимость, [4 Ед_изм].Название, [3 Подразделение].Название_подр

FROM ([4 Ед_изм] INNER JOIN ((([3 Подразделение] INNER JOIN (([13 Тех_опер] INNER JOIN ИтогРасЛиста ON [13 Тех_опер].Номер = ИтогРасЛиста.Номер) INNER JOIN ([11 Наряд] INNER JOIN ([10 Справочник_тар] INNER JOIN [12 Сод_наряда] ON [10 Справочник_тар].номер_сп = [12 Сод_наряда].номер_сп) ON [11 Наряд].Номер_наряда = [12 Сод_наряда].Номер_наряда) ON ([13 Тех_опер].Номер = [12 Сод_наряда].Номер) AND ([13 Тех_опер].Номер = [10 Справочник_тар].Номер)) ON [3 Подразделение].Номер_подразделения = [11 Наряд].Номер_подразделения) INNER JOIN [17 Сод_Плана] ON [3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения) INNER JOIN [18 Себестоимость] ON [3 Подразделение].Номер_подразделения = [18 Себестоимость].Номер_подразделения) ON [4 Ед_изм].Код_ед_изм = [18 Себестоимость].Код_ед_изм) INNER JOIN (([6 Продукция] INNER JOIN [Амортизационные расходы] ON [6 Продукция].Название_прод = [Амортизационные расходы].Название_прод) INNER JOIN [Затраты на изготовление продукции] ON [6 Продукция].Название_прод = [Затраты на изготовление продукции].Название_прод) ON ([6 Продукция].Код_продукции = [18 Себестоимость].Код_продукции) AND ([6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции) AND ([6 Продукция].Код_продукции = [11 Наряд].Код_продукции) AND ([4 Ед_изм].Код_ед_изм = [6 Продукция].Код_ед_изм)

GROUP BY [6 Продукция].Название_прод, [18 Себестоимость].Дата, [4 Ед_изм].Название, [3 Подразделение].Название_подр, [13 Тех_опер].Номер;

Продолжение таблицы 6.1

Формирование документа «Расчетный лист»

З_РасчЛист

ФИО сотрудника, Месяц, Название должности, Название подразделения, Начисление, Премия

Таблицы «Сотрудники»,«Должности», «Справочник_тар», «Расч_лист», «Сод_расчетного листа», «Сод_наряда»

Текст запроса

SELECT [1 Сотрудники].ФИО_сотрудника, [14 Расч_лист].Месяц, [9 Должность].Название, [3 Подразделение].Название_подр, ИтогРасЛиста.Начисление, ИтогРасЛиста.Премия, ИтогРасЛиста.[Сумма начисления]

FROM [9 Должность] INNER JOIN ([3 Подразделение] INNER JOIN ([1 Сотрудники] INNER JOIN ([14 Расч_лист] INNER JOIN ИтогРасЛиста ON [14 Расч_лист].Номер = ИтогРасЛиста.Номер) ON [1 Сотрудники].Табельный_номер = [14 Расч_лист].Табельный_номер) ON [3 Подразделение].Номер_подразделения = [14 Расч_лист].Номер_подразделения) ON [9 Должность].Код_должности = [1 Сотрудники].Код_должности

GROUP BY [1 Сотрудники].ФИО_сотрудника, [14 Расч_лист].Месяц, [9 Должность].Название, [3 Подразделение].Название_подр, ИтогРасЛиста.Начисление, ИтогРасЛиста.Премия, ИтогРасЛиста.[Сумма начисления];

Вычисление итогов для «Расчетного листа»

З_ИтогДляРасч

Начисление, Премия, Итого

Таблицы «Сод_расч_листа»

Текст запроса

SELECT Sum([12 Сод_наряда]![Количество_факт]*[13 Тех_опер]![Продолжительность]*[10 Справочник_тар]![Расценка]) AS Начисление, [15 Сод_расч_листа].Премия, [Начисление]+[15 Сод_расч_листа]![Премия] AS [Сумма начисления], [1 Сотрудники].ФИО_сотрудника, [15 Сод_расч_листа].Номер

FROM ([15 Сод_расч_листа] INNER JOIN [13 Тех_опер] ON [15 Сод_расч_листа].Номер = [13 Тех_опер].Номер) INNER JOIN ([1 Сотрудники] INNER JOIN (([14 Расч_лист] INNER JOIN [10 Справочник_тар] ON [14 Расч_лист].Номер = [10 Справочник_тар].Номер) INNER JOIN [12 Сод_наряда] ON ([10 Справочник_тар].номер_сп = [12 Сод_наряда].номер_сп) AND ([14 Расч_лист].Номер = [12 Сод_наряда].Номер)) ON [1 Сотрудники].Табельный_номер = [14 Расч_лист].Табельный_номер) ON ([14 Расч_лист].Номер = [15 Сод_расч_листа].Номер) AND ([13 Тех_опер].Номер = [12 Сод_наряда].Номер) AND ([13 Тех_опер].Номер = [10 Справочник_тар].Номер)

GROUP BY [15 Сод_расч_листа].Премия, [1 Сотрудники].ФИО_сотрудника, [15 Сод_расч_листа].Номер, [14 Расч_лист].Номер, [13 Тех_опер].Продолжительность;

Формирование отчёта «Графики и тенденции»

З_ГрафИТенд

Дата начала, дата окончания, Название продукции, Название подразделения, Факт, План,

Таблицы «План производства»,«СодПлана», «Продукция», «Подразделение»

Текст запроса

SELECT [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [Затраты на изготовление продукции].Затраты, СебесПрод.Себестоимость

FROM (([6 Продукция] INNER JOIN [Затраты на изготовление продукции] ON [6 Продукция].Название_прод = [Затраты на изготовление продукции].Название_прод) INNER JOIN СебесПрод ON [6 Продукция].Название_прод = СебесПрод.Название_прод) INNER JOIN ([3 Подразделение] INNER JOIN ([16 ПланПроизводства] INNER JOIN [17 Сод_Плана] ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана]) ON [3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения) ON [6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции

GROUP BY [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [Затраты на изготовление продукции].Затраты, СебесПрод.Себестоимость;

Структура запросов для АРМ бухгалтера по учету труда и з/п представлена на таблице 6.2.

Таблица 6.2 - Структура запросов для АРМ бухгалтера по учету труда и з/п

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Наряд»

З_Наряд

Номер наряда, Подразделение, Сотрудник, Дата, Название технологической операции, Количество, Брак

Таблица «Подразделения», «Наряд», «СодНаряда», «Сотрудники», «Технологические операции», «Справочник_тар»

Текст запроса

SELECT [6 Продукция].Название_прод, [1 Сотрудники].ФИО_сотрудника, [11 Наряд].Дата, [10 Справочник_тар].Расценка, [13 Тех_опер].Название, [12 Сод_наряда].Количество_факт, [12 Сод_наряда].Брак, [12 Сод_наряда].Количество_план, [3 Подразделение].Название_подр, Sum([12 Сод_наряда]![Количество_факт]*[13 Тех_опер]![Продолжительность])*[10 Справочник_тар]![Расценка] AS Начислено, [11 Наряд].Номер_наряда

FROM [6 Продукция] INNER JOIN ([3 Подразделение] INNER JOIN ([13 Тех_опер] INNER JOIN (([1 Сотрудники] INNER JOIN [11 Наряд] ON [1 Сотрудники].Табельный_номер = [11 Наряд].Табельный_номер) INNER JOIN ([10 Справочник_тар] INNER JOIN [12 Сод_наряда] ON [10 Справочник_тар].номер_сп = [12 Сод_наряда].номер_сп) ON [11 Наряд].Номер_наряда = [12 Сод_наряда].Номер_наряда) ON ([13 Тех_опер].Номер = [12 Сод_наряда].Номер) AND ([13 Тех_опер].Номер = [10 Справочник_тар].Номер)) ON [3 Подразделение].Номер_подразделения = [11 Наряд].Номер_подразделения) ON [6 Продукция].Код_продукции = [11 Наряд].Код_продукции

GROUP BY [6 Продукция].Название_прод, [1 Сотрудники].ФИО_сотрудника, [11 Наряд].Дата, [10 Справочник_тар].Расценка, [13 Тех_опер].Название, [12 Сод_наряда].Количество_факт, [12 Сод_наряда].Брак, [12 Сод_наряда].Количество_план, [3 Подразделение].Название_подр, [11 Наряд].Номер_наряда;

Структура запросов для АРМ бухгалтера по учету труда и с/б родукции представлена на таблице 6.3.

Таблица 6.3 - Структура запросов для АРМ бухгалтера по учету труда и с/б

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Акт на списание материалов»

З_АктСпис

Номер акта, КодПродукции, Дата, Название материала, Количество

Таблица «АктНаСпис», «Продукция», «СодАкта», «Материалы»

Текст запроса

SELECT [6 Продукция].Название_прод, [2 Материалы].Название, [7 Акт].Дата_акта, [7 Акт].Номер_акта, [8 Сод_акта].Количество, Sum([8 Сод_акта]![Количество]*[2 Материалы]![Цена]) AS Сумма

FROM ([6 Продукция] INNER JOIN [7 Акт] ON [6 Продукция].Код_продукции = [7 Акт].Код_продукции) INNER JOIN ([2 Материалы] INNER JOIN [8 Сод_акта] ON [2 Материалы].Код_материала = [8 Сод_акта].Код_материала) ON [7 Акт].Номер_акта = [8 Сод_акта].Номер_акта

GROUP BY [6 Продукция].Название_прод, [2 Материалы].Название, [7 Акт].Дата_акта, [7 Акт].Номер_акта, [8 Сод_акта].Количество;

Формирование «Справки о затратах»

З_Затрат

Название продукции, Дата, Затраты

Таблицы «Затраты», «Продукция»

Текст запроса

SELECT [19 Затраты].Дата, Sum([ИтогРасЛиста]![Начисление]+[Амортизационные расходы]![Сумма]+[Акт на списание]![Сумма]) AS Затраты, [6 Продукция].Название_прод

FROM ((([5 Оборудование] INNER JOIN ([2 Материалы] INNER JOIN (([6 Продукция] INNER JOIN [Акт на списание] ON [6 Продукция].Название_прод = [Акт на списание].Название_прод) INNER JOIN [Амортизационные расходы] ON [6 Продукция].Название_прод = [Амортизационные расходы].Название_прод) ON [2 Материалы].Код_материала = [6 Продукция].Код_материала) ON [5 Оборудование].Номер_об = [6 Продукция].Номер_об) INNER JOIN ((ИтогРасЛиста INNER JOIN [1 Сотрудники] ON ИтогРасЛиста.ФИО_сотрудника = [1 Сотрудники].ФИО_сотрудника) INNER JOIN [11 Наряд] ON [1 Сотрудники].Табельный_номер = [11 Наряд].Табельный_номер) ON [6 Продукция].Код_продукции = [11 Наряд].Код_продукции) INNER JOIN [17 Сод_Плана] ON [6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции) INNER JOIN [19 Затраты] ON [6 Продукция].Код_продукции = [19 Затраты].Код_продукции

GROUP BY [19 Затраты].Дата, [6 Продукция].Название_прод;

Вычисление «Амортизационных расходов»

З_АмортРасх

Название продукции, Сумма

Таблицы «Продукция»

Текст запроса

SELECT [6 Продукция].Название_прод, Sum([5 Оборудование]![Нормы_отчислений]*[13 Тех_опер]![Продолжительность]*[12 Сод_наряда]![Количество_факт]) AS Сумма

FROM ([5 Оборудование] INNER JOIN ([13 Тех_опер] INNER JOIN [12 Сод_наряда] ON [13 Тех_опер].Номер = [12 Сод_наряда].Номер) ON [5 Оборудование].Номер_об = [13 Тех_опер].Номер_об) INNER JOIN [6 Продукция] ON [5 Оборудование].Номер_об = [6 Продукция].Номер_об

GROUP BY [6 Продукция].Название_прод;

Производственное подразделение:

Структура запросов для АРМ начальника ПП представлена на таблице 6.4.

Таблица 6.4 - Структура запросов для АРМ начальника ПП

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Плана производства»

З_ПланПроизв

Название Продукции, Дата начала, Дата окончания, Название подразделения, Количество план, количество факт, Сумма

Таблица «План производства», «Продукция», «СодПлана», «Подразделение»

Текст запроса

SELECT [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты] AS [Сумма потраченая на производство]

FROM ([6 Продукция] INNER JOIN [Затраты на изготовление продукции] ON [6 Продукция].Название_прод = [Затраты на изготовление продукции].Название_прод) INNER JOIN ([3 Подразделение] INNER JOIN ([16 ПланПроизводства] INNER JOIN [17 Сод_Плана] ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана]) ON [3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения) ON [6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции

GROUP BY [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты];

Формирование «Накладной на готовую продукцию»

З_НаклНаГотов

Название продукции, название подразделения, Дата, Количество, Цена

Таблицы «Подразделения», «Продукция», «ГотовПрод», «СодГотовПрод»

Текст запроса

SELECT [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [28 Готов_прод].Дата, [29 Сод_готов_прод].Количество, [29 Сод_готов_прод]![Количество]*[СебесПрод]![Себестоимость] AS Цена

FROM [3 Подразделение] INNER JOIN ([28 Готов_прод] INNER JOIN (([6 Продукция] INNER JOIN [29 Сод_готов_прод] ON [6 Продукция].Код_продукции = [29 Сод_готов_прод].[Код продукции]) INNER JOIN СебесПрод ON [6 Продукция].Название_прод = СебесПрод.Название_прод) ON [28 Готов_прод].Код_готов = [29 Сод_готов_прод].Код_готов) ON [3 Подразделение].Номер_подразделения = [28 Готов_прод].Номер_подразделения

GROUP BY [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [28 Готов_прод].Дата, [29 Сод_готов_прод].Количество, [29 Сод_готов_прод]![Количество]*[СебесПрод]![Себестоимость];

Формирование отчета «О выполнении плана»

З_ВыпПлана

Название продукции, Название подразделения, количество план, количество факт, процент выполнения

Таблицы «Продукция», «Подразделения», «План производства», «СодПлана»

Текст запроса

SELECT [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, Незав.[Процент выполнения]

FROM ([6 Продукция] INNER JOIN ([3 Подразделение] INNER JOIN Незав ON [3 Подразделение].Название_подр = Незав.Название_подр) ON [6 Продукция].Название_прод = Незав.Название_прод) INNER JOIN ([16 ПланПроизводства] INNER JOIN [17 Сод_Плана] ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана]) ON ([6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции) AND ([3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения);

Структура запросов для АРМ сотрудника по учету труда в ПП представлена на таблице 6.5.

Таблица 6.5 - Структура запросов для АРМ сотрудника по учету труда в ПП

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Наряд»

З_Наряд

Номер наряда, Подразделение, Сотрудник, Дата, Название технологической операции, Количество, Брак

Таблица «Подразделения», «Наряд», «СодНаряда», «Сотрудники», «Технологические операции», «Справочник_тар»

Текст запроса

SELECT [6 Продукция].Название_прод, [1 Сотрудники].ФИО_сотрудника, [11 Наряд].Дата, [10 Справочник_тар].Расценка, [13 Тех_опер].Название, [12 Сод_наряда].Количество_факт, [12 Сод_наряда].Брак, [12 Сод_наряда].Количество_план, [3 Подразделение].Название_подр, Sum([12 Сод_наряда]![Количество_факт]*[13 Тех_опер]![Продолжительность])*[10 Справочник_тар]![Расценка] AS Начислено, [11 Наряд].Номер_наряда

FROM [6 Продукция] INNER JOIN ([3 Подразделение] INNER JOIN ([13 Тех_опер] INNER JOIN (([1 Сотрудники] INNER JOIN [11 Наряд] ON [1 Сотрудники].Табельный_номер = [11 Наряд].Табельный_номер) INNER JOIN ([10 Справочник_тар] INNER JOIN [12 Сод_наряда] ON [10 Справочник_тар].номер_сп = [12 Сод_наряда].номер_сп) ON [11 Наряд].Номер_наряда = [12 Сод_наряда].Номер_наряда) ON ([13 Тех_опер].Номер = [12 Сод_наряда].Номер) AND ([13 Тех_опер].Номер = [10 Справочник_тар].Номер)) ON [3 Подразделение].Номер_подразделения = [11 Наряд].Номер_подразделения) ON [6 Продукция].Код_продукции = [11 Наряд].Код_продукции

GROUP BY [6 Продукция].Название_прод, [1 Сотрудники].ФИО_сотрудника, [11 Наряд].Дата, [10 Справочник_тар].Расценка, [13 Тех_опер].Название, [12 Сод_наряда].Количество_факт, [12 Сод_наряда].Брак, [12 Сод_наряда].Количество_план, [3 Подразделение].Название_подр, [11 Наряд].Номер_наряда;

Формирование документа «Плана производства»

З_ПланПроизв

Название Продукции, Дата начала, Дата окончания, Название подразделения, Количество план, количество факт, Сумма

Таблица «План производства», «Продукция», «СодПлана», «Подразделение»

Текст запроса

SELECT [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты] AS [Сумма потраченая на производство]

FROM ([6 Продукция] INNER JOIN [Затраты на изготовление продукции] ON [6 Продукция].Название_прод = [Затраты на изготовление продукции].Название_прод) INNER JOIN ([3 Подразделение] INNER JOIN ([16 ПланПроизводства] INNER JOIN [17 Сод_Плана] ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана]) ON [3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения) ON [6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции

GROUP BY [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты];

Формирование отчета «Данные о незаверешеном производстве»

З_ДанНезав

Название продукции, Название подразделения, количество, процент выполнения

Таблицы «Продукция», «Подразделения», «Незав», «СодНезав»

Текст запроса

SELECT [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [24 Незав].Дата, [25 Сод незав].Количество, [17 Сод_Плана]![Количество_план]/[17 Сод_Плана]![Количество_факт]*100 AS [Процент выполнения]

FROM [16 ПланПроизводства] INNER JOIN (([6 Продукция] INNER JOIN ([3 Подразделение] INNER JOIN ([24 Незав] INNER JOIN [25 Сод незав] ON [24 Незав].[Код незав] = [25 Сод незав].[Код незав]) ON [3 Подразделение].Номер_подразделения = [24 Незав].Номер_подразделения) ON [6 Продукция].Код_продукции = [25 Сод незав].Код_продукции) INNER JOIN [17 Сод_Плана] ON ([6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции) AND ([3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения)) ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана];

Структура запросов для АРМ сотрудника по учету материалов и продукции в ПП представлена на таблице 6.6.

Таблица 6.6 - Структура запросов для АРМ сотрудника по учету материалов и продукции в ПП

Назначение запроса

Наименование запроса

Параметры

Источник данных: таблица БД или запрос

Формирование документа «Акт на списание материалов»

З_АктСпис

Номер акта, КодПродукции, Дата, Название материала, Количество

Таблица «АктНаСпис», «Продукция», «СодАкта», «Материалы»

Текст запроса

SELECT [6 Продукция].Название_прод, [2 Материалы].Название, [7 Акт].Дата_акта, [7 Акт].Номер_акта, [8 Сод_акта].Количество, Sum([8 Сод_акта]![Количество]*[2 Материалы]![Цена]) AS Сумма

FROM ([6 Продукция] INNER JOIN [7 Акт] ON [6 Продукция].Код_продукции = [7 Акт].Код_продукции) INNER JOIN ([2 Материалы] INNER JOIN [8 Сод_акта] ON [2 Материалы].Код_материала = [8 Сод_акта].Код_материала) ON [7 Акт].Номер_акта = [8 Сод_акта].Номер_акта

GROUP BY [6 Продукция].Название_прод, [2 Материалы].Название, [7 Акт].Дата_акта, [7 Акт].Номер_акта, [8 Сод_акта].Количество;

Формирование документа «Плана производства»

З_ПланПроизв

Название Продукции, Дата начала, Дата окончания, Название подразделения, Количество план, количество факт, Сумма

Таблица «План производства», «Продукция», «СодПлана», «Подразделение»

Текст запроса

SELECT [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты] AS [Сумма потраченая на производство]

FROM ([6 Продукция] INNER JOIN [Затраты на изготовление продукции] ON [6 Продукция].Название_прод = [Затраты на изготовление продукции].Название_прод) INNER JOIN ([3 Подразделение] INNER JOIN ([16 ПланПроизводства] INNER JOIN [17 Сод_Плана] ON [16 ПланПроизводства].[Код плана] = [17 Сод_Плана].[Код плана]) ON [3 Подразделение].Номер_подразделения = [17 Сод_Плана].Номер_подразделения) ON [6 Продукция].Код_продукции = [17 Сод_Плана].Код_продукции

GROUP BY [6 Продукция].Название_прод, [3 Подразделение].Название_подр, [16 ПланПроизводства].[Дата начала], [16 ПланПроизводства].ДатаОкончания, [17 Сод_Плана].Количество_план, [17 Сод_Плана].Количество_факт, [17 Сод_Плана]![Количество_факт]*[Затраты на изготовление продукции]![Затраты];

Формирование отчета «Накладная на готовую продукцию»

З_НаклНаГотов

Название продукции, название подразделения, Дата, Количество, Цена

Таблицы «Подразделения», «Продукция», «ГотовПрод», «СодГотовПрод»

Текст запроса

SELECT [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [28 Готов_прод].Дата, [29 Сод_готов_прод].Количество, [29 Сод_готов_прод]![Количество]*[СебесПрод]![Себестоимость] AS Цена

FROM [3 Подразделение] INNER JOIN ([28 Готов_прод] INNER JOIN (([6 Продукция] INNER JOIN [29 Сод_готов_прод] ON [6 Продукция].Код_продукции = [29 Сод_готов_прод].[Код продукции]) INNER JOIN СебесПрод ON [6 Продукция].Название_прод = СебесПрод.Название_прод) ON [28 Готов_прод].Код_готов = [29 Сод_готов_прод].Код_готов) ON [3 Подразделение].Номер_подразделения = [28 Готов_прод].Номер_подразделения

GROUP BY [3 Подразделение].Название_подр, [6 Продукция].Название_прод, [28 Готов_прод].Дата, [29 Сод_готов_прод].Количество, [29 Сод_готов_прод]![Количество]*[СебесПрод]![Себестоимость];

Описание макросов представлено на рисунке 6.1

Рисунок 6.1 – макросы

Примеры работы программного обеспечения, экранные и отчетные формы представлены в Приложении Е.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]