Господа... Некоторые личности (и их довольно много) продолжают писать мне какую-то ахинею про написание мной лично ЕРП за год или что-то такое там... Религиозный фанатизм и узость мышления этих личностей, очевидно, не позволяет им прочесть данную тему беспристрастно и понять, о чем тут действительно идет речь... Чтож, раз все это так сложно, постараюсь объяснить попроще, чтобы могло дойти до всех...
Руководство одной компании, где я некоторое время назад работал системным администратором, по ряду причин заинтересовалось разработкой собственного ЕРП-решения. После долгих споров и рассуждений, часть которых была отражена здесь, руководству компании было предложено следующее решение:
1 системный архитектор, 1 бизнес-аналитик, 7 разработчиков на старте. Платформа - линукс, СУБД - Postgres. Бэк на c++, фронт сначала на веб, потом, после успешного запуска - полноценное клиентское приложение.
На сколько мне известно сейчас, руководство компании пока не приняло решения о начале разработки системы, хотя и не отказалось совсем от этой идеи. Нигде в этой теме я не писал, что планирую сам единолично писать свою учетную систему, хотя не говорю, что такое невозможно, и привожу в данной теме пример успешной разработки единолично человеком своей системы на java.
Я конечно, понимаю, что люди, чьи мозговые процессы нарушены пропагандой 1с о том, что, например, код:
вызов процедуры
ПересчитатьСуммуСУчетомРучнойСкидкиВСтрокеТЧ( ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
сама процедура:
Процедура ПересчитатьСуммуСУчетомРучнойСкидкиВСтрокеТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения)
СтруктураПараметровДействия = Неопределено;
Если СтруктураДействий.Свойство("ПересчитатьСуммуСУчетомРучнойСкидки", СтруктураПараметровДействия) Тогда
Очищать = Неопределено;
ПересчитыватьСуммуРучнойСкидки = Неопределено;
ИмяКоличества = Неопределено;
Если СтруктураПараметровДействия <> Неопределено Тогда
СтруктураПараметровДействия.Свойство("Очищать", Очищать);
СтруктураПараметровДействия.Свойство("ПересчитыватьСуммуРучнойСкидки", ПересчитыватьСуммуРучнойСкидки);
СтруктураПараметровДействия.Свойство("ИмяКоличества", ИмяКоличества);
Если НЕ ЗначениеЗаполнено(ИмяКоличества) Тогда
ИмяКоличества = "КоличествоУпаковок";
КонецЕсли;
Если Очищать = Истина Тогда
ТекущаяСтрока.СуммаРучнойСкидки = 0;
ТекущаяСтрока.ПроцентРучнойСкидки = 0;
КонецЕсли;
КонецЕсли;
Если ПересчитыватьСуммуРучнойСкидки = Ложь Тогда
Иначе
ТекущаяСтрока.СуммаРучнойСкидки = Окр(ТекущаяСтрока[ИмяКоличества] *ТекущаяСтрока.Цена * ТекущаяСтрока.ПроцентРучнойСкидки / 100, 2);
КонецЕсли;
ТекущаяСтрока.Сумма = ТекущаяСтрока.Сумма - ТекущаяСтрока.СуммаРучнойСкидки;
КонецЕсли;
КонецПроцедуры
вызов процедуры и уже в ней самой проверка того, а стоило ли ее вообще вызывать (не могу до сих пор, бл*ть [smile=:D] [smile=:D] [smile=:D]) - это нечто хорошее, правильное, и так нужно делать всем, все равно не смогут трезво оценить данную тему, так как аббревиатуру ЕРП они физически не могу связать ни с чем иным, кроме 1с ЕРП, а словосочетание "ЕРП не на 1с" вызывает у них привитый им условных рефлекс отторжения и неприязни, но, возможно, более адекватные личности, также испытывающие сложности с пониманием данного вопроса, все же найдут для себя столь необходимое многим тут, как я понял, объяснение.