0.5C Бухгалтерия

Технологии: Borland Delphi + Firebird
Задача: Написать СРМ для менеджеров по рекламе. Как основу (клиентскую базу) должна использовать БД EasyClients, в родные таблицы не пачкать, только чтение. В свои - сколько угодно. Программа должна уметь выставлять счета на проданную рекламу с учетом размера баннера, места его расположения, сроков показа и стоимости. Стоимость, баннера и их параметры заносятся администратором, менеджеры формируют счета из готового. Итоговая сумма должна формироваться автоматически. Печать счетов, слежение за сроками оплаты, уведомления о просроке.
Доп. ограничения: Нет, мы не будем покупать расширенную лицензию на EasyClients. Нет, и Парус тоже не будем покупать. и 1С Бухгалтерию тоже не будем покупать. Да знаю я, что там половина "из коробки работает". И чо? Ты программист, или где? И чо, что ты веб-программист?
И чо-и чо... И ничо...© Cказано - сделано.
Получилось вполне взрослое клиент-серверное приложение. Названо было 0.5С Бухгалтерия. Прикол такой был - отчасти немного пофрондировать, отчасти - указать, что 1С пишет куча людей, а тут один...
База данных под Firebird крутилась на локальном сервере, клиенты были поставлены директору, начальнику отдела продаж и всем рекламным манагерам.
Программа формировала договора, счета на оплату, с учетом тех позиций, которые были доступны для продажи. Причем, если сквозной топовый баннер был продан ан весь октябрь, то повторно продать его (загнать в договор и счет на оплату) было невозможно, только с ноября. После выставления счета начинал тикать таймер, ожидая оплаты. Неплательщики сначала красились желтым, потом красным. Оплаченные счета - зеленым. Проведенные и закрытые - серым.
Далее, опираясь на БД можно было сформировать любой отчет с фильтрацией по дате, клиенту, наличию проплаты, менеджеру, курирующему проект. Из родительских таблиц EasyClients можно было дернуть данные, когда этому неплательшику был последний прозвон или личная встреча.
С учетом того, что премиальная часть оклада рекламного отдела формировалась по "серым", закрытым и проведенным бухами счетам, а также от отношения клиент/время нахождения в БД/кол-во договоров/кол-оплаченных договоров/кол-во контактов (встреч и звонков) - можете себе представить, как меня страстно обожало руководство и "нежно любил рекламный отдел" XD.
Тем не менее, это был мощный опыт разработки в RAD, навык написания своих компонентов для Delphi, опыт работы с хранимыми процедурами в БД (очень заманчиво, между прочим - перевалить львиную долю бизнес-логики на БД, а в клиенте остается только дергать эти функции с параметрами и читать ответ).
Кстати, именно тогда я дозрел до покупки лицензии на Delphi. Чтобы вопросов не возникало.