Интереснейшая затронута тема!
Мне под 60...
Работал до 99-го бухгалтером; подрабатывал программу на ее внутреннем языке "под себя"
Получив в конце 98-го инвалидность, стал зарабатывать "профессионально", но опять же на внутреннем языке программы
Автоматизация бухгалтерского учета, в том числе расчет зарплаты
...
Основной принцип, которому я следовал - это акцент на возможностях программы
(Пришло письмо интересующему меня вопросу; продолжу позже)
Добавлено через 14 часов, 47 минут и 18 секунд:Интереснейшая затронута тема!
Результаты "профессиональной" деятельности:
1.Блок Зарплата. Кто понимает, тот знает - очень сложное дело
Еще более сложно:
2. Блок ЖКХ (жилищно-коммунальное хозяйство)
...
Основной "конфликт" при создании "таких" проектов:
программист не владеет темой, а, скажем, консультант не знает ЧТО нужно и можно автоматизировать. Какой бы ни был грамотный консультант, его "полезный" кругозор ограничивается реалиями деятельности.
...
Пример: в далекие времена "получилось" учиться и в техникуме и в институте (вечером, днем работал - это Саныч хвастается )))
Возник вопрос по производным (икс штрих по иксу); задал вопрос математичке в техникуме: честно сказала, что не знает. И не потому что не знала...
...
Но Санычу повезло: работал на коммунальное хозяйство со специалистами, которых теперь не делают!
И яростное противодействие (поддержка была сильнее) внедрению проектов этих спецциалистов шло только на пользу проектам
Еще один "пенёк" преткновения - многовариантность, массив автоматизации вариантов (его в ЖКХ хватало!)
РЕЗЮМЕ: какой бы грамотный программист ни был, но без грамотно поставленной задачи (детализированное ТЗ) любой проект может стать пшиком (из-за той же, хотя бы, не предусмотренной вариантности)
...
3.Конструктор типовых операций
Сейчас работаю новый проект: "Домашний учет". Начал на базе Конструктора, но обнаружились новые возможности программы, на языке которой вершу
...
Добавлено через 1 час, 57 минут и 15 секунд:Побахвалился, теперь о другом
...
У хозяина программы тоже есть "Блок ТСЖ"
Тенденциозная ошибка уже видна в названии.
Блок создавался для ОДНОГО тсж! Потом "оказалось", что домов у ТСЖ может быть несколько. И вообще учет расчетов в УК - это еще и целые улицы с домами.
Лицевой счет (ЛС) кодировался по квартирам. Потом оказалась, что квартиры бывают коммунальными; т.е. в квартире могут быть несколько ЛС
...
Конечные расчеты, помесячно, "хозяйского" блока выполняются при 500 ЛС порядка 1 часа;
У Саныча - около 1 минуты
Автор "их" блока (нчальник отдела программирования - спец по-определению!) считает, что Саныч лжет: "такого не может быть"
...
Причина "временнЫх разногласий" выяснилась, когда попытался конвертировать "их" инфу в свой блок. Оказалось - это многие десятки файлов хранения информации и почти в каждом она копится от начала эксплуатации блока.
Из этой "каши" массива инфы SQL-запросами нужно, каждый раз, выделять все расчеты по одному ЛС изо всех "многих десятков" файлов
Т.е. "1 час" - это не предел! Растет массив - увеличивается время конечных расчетов
...
В чЁм секрет?
Может кому и сгодится...
Номер ЛС (единицы информации) - это адрес (его код) плюс порядковый номер для владельца/нанимателя жилья.
1.В таблице (dbf) ЛС занимает строку с номером ЛС.
Чтобы загрузить его инфу, не нужно ЛС "искать", нужно просто ПЕРЕЙТИ к строке с номером ЛС. И так во всех вспомогательных таблицах: в каждой таблице ЛС "занимает" строку = номеру ЛС
2.Информация хранится в базе помесячно: начиная с карта_лс1.dbf и до карта_лс12.dbf (другие файлы-таблицы аналогично), в папке ...
3. ... по годам: каждая папка - это год, - 2000, 2001, 2003 ... 2012
Добавлено через 38 минут и 6 секунд:(Похоже размер сообщения зашкалил))
Продолжу
Кроме того, для выполнения расчетов используется одна (вернее, две: основная и расчет льгот) универсальная формула
Многовариантность ситуаций районного ЖКХ позволило создать "такую роскошь", которая уменьшает время "обработки" одного ЛС
...
Ни в одной программе по ЖКХ не видел "Карточки ЛС", когда на экран выводится ВСЯ информация о ЛС, выполняемых начислениях и оплатах (только в печатных формах вроде счетов-извещений).
Везде "многоголосые" меню с раскиданной по ним инфой
У Саныча нет меню: в карточке, в которую можно "конкретные" изменения, есть вся инфа. Еще одна карта - "Настройки"
Карточка состоит из двух "частей": основная иформация, исходя и которой выполняются расчеты, и расчетная часть.
Применил "ноу-хау"
В расчетной части информация о расчетах "выводится" каждый раз при обращении к ЛС. Т.е. при любых изменениях параметров расчетов выводятся соответствующие расчеты
Пример: изменились базовые тарифы - не нужно делать перерасчет по всем ЛС
...
Впрочем, кому интересно, смотрите вложение (кино)
Добавлено через 1 минуту и 57 секунд:Понял