Задание 6. Создание приходного и расходного ордеров
О ткройте проект “АРМ Касса”, войдите в меню Project и выберите пункт Add Form. На экране появиться заготовка новой формы Form3.
Щелкните на появившемся изображении формы. Перейдите в окно свойств и выберите шрифт (Font) Arial 11, жирный. Затем измените в окне свойств формы имя “Form3” на “Приходный кассовый ордер”.
Добавьте в форму метки Label1 Label2 окна редактирования TextBox1 TextBox6 и три кнопки Command1 Command3. Все эти элементы расположите в порядке, указанном на рисунке и измените свойства объектов, расположенных на форме, в соответствии с данными, приведенными в таблице.
Объект |
Свойство |
Значения |
Form3 |
Caption |
Приходный кассовый ордер |
Label1 |
Caption |
№, Дата, Счет, Сумма, Получено от |
Label2 |
Caption |
Основание |
Text1 |
Caption |
1 |
Text 2 |
Caption |
Ничего |
Text 3 |
Caption |
Ничего |
Text 4 |
Caption |
Ничего |
Text 5 |
Caption |
Ничего |
Text 6 |
Caption |
Ничего |
Command1 |
Caption |
Выход |
Command2 |
Caption |
Новый ордер |
Command3 |
Caption |
Учесть ордер |
Двойным щелчком на поле формы Form3 откройте заготовку процедуры и впишите в нее текст:
Private Sub Form_Load() 'Заголовок процедуры
Command3.Enabled = False 'Блокирование кнопки "Учет ордера"
'Unload Form4 'Закрытие формы №4
End Sub 'Конец процедуры
Затем, аналогично, двойным щелчком на кнопке Command1 откройте заготовку процедуры и впишите в нее текст:
Private Sub Command1_Click() 'Заголовок процедуры
Unload Form3 'Закрытие формы Form3
End Sub 'Конец процедуры
Для реализации процедуры подготовки записи нового приходного ордера сделайте двойной щелчок на кнопке Command2 и впишите в заготовку процедуры следующий текст:
Private Sub Command2_Click() 'Заголовок процедуры
Dim i As Integer 'Объявление целочисленной переменной
Dim FRec As Zapis 'Объявление переменной типа "Запись"
Text2.Text = Str(Date) 'Отображение текущей даты
Command3.Enabled = True 'Разблокировка кнопки "Учет ордера"
' ********************* Открываем файл Arm_kassa.txt для записи
Open Form1.Text1.Text For Random As #1 Len = Len(FRec)
i = 0 'Число записей в файле
Do While Not EOF(1) 'Проверяем, не достигнут ли конец файла
i = i + 1 'Приращение параметра цикла
Get #1, i, FRec 'Чтение очередной записи из файла
If EOF(1) = True Then 'Если достигнут конец файла №1, то
Exit Do 'выйти из цикла
End If 'Конец If
Loop 'Закрытие цикла
Text1.Text = Str(i) 'Отображение номера документа
Close #1 'Закрытие файла №1
Command2.Enabled = False 'Блокирование кнопки "Новый ордер"
End Sub 'Конец процедуры
Далее создаем процедуру записи данных информации в файл. Сделайте двойной щелчок на кнопке Command3 и впишите в заготовку процедуры следующий текст:
Private Sub Command3_Click() 'Заголовок процедуры
Dim FRec As Zapis 'Объявление переменной типа "Запись"
Dim ZpN As Integer 'Определение целочисленной переменной
ZpN = Val(Text1.Text) 'Считываем номер записи из окна Text1
'********************** Открываем файл Arm_kassa.txt для записи
Open Form1.Text1.Text For Random As #1 Len = Len(FRec)
FRec.Nppr = ZpN 'Запись номера документа
FRec.Daat = Text2.Text 'Запись даты
FRec.Scht = Text3.Text 'Запись номера субсчета
FRec.Prhd = Text4.Text 'Запись вида операции “Приход”
FRec.Name = Text5.Text 'Запись данных об исполнителе
FRec.CelV = Text6.Text 'Запись цели операции
FRec.Rshd = "" 'Запись пустого поля
FRec.VdDk = "ПКО" 'Запись вида ордера “Приходный”
Put #1, ZpN, FRec 'Запись записи в файл
Close #1 'Закрытие файла №1
'************************* Установка формы в исходное состояние
Text3.Text = "" 'Стирание содержимого в окне Text3
Text4.Text = "" 'Стирание содержимого в окне Text4
Text5.Text = "" 'Стирание содержимого в окне Text5
Text6.Text = "" 'Стирание содержимого в окне Text6
Command3.Enabled = False 'Блокирование кнопки "Учет ордера"
Command2.Enabled = True 'Разблокирование кнопки "Новый ордер"
Call Form3.ReadRecord 'Обновление экран в Form1
End Sub 'Конец процедуры
Для вызова формы “Приходный кассовый ордер” необходимо перейти на форму Form1 и двойным щелчком мыши на кнопке Command4 создать заготовку процедуры вызова, а потом вписать в нее текст:
Private Sub Command4_Click() 'Заголовок процедуры
Form3.Show 'Загружаем форму “Приходный кассовый ордер”
End Sub 'Конец процедуры
Запустите программу “АРМ_Касса”, подключите файл базы данных и вызовите форму “Приходный кассовый ордер”. Затем, пользуясь кнопками “Новый ордер” и “Учесть ордер”, внесите в базу следующие записи:
№ док. Дата Счет Сумма От кого Цель операции
====================================================================================
1 20.08.2011 311 50000 Иванов и.И. Поступление из банка
2 20.08.2011 661 35000 Петров п.П. Поступление из банка
Создайте форму для занесения в базу данных о расходовании денежных средств “Расходный кассовый ордер”. Он выглядит, практически также как, и приходный кассовый ордер. Изменить следует только надпись на форме: “Расходный кассовый ордер”.
Войдите в меню Project и выберите пункт Add Form. На экране появиться заготовка новой формы Form4. Добавьте в нее необходимые элементы и применяя туже методику, создайте соответствующий модуль с программным кодом, который будет иметь вид:
Private Sub Form_Load() 'Заголовок процедуры
Command3.Enabled = False 'Блокирование кнопки "Учет ордера"
Unload Form3 'Закрытие формы №3
End Sub 'Конец процедуры
Private Sub Command1_Click()
Unload Form4 'Закрытие формы №4
End Sub
Private Sub Command2_Click() 'Заголовок процедуры
Dim i As Integer 'Определение целочисленной переменной
Dim FRec As Zapis 'Объявление переменной типа "Запись"
Text2.Text = Str(Date) 'Отображение текущей даты
Command3.Enabled = True 'Разблокировка кнопки "Учет ордера"
'*********************** Открываем файл Arm_kassa.txt для записи
Open Form1.Text1.Text For Random As #1 Len = Len(FRec)
i = 0 'Число записей в файле
Do While Not EOF(1) 'Проверяем, не достигнут ли конец файла
i = i + 1 'Приращение параметра цикла
Get #1, i, FRec 'Чтение очередной записи из файла
If EOF(1) = True Then 'Если достигнут конец файла №1, то
Exit Do 'выйти из цикла
End If 'Конец If
Loop 'Закрытие цикла
Text1.Text = Str(i) 'Отображение номера документа
Close #1 'Закрытие файла №1
Command2.Enabled = False 'Блокирование кнопки "Новый ордер"
End Sub 'Конец процедуры
Private Sub Command3_Click() 'Заголовок процедуры
Dim FRec As Zapis 'Объявление переменной типа "Запись"
Dim ZpN As Integer 'Определение целочисленной переменной
ZpN = Val(Text1.Text) 'Считываем номер записи из окна Text1
'*********************** Открываем файл Arm_kassa.txt для записи
Open Form1.Text1.Text For Random As #1 Len = Len(FRec)
FRec.Nppr = ZpN 'Запись номера документа
FRec.Daat = Text2.Text 'Запись даты
FRec.Scht = Text3.Text 'Запись номера субсчета
FRec.Rshd = Text4.Text 'Запись вида операции “Приход”
FRec.Name = Text5.Text 'Запись данных об исполнителе
FRec.CelV = Text6.Text 'Запись цели операции
FRec.Prhd = "" 'Запись пустого поля
FRec.VdDk = "РКО" 'Запись вида ордера “Расходный”
Put #1, ZpN, FRec 'Запись записи в файл
Close #1 'Закрытие файла №1
' ************************* Установка формы в исходное состояние
Text3.Text = "" 'Стирание содержимого в окне Text3
Text4.Text = "" 'Стирание содержимого в окне Text4
Text5.Text = "" 'Стирание содержимого в окне Text5
Text6.Text = "" 'Стирание содержимого в окне Text6
Command3.Enabled = False 'Блокирование кнопки "Учет ордера"
Command2.Enabled = True 'Разблокирование кнопки "Новый ордер"
End Sub 'Конец процедуры
Пользуясь кнопками “Новый ордер” и “Учесть ордер”, внесите в базу следующие записи:
№ док. Дата Счет Сумма От кого Цель операции
=====================================================================================