powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ищу желающий - создание ERP
25 сообщений из 311, страница 3 из 13
Ищу желающий - создание ERP
    #39132104
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWinnipuhпропущено...

Случайно - нет, наверняка получится да большая ли разница?
вообще, одно другому не мешает. У меня, по крайней мере, реализована переписка между сотрудниками в привязке к документам, автоматические рассылки и напоминания, личные странички (правда редактируемые только уполномоченными людьми). Так что еще немного... стену там... и все.

а вот я бы прикрутил еще и whiteboard или как оно называется, чтобы юзеры могли совместно рисовать на доске всякую фигню
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132106
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
WinnipuhShocker.Proпропущено...
да большая ли разница?
вообще, одно другому не мешает. У меня, по крайней мере, реализована переписка между сотрудниками в привязке к документам, автоматические рассылки и напоминания, личные странички (правда редактируемые только уполномоченными людьми). Так что еще немного... стену там... и все.

а вот я бы прикрутил еще и whiteboard или как оно называется, чтобы юзеры могли совместно рисовать на доске всякую фигню
Я даже знаю, что они там первым напишут
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132123
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что Вы за человек такой? Начинаете за здравие:
Cat2AlexMirzo,
Не слушайте никого. Дерзайте. Плох тот программист, который не хочет покорить Мир своей программой.

А заканчиваете за упокой:
Cat2...??
...??
...???
.....????
Два человека не напишут ERP.
Хотя бы переход надо было поплавнее было сделать
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132142
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronВот что Вы за человек такой? Начинаете за здравие:
Cat2AlexMirzo,
Не слушайте никого. Дерзайте. Плох тот программист, который не хочет покорить Мир своей программой.

А заканчиваете за упокой:
Cat2...??
...??
...???
.....????
Два человека не напишут ERP.
Хотя бы переход надо было поплавнее было сделать

надо сначала написать ОС
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132156
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawнадо сначала написать ОС
ERP OS ... Почему бы нет?

Можно еще ERP-процессор сделать. На основе ARMа например.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132158
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TERP-процессор сделать

на основе ERP-транзисторов
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132162
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawDima TERP-процессор сделать

на основе ERP-транзисторов
А как без них?

Можно еще НИИ основать для поиска идеальных ERP-молекул для ERP-транзистора
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132171
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНИИ основать для поиска идеальных ERP-молекул

и получить нобелевку по ERP-химии
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132173
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawDima TНИИ основать для поиска идеальных ERP-молекул

и получить нобелевку по ERP-химии
А за Нобелевку по-моему $ 1млн полагается. Выходит, что уже богат.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132176
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronkmawпропущено...


и получить нобелевку по ERP-химии
А за Нобелевку по-моему $ 1млн полагается. Выходит, что уже богат.

и делать ничего не надо. класс
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132181
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawи делать ничего не надо. класс
Вот и бизнесс-план. С поиском клиентов не надо заморачиваться.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132182
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tkmawи делать ничего не надо. класс
Вот и бизнесс-план. С поиском клиентов не надо заморачиваться.

вопрос ТС решен
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132185
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AxeleronВот что Вы за человек такой? Начинаете за здравие:
Cat2AlexMirzo,
Не слушайте никого. Дерзайте. Плох тот программист, который не хочет покорить Мир своей программой.

А заканчиваете за упокой:
Cat2...??
...??
...???
.....????
Два человека не напишут ERP.
Хотя бы переход надо было поплавнее было сделать
Как говорил незабвенный Кристобаль Хунто:
- Глупо решать задачи у которых есть решения.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132246
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВВ качестве СУБД предлагаю Стебелек!

Чтожь, ввиду неподдельного интереса к наносекундным технологиям, расскажу немного о импортозамещении.
Как вы знаете семейство Стебельковых сейчас насчитывает несколько высокопроизводительных баз данных отечественного производства. Родоночальник всех баз Key\Value хранилище, которое славится сверхвысокопроизводительностью (десятки миллионов запросов в секунду). Далее известен полнотекстовый сервер, на основе которого построен поисковик. И вот всего несколько месяцев назад появилась еще одно ответвление - днипровская база данных, семейства документоориентированых. Эта база славится также высоким быстродействием (миллионы запросов в секунду) и что немаловажно рабоче-крестьянской ORM под .NET, на основе которой легко и просто описать любую хитрую предметную область и построить ERP.

Документоориентированая база хранит разного рода Json документы, например, вот такого плана, для примера.

Код: c#
1.
2.
3.
4.
5.
db.AddDoc("{'Company':'AnySoft', 'Country':'USA', 'Employees':[{'FirstName':'Ivan','LastName':'Ivanov','Age':20, 'Childs':[{'FirstName':'Ivanko','LastName':'Ivankov','Age':2},{'FirstName':'Ivanka','LastName':'Ivankova','Age':3}]}," +
                                                                              "{'FirstName':'Petr','LastName':'Petrov','Age':21, 'Childs':[{'FirstName':'Petrako','LastName':'Petravkov','Age':1},{'FirstName':'Petravka','LastName':'Petravkova','Age':5}]}]}");

                db.AddDoc("{'Company':'MySoft', 'Country':'Ukraine', 'Employees':[{'FirstName':'Иван','LastName':'Иванов','Age':20, 'Childs':[{'FirstName':'Иванко','LastName':'Иванков','Age':2},{'FirstName':'Иванка','LastName':'Иванкова','Age':3}]}," +
                                                                                 "{'FirstName':'Петр','LastName':'Петров','Age':21, 'Childs':[{'FirstName':'Петрако','LastName':'Петраков','Age':1},{'FirstName':'Петравка','LastName':'Петравкова','Age':5}]}]}");



Здесь у нас описана некоторая предметная область. Каждый документ содержит описание компании. У компании есть набор сотрудников. У каждого сотрудника есть набор детей. Теперь как это выглядит с точки зрения интерфейса. Мы видим центральный грид с списком компаний и на даблклике открываются четыре дочерних (вложеных) формы, каждая из которых редактриует свою часть документа.

Кажется, если бы подобную предметную область у нас потребовали бы описать на MS SQL или Oracle, то это не было бы простой задачей. Но на Стебельке такую задачу можно описать всего в несколько десятков строк кода и 15 минут времени

Например код формы редактирования Компании, может быть таким

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
public CompanyDetail()
        {
            InitializeComponent();

            Employees.Columns.Clear();
            Employees.Columns.Add("FirstName", typeof(string));
            Employees.Columns.Add("LastName", typeof(string));
        }

        DniproDB db = new DniproDB("127.0.0.1", 55555);

        public string Company
        {
            set
            {
                tbCompany.Text = value;
            }

            get
            {
                return tbCompany.Text;
            }
        }

        public string Country
        {
            set
            {
                tbCountry.Text = value;
            }

            get
            {
                return tbCountry.Text;
            }
        }

        public DataTable Employees = new DataTable();

        private void dgMainForm_DoubleClick(object sender, EventArgs e)
        {
            var row = dgMainForm.SelectedRows[0];

            string query = "{'Company':'" + tbCompany.Text + "','Employees':[{'FirstName':'" + row.Cells[0].Value + "','LastName':'" + row.Cells[1].Value + "'}]}";

            EmployeeDetail df = new EmployeeDetail(tbCompany.Text);

            db.GetWhereElems(query).Select<EmployeeDetail>(df, "{'Employees':[!{'FirstName':$,'LastName':$,'Age':$,'Childs':[R,{'FirstName':$,'LastName':$}]}]}", 0, new Serialization.DataTableBehaviour());

            df.ShowDialog();
        }

        private string _oldCompany;

        private void CompanyDetail_Load(object sender, EventArgs e)
        {
            dgMainForm.DataSource = Employees;

            _oldCompany = tbCompany.Text;
        }

        private void btSave_Click(object sender, EventArgs e)
        {
            string query = "{'Company':'" + _oldCompany + "'}";

            db.GetWhere(query).Update<CompanyDetail>(this, "{'Company':$, 'Country':$}");

            this.Close();
        }



Если у вас сложнейшая предметная область, которая включает сотни вложеных сущностей в иерархиях, то всеравно написать на Стебельке такую прогу будет легко и просто, а код будет отличатся простотой и чистотой, даже если на каждой вложеной форме будет редактироваться сотни полей. Также известно, что такая база данных работает в десятки раз быстрее чем стандартные решения вроде Монго или MS SQL.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132248
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brazzers,
Даешь Стебелек стране угля! Урааа!!!
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132249
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brazzers,
Думаю, Вам стоит подумать о тесном сотрудничестве с AlexMirzo и у Вас получится великолепнй продукт - убийца западных аналогов вроде Шарэпойнт и тому подобных.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132250
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В основе СУБД Стебелек лежит инновационная мат модель, которая позволяет строить даже сложные ИСы невероятно просто, однострочно и элегантно. Вот претположим, у вас есть некоторая форма на которой 50 контролов. У вас стоит следующие стандартные задачи в вашей ERP.

1. Все 50 контролов на форме могут редактироваться и сохранятся в базу
2. Все лейбы к 50 контролам на форме должни быть локализированы на 20 языков. Сама локализация хранится в базе данных.
3. На все 50 контролов могут быть розданы пермишены. На каждого пользователя указывается свой уникальный набор пермишенов, что может пользователь видеть из контролов, что редактировать.
4. На все 50 контролов накладывается валидация. Она тоже может динамически настраиваться без перекомпиляции на каждый контрол на форме.
5. На форме есть кнопка, сбросить все настройки по умолчанию.

Если вы уже схватились за голову, представляя как это все нужно описывать на реляционном монстре и какой будет спагетти код, то смею вас успокоить. На Стебельковой ОРМ все что описано выше займет ровно 5 (пять, Карл!) строчек кода. На каждую функциональность ровно одна строчка кода.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132251
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronBrazzers,
Думаю, Вам стоит подумать о тесном сотрудничестве с AlexMirzo и у Вас получится великолепнй продукт - убийца западных аналогов вроде Шарэпойнт и тому подобных.

Даже не знаю. У меня серьезный проект.
А эти темы вроде этой, всплывают как пузырьки и сразу лопаются.
Все зависит от серьезности намерений автора.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132252
AlexMirzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Brazzers, Большое спасибо за ценную информацию. Очень интересно. До сих пор думал что no-sql базы как основное хранилище не очень надежны. Завтра почитаю на эту тему. Еще раз спасибо, побольше бы таких интересных комментов.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132263
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Код: c#
1.
2.
string query = "{'Company':'" + tbCompany.Text + "','Employees':[{'FirstName':'" + row.Cells[0].Value + "','LastName':'" + row.Cells[1].Value + "'}]}";
            db.GetWhereElems(query).Select<EmployeeDetail>(df, "{'Employees':[!{'FirstName':$,'LastName':$,'Age':$,'Childs':[R,{'FirstName':$,'LastName':$}]}]}", 0, new Serialization.DataTableBehaviour());

да это бред чуть более чем на половину. где тут orm?
пока json нужно собирать из текстовых кусков посреди с#/vb кода - не взлетит.
например, если в tbCompany.Text будет xxx'xxx, то запрос обломается - чо, самому за этой ерундой следить?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dim query as new Company with {
    .Company = tbCompany.Text,
    .Employees() with {
        new EmployeeDetail with { 
            .FirstName = row.Cells[0].Value,
            .LastName = row.Cells[1].Value
        },
    }

db.GetWhereElems(query)

с синтаксисом наверное налажал, но идея по-моему очевидна - раз это orm, то классы Company и EmployeeDetail должны генерироваться, а json-запросы сериализовываться из объектов. тогда никаких ошибок на ровном месте.

а этот говнокод:

Select<EmployeeDetail>(df, "{'Employees':[!{'FirstName':$,'LastName':$,'Age':$,'Childs':[R,{'FirstName':$,'LastName':$}]}]}"

нужно как-то интегрировать в linq
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132287
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
BrazzersЕсли вы уже схватились за голову, представляя как это все нужно описывать на реляционном монстре и какой будет спагетти код, то смею вас успокоить. На Стебельковой ОРМ все что описано выше займет ровно 5 (пять, Карл!) строчек кода. На каждую функциональность ровно одна строчка кода.

Что-то я за голову не хватаюсь. И займет это у меня ровно одну строчку кода, потому что я все сделаю в хранимой процедуре.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132322
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMirzoBrazzers, Большое спасибо за ценную информацию. Очень интересно. До сих пор думал что no-sql базы как основное хранилище не очень надежны. Завтра почитаю на эту тему. Еще раз спасибо, побольше бы таких интересных комментов.

ну, в общем, да, ст.ебелёк прорыв в мире технологий, такого в мире больше нет, для вашей ERP - как раз оно.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132331
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMirzoДо сих пор думал что no-sql базы как основное хранилище не очень надежны.

Журналируемые базы данных с регулярно настроенным бекапом соответствуют требованиям финансовых систем.
Если же винт помер и свежего бекапа нет, то тут уже не важно какая база была установлена.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132340
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyавтор
Код: c#
1.
2.
string query = "{'Company':'" + tbCompany.Text + "','Employees':[{'FirstName':'" + row.Cells[0].Value + "','LastName':'" + row.Cells[1].Value + "'}]}";
            db.GetWhereElems(query).Select<EmployeeDetail>(df, "{'Employees':[!{'FirstName':$,'LastName':$,'Age':$,'Childs':[R,{'FirstName':$,'LastName':$}]}]}", 0, new Serialization.DataTableBehaviour());

да это бред чуть более чем на половину. где тут orm?
пока json нужно собирать из текстовых кусков посреди с#/vb кода - не взлетит.


Наверное этот пример был чуть сложнее для понимания и нужно начать с азов.
Простейший код который сохраняет обьект в базу будет таким.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
TO to1 = new TO
            {
                id = 123,
                FirstName = "John",
                LastName = "Smith",
                Arr = new List<int>() { 1, 2, 3, 4, 5 }
            };

            db.AddDoc<TO>(to1);



Но чаще всего на практике нам не нужно сохранять весь обьект и читать весь, а только его часть. Так называемая прокси загрузка и прокси сериализация\десериализация обьекта. В качестве прокси обьекта также может быть сама форма Form в C# и соответственно код сохранения такой формы с списком полей в базу будет однострочным. Тем не менее ничего не стесняет вас сохранять ваши бизнесс обьекты в любой иерархии, создать дополнительную прослойку классов и обьектов. С помощью рефлексии и джисон шаблонов база может работать с любыми обьектами. Общий стек базы данных таков: ORM -> Json -> Key\Value. Если с шарпа удобней работать с ORM изредка вставляя Json части документов, то из JavaScript, к примеру удобно работать только с Json напрямую без лишней абстракции.

Antonariyнапример, если в tbCompany.Text будет xxx'xxx, то запрос обломается - чо, самому за этой ерундой следить?


Ну да, тут нужно экранировать ковычку во избежание иньекции.

Antonariy
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dim query as new Company with {
    .Company = tbCompany.Text,
    .Employees() with {
        new EmployeeDetail with { 
            .FirstName = row.Cells[0].Value,
            .LastName = row.Cells[1].Value
        },
    }

db.GetWhereElems(query)

с синтаксисом наверное налажал, но идея по-моему очевидна - раз это orm, то классы Company и EmployeeDetail должны генерироваться, а json-запросы сериализовываться из объектов. тогда никаких ошибок на ровном месте.


Можно их сгенерировать, но это будут не бизнесс классы (классы которые необходимы бизнесс логике), а классы которые необходимы ORM. Соответственно эти классы прийдется мапить к реальным бизнесс обьектам, например к томуже интерфейсу и заниматься monkey job. Прелесть этой же ОРМ в том, что вы можете сохранять и читать из базы бизнесс обьекты. В двухзвенке простейшим случаем будет однострочный код, который сохраняет форму в базу и из базы читает.

AntonariySelect<EmployeeDetail>(df, "{'Employees':[!{'FirstName':$,'LastName':$,'Age':$,'Childs':[R,{'FirstName':$,'LastName':$}]}]}"
нужно как-то интегрировать в linq

Линка не работает в С++ environment и быстродействие ее не очень. Здесь же пакеты уходят на сервер и запросы выполняются в высокопроизводительной среде вместе с оптимизатором запросов.
...
Рейтинг: 0 / 0
Ищу желающий - создание ERP
    #39132342
Brazzers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Что-то я за голову не хватаюсь. И займет это у меня ровно одну строчку кода, потому что я все сделаю в хранимой процедуре.

Причем тут хранимая процедура к интерфейсу.
Вам нужно промапить данные из базы данных на конкретные формы в интерфейсе с минимумом телодвижений.
...
Рейтинг: 0 / 0
25 сообщений из 311, страница 3 из 13
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ищу желающий - создание ERP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]