Как се правят Б4 - приложения?


За да придобием по-добра представа, нека си поставим една примерна задача, типична за базите данни.

"Да се построи програма за издаване на фактури" (предупреждавам ви, че това което ще направим е само пример, тоест няма да е продукт, който можем да продаваме)

След като имаме конкретна цел, вече е възможно да си изградим проект. Проектът е документ с три точки: модел, интерфейс и програми.
=============================================================
1. МОДЕЛ.
-----------
Входните таблици са:
- номенклатура клиенти
- ценоразпис

Изходните таблици са:
- фактура
- две справки за продажбите

За да пазим данните, ще ни е нужна
още една, специална таблица:
- регистър на продажбите.

2. ИНТЕРФЕЙС
-------------
За да може нашият user да работи с нашата програма, е нужно да имаме управляващо меню. Засега предвиждаме няколко основни точки в менюто (Б4 има две меню-та, едно главно, чието съдържание е неуправляемо и едно приложно, за което говорим в момента).

Ето как изглежда меню - файла

: B4WTABLEMENUL.MNU
меню -
меню Фактури (1,0)
меню Бланка (1,1) база BLANKA
menu Направи фактура~ (1,2) napravi_faktura.prg
меню Запиши фактурата~ (1,3) zapis_faktura.prg
меню (1,4)

меню Справки (2,0)
меню Покажи регистъра (2,1) база REGISTER
меню Справка за продажбите днес~ (2,2) spravka.prg(1)
меню Справка за продажбите към eдин клиент~ (2,3) spravka.prg(2)
menu (2,4)

меню Архив (3,0)
меню Запиши данните на дискета "A:"~ (3,1) ARHIW.PRG(1)
меню Прочети данните от дискета "A:"~ (3,2) ARHIW.PRG(2)
меню (3,3)

меню (4,0)


* Забележка
Меню-файла се редактира с меню-редактора, който се пуска от главното меню, или от малко бутонче в инструменталната линия.

3. ПРОГРАМИ
--------------
Зад всяка точка от менюто стои команда. Зад точките от менюто, които завършват с вълничка ( ~ ), стоят програми. В менюто вече споменахме четири програми

- napravi_faktura.prg
- zapis_faktura.prg
- spravka.prg
- arhiw.prg

Ето първата програма. Тя трябва да прочете входните данни (от бланката, от номенклатура клиенти и от др.места) и да построи фактура

: NAPRAVI_FAKTURA.PRG
чист
база BLANKA
линия_клиент = scell(1,1)
клиент scopy(линия_клиент,1,25)
последен_ред_в_бланката countrr(0)
база KLIENTI
ред_на_който_е_записан_клиент present(клиент,1,1,1)
адрес_на_клиента scell(ред_на_който_е_записан_клиент,2)
създай FAKTURA(48,8,8)
база FAKTURA
добави 10
име_на_фирмата_издател scell user_options(1,2)
адрес_на_фирмата_издател scell user_options(2,2)
последен_номер user_options(3,2)
поле (1,1)='Съставител :'+име_на_фирмата_издател
поле (2,1)='Адрес :'+адрес_на_фирмата_издател
поле (4,1)='Клиент :'+клиент
поле (5,1)='Адрес :'+адрес_на_клиента
поле (7,1)='дата :'+DMYTODATE(THISDAY,THISMONTH,THISYEAR)
поле (8,1)='номер :'+formatn((последен_номер+1),10,0,2)
поле (10,1)='стока/услуга ед.цена'
поле (10,2)='колич.'
поле (10,3)='ст-ст'
бкопи BLANKA(3,1,последен_ред_в_бланката,2) (12-3,1-1)
бр countrr(0)
разкол(1,40)
колони(2,3,4,8,бр)*
блок формат(12,4,бр,4,8,2)
сбор sum(12,4,бр,4)
добави 6
поле (бр+2,1)='Сбор :'+formatn(сбор,1,2,100)
словом_ SLOWOM.PRG(сбор)
словом1 scopy(словом_,1,32)
словом2 scopy(словом_,33,32)
поле (бр+3,1)='Словом:'+словом1
ако словом2<>'' то поле (бр+4,1)=' '+словом2
поле (бр+6,1)='Съставил:.......................'
блок пълен(11,1,11,4)====================================================
блок пълен(бр+1,1,бр+1,4)====================================================
вмкред(1,2)
поле (1,1)='ФАКТУРА ЗА ПРОДАЖБА'

* Забележка
Програмите се пишат с пограмния редактор, който се пуска от главното меню, или от малко бутонче в инструменталната линия.

Можете да видите и другите програми:

За записване на фактурата "zapis_faktura.prg"
За справка "spravka.prg"
За архив и ре-архив "arhiw.prg"

Край на проекта.
=============================================================
* Забележка
Ако дръпнете Б4-диспечера на приложения - новата версия b4c.exe, ще можете да инсталирате и разгледате работеща версия на този пример. От приложното меню избирате "Оригинали"-"Инсталирай нов"-"От архивен файл тук".


Радис-начална страница

Valid HTML 4.01!