Peter Almazov писал(а):
alexus писал(а):
PS. Повторю своё предложение: если желаете, могу прокомментировать сказанное ранее.
Да желаем, ясное дело. Ждем с нетерпением.
Хорошо, попробую...
Когда-то мне тоже приходилось заниматься написанием зарплатной программы. Предприятие - самый большой (по обороту) гастроном (супермаркет) того времени в нашем городе, примерно тогда он начал превращаться в сеть магазинов, разбросанных, как по городу, так и области. Более сотни различных видов оплаты труда (оклады, повременные, сдельные, сдельно/повременно-премиальные, % с продаж, контрактные ("черные", "серые", в крапинку...). В общем, те кто прошёл через это, понимает о чём идёт речь. Времена были смутные и виды начислений, алгоритмы, структура исходных данных менялись очень часто, фактически, ежемесячно вносились те или иные изменения. Плюс к этому нервы... на то, чтобы успокоить и тех, кто платит, и тех, кто получает. А чтобы не "порвали на куски", каждый шаг, каждое совещание, каждое предложение и каждое решение строго фиксировались, отражались на ТЗ, подписывались и пр. Это отнимало много времени. Таков контекст, и вряд ли он сильно изменился с тех пор (хотя, наверное, есть более спокойные организации и... времена).
Первое, что было сделано, - проект БД, связанной с базой данных "отдела кадров" и "орг. структуры предприятия". Худо-бедно, но учёт рабочего времени был как-то налажен, объёмы продаж по магазинам/отделам тоже в деньгах и количестве (относительно ассортимента) собирались. Но многих данных, необходимых для расчётов, не существовало. Структура данных для разных видов начислений сильно отличается друг от друга и... часто изменяется, как, впрочем, и алгоритмы начислений. Чтобы справиться с этим пришлось хорошо подумать над структурой таблиц БД. Ну, да, ладно... сейчас не об этом.
Программа расчёта была в конечном итоге написана и началась её бесконечная переделка... Вначале это как-то ещё увлекает, но через полгода хочется всё бросить... Как происходил процесс внесения корректив?.. Это важный момент. Руководители служб, отделов, бюро подавали заявки в ОТЗ (отдел труда и заработной платы) с примечаниями. С другой стороны, руководство в лице директоров на совещаниях давали указания ОТЗ, кому и как начислять, перечисляли штрафные санкции и премиальные. Всё это переваривалось ОТЗ, где пытались фонд заработной платы свести с постоянно растущими требованиями. Как правило, результат никого не устраивал, начинался процесс поиска компромиссов, который неизбежно приводил к... корректировке схем начисления для отдельных категорий работников. Было понятно, что процесс корректировок является перманентным и... непредсказуемым. Далее приглашались программисты, перед ними ставилась задача внести требуемые изменения... задним числом... чтобы не позднее, чем за два дня до выплаты зарплаты были сделаны все расчёты и распечатаны все ведомости.
Поэтому наряду с сопровождением программы (это было поставлено на поток...) началось формирование принципиально иного проекта... по личной инициативе, без извещения руководства.