Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДП_Кулаков_n.doc
Скачиваний:
16
Добавлен:
25.04.2019
Размер:
3.22 Mб
Скачать

2.2.2.4. Отчет о наличии товаров на складе продовольственных товаров и их количестве на текущую дату (Отчет 3)

Просмотр отчета о наличии товаров на складе и их количестве на текущую дату реализован на основе запроса на выборку, созданного в конструкторе запросов (Tov_Nal). На языке SQL запрос выглядит следующим образом:

SELECT Tovar.ind_Tov, Tovar.Tovar, Tovar.Ed_Chran, Tovar.Cena_In, Tovar.Cena_Out, Tovar.Kol_Tov_Skl

FROM Tovar

WHERE (((Tovar.Kol_Tov_Skl)>0))

ORDER BY Tovar.Tovar;

На основе запроса из таблицы “Информация о товаре (справочник товара)” (Tovar) выбираются записи, значение поля наличия на складе (Kol_Tov_Skl) в которых больше нуля.

Просмотр отчета инициируется щелчком левой кнопки манипулятора “мышь” по кнопке “Наличие товара на текущие дату и время” главной кнопочной формы (см. рисунок 2.4). Можно получить твердую копию отчета (напечатать его), щелкнув левой кнопкой манипулятора “мышь” по расположенной рядом кнопке “Печать отчета о наличии товара на текущие дату и время”.

Форма отчета о наличии товаров на складе и их количестве на текущую дату в режиме конструктора представлена на рисунке 2.20.

Рисунок 2.20 - Форма отчета о наличии товаров на складе продовольственных товаров и их количестве на текущую дату

Пример формы отчета о наличии товаров на складе и их количестве на текущую дату на рисунке 2.21.

Рисунок 2.21 - Пример формы отчета о наличии товаров на складе продовольственных товаров и их количестве на текущую дату

Отчет содержит всю необходимую информацию. Его легко просмотреть в MS Word и сохранить в формате RTF.

2.2.2.5. Отчет об ущербе от просроченного товара (Отчет 4)

На рисунке 2.22 представлена экранная форма формирования двух выходных документов – отчет об ущербе от просроченного товара (Отчет 4) и акта списания просроченного товара (Отчет 5).

Основные элементы формы обозначены выносками 1 – 10.

1 – контрольная дата (элемент типа поле), на которую определяются товары с просроченным сроком реализации. При открытии формы в поле отображается текущая дата. При необходимости ее можно отредактировать; 2 – индекс кладовщика, необходимый для связи с таблицей “Кладовщики” (Kladov);

Рисунок 2.22 - Форма списания просроченного товара

3 – список кладовщиков, необходимый для выбора Ф.И.О. кладовщика и запоминания его индекса; 4 – подчиненная форма/отчет “подчиненная форма Prosr_Tov”, необходимая для отображения информации о просроченных товарах на контрольную дату. Информация формируется на основе запроса “Prosr_Tov”, текст на языке SQL которого приведен ниже

SELECT Tovar.ind_Tov, Tovar.Tovar, Tovar.Ed_Chran, Tovar.Cena_In, Tovar.Cena_Out, Input.Ost_tov, DateValue(Input!Date_Proizv)+Tovar!Srok_Chran AS Date_Realiz, [Cena_In]*[Ost_tov] AS U_in, [Cena_Out]*[Ost_tov] AS U_out FROM Tovar INNER JOIN (Mesto_Chran INNER JOIN [Input] ON Mesto_Chran.ind_Chran = Input.ind_Chran) ON Tovar.ind_Tov = Input.ind_Tov WHERE (((Input.Ost_tov)>0) AND ((DateValue([Input]![Date_Proizv]) +[Tovar]![Srok_Chran])<[Forms]![Spis_Tov]![Date_Real])) ORDER BY Tovar.Tovar;

5 – кнопка “Обновить на контрольную дату” (B_Prosro), после нажатия на которую в подчиненной форме будет отражаться информация, соответствующая введенной контрольной дате; 6, 7 – кнопки (B_Prosr_Tov, B_Prin_Prosr), после нажатия на которые будет отображаться в отдельном окне или печататься “Отчет об ущербе от просроченного товара” (Отчет 4), соответственно; 8, 9 – кнопки (B_Akt_Spis, B_Prin_Akt), после нажатия на которые будет отображаться в отдельном окне или печататься “Акт списания просроченного товара” (Отчет 5), соответственно; 10 – кнопка “Формирование таблиц списания” (B_Tab_Akt), после нажатия на которую происходит автоматизированное добавление записей в таблицу “Информация о просроченных товарах” (Prosrotch), корректировка количества товаров в таблицах “Информация о получении товара” (Input), “Информация о месте хранения товара” (Mesto_Chran), “Информация о товаре (справочник товара)” (Tovar), а также корректировка полей индекс кладовщика (ind_Kladov) и итоговая стоимость (Itogo) таблицы “Информация об актах списания просроченных товаров” (Akt_Spis). Функциональная реализация нажатия кнопки “Формирование таблиц списания” (B_Tab_Akt) основана на трех запросах Fn_Out, Add_Out и Obn_Kol_TO, коды которых на языке SQL приведены ниже.

Код запроса Fn_Out на языке SQL, формирующего запись, которую необходимо добавлять в таблицу “Информация о выдачи товара” (Output):

SELECT DISTINCT Kvit_Out.ind_Kvit_Out, Input.ind_Tov, CInt(Forms!Kvit_Out_F!Kol_Tov) AS Kol_Tov, Tovar!Cena_Out*Forms!Kvit_Out_F!Kol_Tov AS Stoim, CInt(Forms!Kvit_Out_F!ind_Mesto_Chran) AS ind_Chran, Input.ind_In FROM Kvit_Out, [Output], Tovar INNER JOIN (Mesto_Chran INNER JOIN [Input] ON Mesto_Chran.ind_Chran = Input.ind_Chran) ON Tovar.ind_Tov = Input.ind_Tov WHERE (((Kvit_Out.ind_Kvit_Out)=[Forms]![Kvit_Out_F]![ind_Kvit_Out]) AND ((Input.ind_Tov)=CInt([Forms]![Kvit_Out_F]![Sel_Tov].[Value])) AND ((Input.ind_In)=[Forms]![Kvit_Out_F]![ind_In]));

Код запроса Add_Out на языке SQL, добавляющего запись в таблицу “Информация о выдачи товара” (Output):

INSERT INTO [Output] ( ind_Kvit_Out, ind_Tov, ind_In, Kol_Tov, Stoim, ind_Chran ) SELECT DISTINCT Fn_Out.ind_Kvit_Out, Fn_Out.ind_Tov, Fn_Out.ind_In, Fn_Out.Kol_Tov, Fn_Out.Stoim, Fn_Out.ind_Chran FROM Fn_Out;

Код запроса Obn_Kol_TO на языке SQL, реализующего корректировку количества товаров в таблицах “Информация о получении товара” (Input), “Информация о месте хранения товара” (Mesto_Chran), а также полей индекс кладовщика (ind_Kladov) и итоговая стоимость (Itogo) таблицы “Информация об актах списания просроченных товаров” (Akt_Spis):

UPDATE Tovar INNER JOIN (Mesto_Chran INNER JOIN (Kvit_Out INNER JOIN ([Input] INNER JOIN [Output] ON Input.ind_In = Output.ind_In) ON Kvit_Out.ind_Kvit_Out = Output.ind_Kvit_Out) ON (Mesto_Chran.ind_Chran = Output.ind_Chran) AND (Mesto_Chran.ind_Chran = Input.ind_Chran)) ON (Tovar.ind_Tov = Output.ind_Tov) AND (Tovar.ind_Tov = Input.ind_Tov) SET [Input].Ost_tov = Input!Ost_tov-Forms!Kvit_Out_F!Kol_Tov, Mesto_Chran.Kol_Tov = Mesto_Chran!Kol_Tov-Forms!Kvit_Out_F!Kol_Tov, Tovar.Kol_Tov_Skl = Tovar!Kol_Tov_Skl-Forms!Kvit_Out_F!Kol_Tov, [Output].Kol_Tov = Forms!Kvit_Out_F!Kol_Tov, Kvit_Out.ind_Kladov = Forms!Kvit_Out_F!ind_Kladov, Kvit_Out.Itogo = Kvit_Out!Itogo+Output!Stoim WHERE (((Kvit_Out.ind_Kvit_Out)=[Forms]![Kvit_Out_F]![ind_Kvit_Out]) AND ((Output.ind_Out)=DLast([Output]![ind_Out],"Output")) AND ((Input.ind_In)=[Forms]![Kvit_Out_F]![ind_In]));

ПО формы списания просроченного товара (см. рисунок 2.22) представлено в прилож. 5.

Для отладки ПО, реализующего запросы Fn_Out, Add_Out и Obn_Kol_TO на форме списания просроченного товара (см. рисунок 2.22) были добавлены две кнопки, представленные на рисунке 2.23 в режиме конструктора форм.

Рисунок 2.23 - Форма списания просроченного товара в режиме отладки

Выносками 1, 2 обозначены визуальные компоненты типа кнопка, реализующие 1 – запрос Add_Out и 2 – запрос Obn_Kol_TO. После отладки ПО в процедуру Private Sub B_Tab_Akt_Click() (см. прилож. 5) следует добавить процедуры реализации соответствующих запросов,

' Добавить таблицу просроченных товаров (Prosrotch)

Call B_Add_Tov_Click

' Удалить из таблиц Input, Mesto_Cran, Tovar просроченные товары

Call B_Del_Tov_Click

а кнопки, отмеченные выносками 1, 2 – удалить.

Отчет об ущербе от просроченного товара (Отчет 4) в режиме конструктора представлен на рисунке 24.

Рисунок 2.24 - Отчет об ущербе от просроченного товара в режиме конструктора

Формирование полей, отмеченных выносками 1 – 4 представлено в таблице 2.13. № п/п соответствует номеру выноски.

Таблица 2.13 - Формирование Ф.И.О. выбранного пользователя

№ п/п

Имя визуального компонента

Данные

Формат поля

Описание

Date_C

=Формы!Spis_Tov!Date_Real

Краткий формат даты

Контрольная дата

Ush_in

=Sum([U_in])

Денежный

Ущерб по цене получения товара

Ush_out

=Sum([U_out])

Денежный

Ущерб по цене отпуска товара

Kladov

=Формы!Spis_Tov!Sel_Kladov.Text

Текстовый

Ф.И.О. кладовщика

Значения полей, обозначенных выносками 1 – 4, берутся из формы списания просроченного товара (Spis_Tov) (см. рисунок 2.22) из соответствующих свойств компонентов формы.

Информационная таблица отчета формируется на основе запроса выше рассмотренного запроса “Prosr_Tov”.

На рисунке 2.25 представлен пример отчета об ущербе от просроченного товара.

Рисунок 2.25 - Пример отчета об ущербе от просроченного товара

Для просмотра отчета об ущербе от просроченного товара необходимо щелкнуть левой кнопкой манипулятора “мышь” по кнопке “Отчет о просроченном товаре” формы списания просроченного товара (см. рисунок 2.22).

При необходимости можно получить твердую копию квитанции выдачи товара, нажав кнопку “Печать отчета по квитанции” (выноска 7 рисунка 2.22).

Отчет легко просмотреть в MS Word и сохранить в формате RTF.