LostSoul Posted December 10, 2017 Author Posted December 10, 2017 5 часов назад, SyJet сказал: А чем сама 1с не устраивает? Ну я версии более поздние чем 7.7 не смотрел ещё. Примерно представляю что 8-ка ставится на линукс в режиме веб и работает с posgress и обеспечивает ( скорее всего ) тот минимум функций, что мне нужен для ведения бухгалтерии ООО и ИП на УСН. Но вот какой-нибудь там учет vlan, подсетей и коммутаторов и кабинет для регистрации интернет-пользователей онлайн я наврятли хотел бы писать на 1С. Хотя бы потому, что оно явно не это заточено. И не получится пользоваться всем разнообразием готовых библиотек для python/php/javascript 37 минут назад, pppoetest сказал: Потому что это тоже конструктор, кнопки "***то", которая нарисует нужный гуй с преферансом и поэтессами в нём нет. Зачем такие ваши издевательства? Если я хочу готовую платформу разработки, а не сидеть и вылизывать вручную 300х контроллеров и отображений? Вас не смущает например что есть на выбор готовые интернет-браузеры с поддержкой html5 , css и прочим? И можно просто взять , написать гипертекст в несколько строк и он окажется красиво отрисован? А вот желание человека взять и написать xml и получить красиво отрисованную страницу редактирования учетной базы данных вы отрицаете? Не смущают такие проекты как freepbx / asterisk , wordpress тот же? Вставить ник Quote
SyJet Posted December 10, 2017 Posted December 10, 2017 11 минут назад, LostSoul сказал: Но вот какой-нибудь там учет vlan, подсетей и коммутаторов и кабинет для регистрации интернет-пользователей онлайн я наврятли хотел бы писать на 1С. Знаю крупняка, где АСР - это 1ска 8ка Вставить ник Quote
pppoetest Posted December 11, 2017 Posted December 11, 2017 8 часов назад, LostSoul сказал: Зачем такие ваши издевательства? Вам показалось, никаких издевательств не было. 8 часов назад, LostSoul сказал: Если я хочу готовую платформу разработки, а не сидеть и вылизывать вручную 300х контроллеров и отображений? С 1С именно этим и придётся заниматься. По крайней мере в 7.7 так было, не заглядывал под её капот уже более пятнадцати лет. Вставить ник Quote
EugeneTV Posted December 11, 2017 Posted December 11, 2017 (edited) Вообще раньше такие комбайны назвались RAD (rapid application development) и вполне реально было быстро слепить вполне годную штуку на десктопе (от ms access до дельфов и сишарпа). на вебе ничего подобного вроде нет, за исключением extjs, во всяком случае у нас в хозяйстве есть таксишная прикладуха на нем, вполне рабочая. Писалась не то чтобы на коленке, но весьма небольшой командой разрабов. Вот тут статья https://habrahabr.ru/company/englishdom/blog/343018/ Edited December 11, 2017 by EugeneTV Вставить ник Quote
LostSoul Posted December 11, 2017 Author Posted December 11, 2017 Вот тут примерно видно то, что я хочу https://github.com/markpurser/laravel-crudkit/wiki $titleTable = (new TableDescriptor('title', 'Title')) ->addColumn('title', 'Title', 'string', ['required' => true, 'max' => 255]) ->addColumn('description', 'Description', 'textarea', ['max' => 65535]) ->addColumn('price', 'Price', 'price', ['required' => true]) ->addColumn('genre', 'Genre', 'enum', ['required' => true, 'enum' => ['Travel', 'Crime', 'Romance', 'Computing', 'Horror']]) ->addColumn('tag', 'Tag', 'editabledropdown') ->addColumn('rating', 'Rating', 'percentage') ->addColumn('pub_date', 'Publish Date', 'datetime', ['required' => true]); Now define the relationship to the Author table: $authorTable ->addManyToMany($titleTable, "title", "author_title", "author_id", "title_id"); Вот такие проекты есть. Но! Вот как теперь к этому прикрутить x-editable с inline-редактированием, да еще так чтоб учитывались права доступа? А так же динамическое обновление страницы в случае изменений в базе. 8 минут назад, EugeneTV сказал: Вот тут статья прочел. по тексту статьи вроде бы звучит как совсем то что мне нужно. Беды следующие: 1) я не привык к Java и с трудом ее перевариваю. 2) от приведенного "конфига страницы" в виде обьектов в массиве у меня глаза расползаются 3) мне бы какой-нить howto "шаг за шагом" начиная с таблички в 3-5 столбцов. Вставить ник Quote
EugeneTV Posted December 11, 2017 Posted December 11, 2017 18 минут назад, LostSoul сказал: мне бы какой-нить howto "шаг за шагом" начиная с таблички в 3-5 столбцов. https://habrahabr.ru/hub/extjs/ тут полно всякого. Я не интересовался, если честно. Вставить ник Quote
LostSoul Posted December 11, 2017 Author Posted December 11, 2017 1 час назад, EugeneTV сказал: тут полно всякого. Я нашел там вот такой hello world , к второй половине статьи понял что для меня это запредельно сложно и "с разбегу" я не осилю даже по этой мурзлике повторить тестовый проект. https://habrahabr.ru/post/240033/ А в комментариях народ высмеивает, как можно такие простые проекты в статьях описывать :-( Вставить ник Quote
pavel.odintsov Posted December 11, 2017 Posted December 11, 2017 ExtJS - как раз пример вирусной технологии. Если на нее подсядешь - слазить будет ужасно больно. Малейшая попытка перекрутить его внутренности - кончается тотальным адом. Я участвовал в проекте, где решили начать с него, так как это казалось быстрым и очевидным способом сделать гуй. Кончилось еще двумя годами переписывания на тот же Symfony. Вставить ник Quote
LostSoul Posted December 12, 2017 Author Posted December 12, 2017 Ну может хоть для Symfony есть динамическое инлайн-редактирование таблиц с динамической подгрузкой контента в виде готового компонента? Вставить ник Quote
EugeneTV Posted December 12, 2017 Posted December 12, 2017 3 часа назад, LostSoul сказал: есть динамическое инлайн-редактирование таблиц с динамической подгрузкой контента Если дело только в этом, то https://datatables.net. там это есть, как и многое другое. Однако все серверные обработки, работу с субд и прочее, придется ваять самому. Вставить ник Quote
LostSoul Posted December 12, 2017 Author Posted December 12, 2017 19 минут назад, EugeneTV сказал: Если дело только в этом, то https://datatables.net. там это есть, как и многое другое. О Потыкался в примеры, ничего похожего не нашел. Лепить самому серверную сторону - это несерьёзно. Я же описал, хочу на серверной стороне сказать вот так $titleTable = (new TableDescriptor('title', 'Title')) ->addColumn('title', 'Title', 'string', ['required' => true, 'max' => 255]) ->addColumn('description', 'Description', 'textarea', ['max' => 65535]) ->addColumn('price', 'Price', 'price', ['required' => true]) ->addColumn('genre', 'Genre', 'enum', ['required' => true, 'enum' => ['Travel', 'Crime', 'Romance', 'Computing', 'Horror']]) ->addColumn('tag', 'Tag', 'editabledropdown') ->addColumn('rating', 'Rating', 'percentage') ->addColumn('pub_date', 'Publish Date', 'datetime', ['required' => true]); и чтоб всё волшебным образом появилось и отрендерилось само - и пункты в меню и контроллеры и view и весь javascipt код. А я просто в редактор прав зашел и задал каким группам пользователей можно с этой новой таблицей работать. ( ну или тоже можно прям в коде ) причем чтоб заготовку этой штуки лепило прямо с mysql таблицы согласно одну из заданных "шаблонов создания". То есть типа создал в sql таблицу с некоторыми полями, натравил на нее "make_on_template.py --template=doc_collection new_table и оно само заготовило допустим и /contorllers/new_table и i18/new_table/ru_RU/index.po а я зашел и названия кнопок и колонок по вкусу поправил. ( подписанные по умолчанию так, как определено в соответствиях шаблона doc_collection ) Вставить ник Quote
GrandPr1de Posted December 12, 2017 Posted December 12, 2017 подобные генераторы я только в yii помню но всё равно какой-то уровень своей абстракции придется мудрить... а с виду очень старнные хотелки из разряда "хочу что б ***ись и одной кнопкой" Вставить ник Quote
LostSoul Posted December 12, 2017 Author Posted December 12, 2017 1 час назад, GrandPr1de сказал: подобные генераторы я только в yii помню но всё равно какой-то уровень своей абстракции придется мудрить... а с виду очень старнные хотелки из разряда "хочу что б ***ись и одной кнопкой" Ну понимаете, жизненный цикл развертывания бизнес-процессов он такой, что обычно "срочно требуется новая таблица и начать в ней что-нибудь хранить хоть как нибудь". Потому что нельзя думать обо всем сразу. Сначала есть идея. Потом есть реализация "базового функционала" , а данные от "идеи" уже надо где-то хранить, нужна таблица и хоть какой-то доступ для работы с ней. Потом когда видно что идея в принципе "выстрелила" и указанная таблица часто востребована в работе предприятия, идет ее "улучшайзинг". Ну как вариант - решили мы клиентам роутеры и приставки в аренду-лизинг выдавать. И обкатать эту идею на пробной тыще приставок. Прибегает к нам менеджер и говорит "срочно бегом надо выдавать уже вчера". Что мы делаем? В идеале СРОЧНО создаем таблицу "арендное железо" где будет тупо id , поле-ссылка на договор клиента, поле-ссылка на таблицу абонентских железок, поля с номером соглашения об аренде , поле с датой его подписания, поле-статус "действующий" , поле-дата возврата оборудования. То есть получаем пока просто никак не оформленную таблицу вида id : int primary key client_id : link to clients device_id : link to devices doc_num : text doc_sign_date : datetime is_active : boolean дальше в таком вот некрасивом, непричесанном виде просто жмакаем "создать гуй" и ставим группе девочек, оформляющих договора - права на работу с этой таблицей ( и журналированием действий операторов by default ) бежим отчитываемся менеджеру - всё, по временной схеме "вчера" можно начинать работать. А да забыл, нам ещё одна такая же табличка "срочно вчера" для учета заявок на это самое арендное железо нужна. И ещё одна - журнал выдачи этого самого железа со склада кладовщиком , передачи их ответственному монтажнику и возврата на склад или установки клиенту. Итого уже 3 таблицы. И их хочется пока быстро тупо сделать и дать права. Обьяснив девочкам что тут выбираем клиента. тут железку , тут номер договора создается auto_increment. Дальше у нас эти 3 таблицы начали накапливать некий обьем данных. Оборудование клиентам выдается, кладовщики фиксируют кому из монтажников выдали с склада , девочки фиксируют кто из клиентов подписал договора на аренду. Через квартал на планерке смотрим итоги. С вероятностью 70% большой босс говорит "ну его нахрен эту аренду, одни убытки и выхлопа никакого". С вероятностью 30% большой босс говорит "тема то хорошо пошла, клиент от конкурентов к нам побежал". В варианте А - радуемся сэкономленному времени и отсутствию факапа по срокам "сделать вчера". В варианте Б - сажаем человека украшать и допиливать эти таблицы. Прописать названия каждой колонки, сделать элементы поиска, фильтрами обвешать, сделать более продуманную систему прав для предотвращения злоупотреблений, нафигачить 100500 отчётов разных и.т.д. и.т.п. Возможно какую-то кнопку блокировки туда-же вставить "за неуплату" или кнопку "послать на приставку клиенту сообщение". В общем большой простор для фантазии. Но главное - чтоб как только появляется идея, под нее быстро можно было создать интегрированную с общим зоопарком "таблицу". Ну и естественно хочется чтоб эта таблица сразу была с ограничением доступа "кому-надо" , журналов действий этого "кого-надо" , автоматическим динамическим обновлением с стороны базы данных ( если другой менеджер поправил что-то в таблице чтоб у всех динамически обновлялось ) и.т.п. Вставить ник Quote
vop Posted December 12, 2017 Posted December 12, 2017 Херасе, как сложно. Вы мыслите какими-то табличкам, как технарь. Почему бы не мыслить процессами, как это делают разные биллинги? :) У меня в биллинге эта задача решается просто. 1. Сисадмин, 1 раз. Добавить сервис, название - "Аренда роутера". Залить список id и S/N роутеров. - пара минут. 2. При выдаче роутера клиенту - добавить ресурс с id и тарифом в профайл клиента. Секунд 15. В принципе и все. Оно там само всунется в нужные таблицы, о которых операторы и администраторы особо не знают. Это функционал, который я писал в конце 90-х Так-что не мудрите, а купите готовый биллинг, или возьмите бесплатный. С табличками замахаетесь. Вставить ник Quote
LostSoul Posted December 12, 2017 Author Posted December 12, 2017 5 минут назад, vop сказал: Так-что не мудрите, а купите готовый биллинг Я внедрением и доработкой "готовых биллингов" занимаюсь ~20 лет. Ничего хорошего, удобного и качественного описанным вами способом в чужом готовом продукте не получится. Наоборот вам придется крайне неудобно подстраивать все свои бизнес-процессы под логику авторов продукта, который вы будете пытаться применить к реализации вашей идеи. Давайте усложним пример. В аренду выдаются не роутеры, а например вендинговые автоматы. И в личном кабинете клиента надо рисовать красивую динамическую табличку с остатком 12 видов расходников ( вода-кофе-чай-стаканчики , баланс симки , количество продаж и наличных денег в купюрнике ) Много ваш "готовый биллинг" в этом поможет? Или например, мы предоставляем клиенту камеры в нужных ему местах как услугу. С облачным архивом. Нужно отображать табличку в которой бы динамически отображался статус доступности каждой камеры, 3шт мини слайдов с "последней активностью" перед камерой ( динамически обновляемых в реальном времени, разумеется ) , использованное место под хранение в Мб ( тоже динамически ) . Примеров таких идей которые нужно быстро прикрутить "на пробу" к своей АСР можно привести миллион. И ни одну из них вы не сделаете качественно в чужом и сложном навороченном продукте. Тем более , так поэтапно, как написано мной. Что сначала это "просто табличка" , а потом бы она обрастала функционалом по мере его актуальности. Вставить ник Quote
GrandPr1de Posted December 12, 2017 Posted December 12, 2017 Не, не верю я в такое, что б бесплатное, открытое и уже кем-то сделанное. Повторюсь: похожий конструктор я в yii видел, когда на основе модели генерируется view и базовый controller. ИМХО если так делать, что б был инструмент который даст всё делать быстро и на ***ись - всё обрастет ебучим адом. Но это ИМХО. Поидее нужна обертка которая будет встраиваться в каждую VIEW, на основе которой будет представление табличной БД. Трабл в динамическом разделении прав на уровне столбца+строки, вот там будет ахтунг. Гугл доки, что вы привели там глобально можно редактировать весь документ, если дали право. Вы поймите, что гугл доки - так куча работы именно с фронтом и очень немного работы с хранением самих данных. Пока вы не поймете что гвоздь не в связке таблички с чем-то, а в том, что нужно иметь кучу функционала ещё до таблички - ничего не выйдет. Когда напильником доработается или напишеться своё - тогда сколь угодно создавайте таблиц, у вас уже есть все штуки для редактирования, разделения прав и т.д. Вставить ник Quote
LostSoul Posted December 12, 2017 Author Posted December 12, 2017 11 минут назад, GrandPr1de сказал: ИМХО если так делать, что б был инструмент который даст всё делать быстро и на ***ись - всё обрастет ебучим адом. Я с вами согласен, но это можно сказать определенная "рыночная стратегия" и "конкурентное преимущество". Когда владеешь инструментом, позволяющим с минимальными затратами и в кратчайшие сроки пробовать разные бредовые идеи. Хочется то как раз таки нормальный "каркас" чтоб можно было наплодить "быстро и много" , а потом - хотим качественно отращиваем крылья, а хотим - жабры :-) Насчет сложностей с правами доступа на столбцы/строки - ну если это так сложно, то хрен с ними. Сейчас даже mysql позволяет создавать view доступные на запись. Пусть оно хотя бы дает права целиком на таблицу. Но есть нюансы - скажем если у нас таблица абонентских устройств - то админу надо давать доступ к всем объектам, реселлеру - к устройствам группы клиентов , а клиенту - только к его собственным железкам. То есть какие-то хотя бы простейшие фильтры всё таки нужны. Хотя бы в виде константы, передаваемой в SQL view. Для меня именно большую сложность представляет именно таки отрисовка, сереализация и.т.п. , javascript. Не то чтоб я не понимаю как всё это работает по отдельности, но навыками грамотного архитектурного построения настолько сложного комбайна не владею. Весьма перспективным "комбайном" является CoreManager от ISPSystem https://www.ispsystem.ru/software/coremanager и основанные на нем готовые "конфигурации" ( в терминологии 1С ) ISPManger , BillManager , VMManger , DCIManger к сожалению недостатков там ( в некоторой ограниченности "движка" ) и кривизны "типовых конфигураций" очень много. Ищу похожие альтернативы. В принципе ещё одну знаю и могу сказать в личку, но там автор не особо хочет чтоб его продукт использовали как конструктор сторонние разработчики. Вставить ник Quote
GrandPr1de Posted December 12, 2017 Posted December 12, 2017 (edited) http://www.yiiframework.com/doc-2.0/guide-start-gii.html может всё таки испытаете? а то я уже пару раз его упомянул, но всё равно как-то стороной обходят с него начнете, а дальше обрастете и жабрами, и крыльями, и рогами создадите монстра по вкусу ;) Edited December 12, 2017 by GrandPr1de доп инфа Вставить ник Quote
LostSoul Posted December 13, 2017 Author Posted December 13, 2017 7 часов назад, GrandPr1de сказал: а то я уже пару раз его упомянул, но всё равно как-то стороной обходят я это всё пробовал уже много раз. давайте так - как туда прикрутить инлайн-редактирование совместно с динамической ajax подгрузкой больших таблиц? ( а-ля google doc ) причем так чтоб для любой созданной модели сразу появлялся контролллер и возможность его править через веб через минимально удобный вид? как раздать права пользователям хотя бы на таблицы? Там каждый раз упирается в то, что находим допустим отдельно компоненту с примерами для динамической подргрузки большой таблицы. Находим компоненту и пример кода для инлайн-редактирования на ajax. пытаемся совместить в одном проекте - и хрен они вообще по разному написаны без учета друг друга. а теперь берем третий класс для динамической отрисовки изменений в базе "на лету" и пытаемся скрестить уже 3 скрипта.... все что можно сделать с таким подходом я гораздо удобнее и проще уже реализовал на CoreManager. Но я упираюсь в функциональные ограничения движка. Вставить ник Quote
vop Posted December 13, 2017 Posted December 13, 2017 16 часов назад, LostSoul сказал: Я внедрением и доработкой "готовых биллингов" занимаюсь ~20 лет. Ничего хорошего, удобного и качественного описанным вами способом в чужом готовом продукте не получится. Наоборот вам придется крайне неудобно подстраивать все свои бизнес-процессы под логику авторов продукта, который вы будете пытаться применить к реализации вашей идеи. Давайте усложним пример. В аренду выдаются не роутеры, а например вендинговые автоматы. И в личном кабинете клиента надо рисовать красивую динамическую табличку с остатком 12 видов расходников ( вода-кофе-чай-стаканчики , баланс симки , количество продаж и наличных денег в купюрнике ) Много ваш "готовый биллинг" в этом поможет? Вы про мой биллинг? Если да, то конечно поможет. Любому продаваемому ресурсу можно добавить до 64 любых независимых параметров с индивидуальной настройкой доступа каждого администратора к каждому параметру. Если есть необходимость отобразить любой набор параметров в любой нестандартной форме, то, разумеется, есть простой механизм вызова внешних плагинов, в данном случае, плагинов профайла абонента с набором параметров. Но речь, если я не ошибаюсь, шла о комплекте табличек, не? :) А у меня идет речь о формализованном наборе параметров ресурса, которые вы уже отображаете, как хотите, и не мудрите с табличками. Вставить ник Quote
LostSoul Posted December 13, 2017 Author Posted December 13, 2017 25 минут назад, vop сказал: Но речь, если я не ошибаюсь, шла о комплекте табличек, не? :) ну вы видимо всю ветку не читали. У меня речь шла об ( в идеале ) классах обьектов, наследуемых друг от друга. типа service -> pereodic_service -- ipFlatRateService. Под "табличками" понимается то, что мне для создания нового класса достаточно объявить его описание ( например родительский класс и дополнительные аттрибуты/методы ) + права доступа. А дальше класс обьектов сам появится в меню, для него будут созданы формы просмотра поиска и редактирования по умолчанию, весь необходимый код по клиент-серверному обмену. Ваш биллинг можно где-то взять или он всё-таки написал под себя и для себя? ( как у и меня ) Вставить ник Quote
vop Posted December 13, 2017 Posted December 13, 2017 Вроде я отвечал в этой теме часа 4 назад. Или просто забыл надавить на "Отправить"? Вставить ник Quote
pavel.odintsov Posted December 13, 2017 Posted December 13, 2017 Почему никто не сказал MongoDB и маппинги на нее? По факту, есть даже маппинги которые лезут ПРЯМО в базу и позволяют использовать контроль привилегий на уровне базы. Вставить ник Quote
ichthyandr Posted December 14, 2017 Posted December 14, 2017 17 часов назад, LostSoul сказал: ну вы видимо всю ветку не читали. У меня речь шла об ( в идеале ) классах обьектов, наследуемых друг от друга. типа service -> pereodic_service -- ipFlatRateService. Под "табличками" понимается то, что мне для создания нового класса достаточно объявить его описание ( например родительский класс и дополнительные аттрибуты/методы ) + права доступа. А дальше класс обьектов сам появится в меню, для него будут созданы формы просмотра поиска и редактирования по умолчанию, весь необходимый код по клиент-серверному обмену. Ваш биллинг можно где-то взять или он всё-таки написал под себя и для себя? ( как у и меня ) Вы представьте что Вы хотите - построить иерархию классов с правами доступа. Чтобы чтото заворачивать в класс (объект, пусть даже таблицу на СУБД), нужно выделить сущности (абстракции). А вы хотите всего лишь прокрутку таблиц с подгрузкой (реализуется через ajax), разграничение прав доступа (можно сделать на уровне субд) и генератор форм (ну тут могут быть сложности, можно и в рукопашку разметку сделать), генерацию печатных форм тоже не проблема привинтить, но на всё нужно время и это всё уже есть. Хотите более крутой конструктор - возьмите 1С, там генератор форм и отчетов есть, но кодить задачу придется хоть и "блоки" покрупнее, ну заплатить придется. Можно MS Access заюзать, там тоже есть плюшки быстрой разработки, делфи наконец (прости госспади), всеравно кодить придется. А вот так чтоб взял, накидал форм, да потом чтоб база подвязалась, да еще права раздать, ну хрен знает, может быть и есть такой на свете зверь Вставить ник Quote
LostSoul Posted December 14, 2017 Author Posted December 14, 2017 Так тема по сути так и называется. Хочу MS Access или "дельфи прости госпади" на открытых технологиях. типа питона ( ну или php ) Я хочу не просто "прокрутку таблиц с подгрузкой" у некий универсальный контроллер + обвязку ( авторизация, меню, дашбоарды всякие, динамический рендеринг ) который бы обеспечивал работу множества определенных мной сущностей ( абстракций ) по их краткому формальному описанию без избыточности. Ну то есть рассмотрим "типовой пример". Хочу учетную систему из 3 таблиц для каталогизации mp3. Одна таблица - исполнители singer ( id int , name text ) , Вторая таблица - album ( id , singer_id ссылка , year int ) Третья таблица - композиции mp3 ( id , singer_id ссылка, album_id ссылка) Вот хочу такую cms/фреймворк/компоненту чтоб я буквально эти 3 строчки написал ( неважно в каком формате - классов ли, таблиц ли, сущностей ли ) - и у меня сразу в меню вебсайта появилось 3 таблицы. Чтоб каждую из них можно было редактировать с динамической прокруткой и подгрузкой. Чтоб на таблицу mp3 можно было дать доступ всем, а на на редактирование таблицы авторов только юзеру Маринке. Чтоб можно было кратко, в той же модели из 3 строчек дописать как именно я хочу чтоб отображались определенные поля, определить правила проверки и.т.п. И чтоб потом когда я найду время и захочу это расширить и доделать по нормальному - я мог уже создать и отдельные контроллеры и вьювы и всё остальное, но чтоб без них тоже работало. А все mvc фреймфорки которые я смотрел , если и генерят что-то по умолчанию то оно там убожество которым нельзя пользоваться даже временно. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.