Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10  11   

Свежая статья от lsFusion с критикой 1с на Хабре. Часть 3.

Ø [длинная ветка, 05.10.19 - 16:33]
Свежая статья от lsFusion с критикой 1с на Хабре. Часть 3.
Я
   PR
 
04.10.19 - 00:19
Предыдущая статья Свежая статья от lsFusion с критикой 1с на Хабре. Часть 2.
По ходу ветке все-равно быть, так что чего уж
   pechkin
 
101 - 04.10.19 - 10:33
(99) по беглому осмотру статьи вообще не понятно какой же код там гененерится и для чего
   pechkin
 
102 - 04.10.19 - 10:34
(100) ну так и на фузине тоже можно написать свой кодогенератор.
речь же про платформу а не про конфиги
   3achem
 
103 - 04.10.19 - 10:37
(102) Я сейчас буду оперировать аргументы уважаемых фузиновцев "А сколько строк кода это займёт?"
   pechkin
 
104 - 04.10.19 - 10:38
(103) а сколько строк кода займет написать то что ты показал?
   pechkin
 
105 - 04.10.19 - 10:39
те сравнивать что у 1с уже есть куча доп конфиг и голую платформу некорректно.
конечно у 1с сообщество куда больше. тут это никто и не оспаривает
   Paint_NET
 
106 - 04.10.19 - 10:39
Ыыы.
На самый главный вопрос - на кой хер нужна голая платформа - ответ будет? :)
   Devilment
 
107 - 04.10.19 - 10:41
(81) Наконец-то прогресс! Иногда надо просто ответить на вопрос, не пытаясь искать двойное дно. Можно двигаться дальше.
   pechkin
 
108 - 04.10.19 - 10:41
(106) это пожалуй единственная, но очень весомая претензция. которая ставит на нет практически всю их идею
   3achem
 
109 - 04.10.19 - 10:42
(104) Я первый спросил
   pechkin
 
110 - 04.10.19 - 10:43
(109) ты спросил: а вот я уже программу написал, а ты нет. Значит мой язык лучше
   Devilment
 
111 - 04.10.19 - 10:43
(84) Ну, я пытаюсь определить некоторую базу, от которой можно отсчитывать степень их упоротости :))
   Smile 8D
 
112 - 04.10.19 - 10:44
(99) Насчет того что практикует 1С - большой вопрос. Мне, например, очевидно, что они пишут код типовых не в конфигураторе. В прошлом году был курьезный случай в этом плане. Вышло обновление УТ, где заменили стандартные кнопки "Записать", "Провести" и т.д. на программные. При в ряде документов кнопки пропали совсем (кривой релиз, который быстро исправили). Выяснилось, что у кнопок не был заполнен один из обязательных реквизитов, без которого сохранить конфигурацию в стандартном конфигураторе нельзя. Наверняка, 1С использует какие-то другие средства разработки, а уже потом собирает все это в релизы.
Может кто-то больше в теме и просвятит)
   pechkin
 
113 - 04.10.19 - 10:44
конкретно моя претензия в том что они придумали свой язык.
конечно же я изучать его не буду. да и мало кто в здравом уме станет
   pechkin
 
114 - 04.10.19 - 10:44
(112) так в едт же пишут наверняка
   Devilment
 
115 - 04.10.19 - 10:46
(113) Ты что, глупее "человека с улицы без ИТ-опыта", который у них через неделю уже коммиты в prod на гитхабе струячит?
   CrushBy
 
116 - 04.10.19 - 10:48
(106) Мне нравится люди, которые все время пишут, что без типовых конфигураций никуда. А дальше, вот "пример из моей самописки".
   Злопчинский
 
117 - 04.10.19 - 10:48
(70) "Миллениалы изобрели переходную платформу между 7.7 и 8.0"
вполне себе пригодная вещь для кучи мелких и средних контор.
ели бы не позиционировали себя как "я один дАртаньян".
а показали бы - где 1С оправдана, где Фузина оправдана.
везде есть и хорошее и плохое.
и лучше бы работали и фузина и 1сники в тандеме.
прикрутили бы фузиновцы визуальное описание форм, минимизировали ручной код - глядишь и что-то вышло бы, если ларек какой-нить не может себе позволить скуль, платформу за 150 тыс.
   Злопчинский
 
118 - 04.10.19 - 10:49
(116) чистых самописок не так уж и много.
большинство самописок - навеска на типовой функционал. используется и типовой функционал и навеска.
   Bro
 
119 - 04.10.19 - 10:49
(92) Ну и как перевести в авто, ОФ и автоматические блокировки юзать?
   Devilment
 
120 - 04.10.19 - 10:52
(91) Ну ладно, перейдём к более практическим вопросам. Вот скачал и установил я платформу. Теперь у меня задача - вывести на форму XML-файл заранее неизвестной структуры, который я выбираю из каталога на диске, в виде дерева. Расскажите, что и где мне прочитать в документации, чтобы сделать это. И, желательно, приведите полный код такого простейшего приложения.
   Bro
 
121 - 04.10.19 - 10:53
(106)  IamAlexy например на голой пишет как я понял.
   Злопчинский
 
122 - 04.10.19 - 10:53
(91) "то видео как писать код, на мой взгляд, не очень практично. "
- нормально-нормально. и комментируй голосом что данный написанный оператор\код функционально обозначает.
с учетом того что вы декларируете что все делается очень быстро - кода немного - осилим. серии по 7-10 минут законченные.
   Bro
 
123 - 04.10.19 - 10:53
(120) Это конечно самая основная задача, с которой сталкивается любой разработчик бизнес-приложений.
   CrushBy
 
124 - 04.10.19 - 10:55
(120) INPUT f = XMLFILE DO {
          IMPORT FROM f TO ...
      }

https://documentation.lsfusion.org/pages/viewpage.action?pageId=46367614
   Devilment
 
125 - 04.10.19 - 10:56
(123) Ну, не буду же я сразу всю задачу целиком вываливать, платформа то ваша мне неизвестна. Шаг за шагом, научусь в вашей документации ориентироваться, пойму базовые принципы работы, пока без работы с данными из базы.
   IamAlexy
 
126 - 04.10.19 - 10:57
(123) мы про бизнес-кейсы в целом говорим или про бизнес-кейсы из списка:
1. выбрать номенклатуру и справочника
2. ввести цену
3. ввести ставку ндс
4. записать документ

?
   Devilment
 
127 - 04.10.19 - 11:01
(124) Так, как файл открыть понятно, а вот что после TO ... писать, чтобы вывести в виде дерева?
   PR
 
128 - 04.10.19 - 11:05
(66) Не не не, чур меня
   Злопчинский
 
129 - 04.10.19 - 11:05
одна из проблем когда осваивал 1С77 - было до определенного момента непонимание как все устроено. понимание отдельных мест было. а в целом - проблемы. СП в этом мало помогал.
.
поэтому в фузине хорошо было бы связный сквозной пример от и до. который бы показывал ВСЕ в целом и взаимосвязях. пусть не так подробно (это докопаемтся-детализируется) - это можно детализировать позже.
   3achem
 
130 - 04.10.19 - 11:08
(123) К своему счастью, вы просто не знаете, что такое XBRL
 
 Рекламное место пустует
   Devilment
 
131 - 04.10.19 - 11:08
(129) Так-то более-менее понятно, но вот я что-то самых азов не нашел - работы с примитивными типами, преобразование примитивных типов, как с массивами у них работать, например.
   бегинер
 
132 - 04.10.19 - 11:10
(127)
с помощью этого:

Оператор IMPORT создает действие, которое импортирует данные из файла в значения заданных свойств или в заданную форму.
https://documentation.lsfusion.org/pages/viewpage.action?pageId=31260959

только вот не понятно - конкретно, как на форме разместить элемент управления "tree view" - какой элемент управления?

т.е. прописать этот элемент UI в коде генерации формы и привязать его к данными через IMPORT
   fisher
 
133 - 04.10.19 - 11:15
(131) Насколько я понимаю, на низком уровне это тупо джава. DSL только для описания высокоуровневых штук.
   fisher
 
134 - 04.10.19 - 11:17
(133) + То бишь какого-то отдельного макроязыка "базового" уровня - нет.
   бегинер
 
135 - 04.10.19 - 11:18
(131) в явном виде как в 1с я сразу не нашел в описании платформы операторов типа: число символов в строке, преобразование типов
а оказывается все эти функции - функции PostgreSQL? а не самой платформы
а все эти функции постгрешные - вызываются через FORMULA

https://documentation.lsfusion.org/display/LSFUS/How-to%3A+FORMULA

типа этих:
https://postgrespro.ru/docs/postgresql/9.5/functions-string

т.е. чтоб узнать число символов-длину строки нужно юзать FORMULA + length
где length - функция пострги а не платформы

верно?
   бегинер
 
136 - 04.10.19 - 11:19
   VladZ
 
137 - 04.10.19 - 11:23
Опять эта фузина? Предлагаю Фузину приравнять к Сузуки.
И не засорять божественный форум всякой бесовщиной!
   Smile 8D
 
138 - 04.10.19 - 11:25
(137) Предлагай не предлагай, а Волшебник уже одобрил их ветки, создал для них секцию и выдал права на нее.
   isa2net
 
139 - 04.10.19 - 11:26
(119) Давайте на конкретные проблемы бизнеса рассматривать.
Как у вас решается вопрос контроля остатков и расчета себестоимости при оперативном и неоперативном внесении данных?
   fisher
 
140 - 04.10.19 - 11:27
(135) Не. Вот:
https://documentation.lsfusion.org/pages/viewpage.action?pageId=51216543
FORMULA - это хак для обращения к функциональности используемой СУБД
INTERNAL - для вызова java-кода
   CrushBy
 
141 - 04.10.19 - 11:32
(135) Да. В определенном смысле lsFusion использует PostgreSQL как "виртуальную машину". Соответственно, можно обращаться к его функциям. Недавно надо было сделать транслитерацию. В итоге просто в инете ищется PostgreSQL функция, которая это делает (с первым параметром строки). Дальше делается CREATE PROCEDURE в psql. Затем просто во фьюжене делается действие
translate = FORMULA TEXT 'myfunction($1)'; и можно использовать в lsFusion MESSAGE translate(s); Есть много таких формул описано вот здесь :
github.com/lsfusion/platform/blob/master/server/src/main/lsfusion/system/Utils.lsf
github.com/lsfusion/platform/blob/master/server/src/main/lsfusion/system/Time.lsf
   CrushBy
 
142 - 04.10.19 - 11:33
   Злопчинский
 
143 - 04.10.19 - 11:35
(141) "В итоге просто в инете ищется PostgreSQL функция, которая это делает (с первым параметром строки). Дальше делается CREATE PROCEDURE в psql. "
- это будет делать БИЗНЕС-РАЗРАБОТЧИК? (не путаем его с кодером).
   Devilment
 
144 - 04.10.19 - 11:37
(141) Ага. Но как всё-таки вывести XML неизвестной заранее структуры в дерево на форме?
   Злопчинский
 
145 - 04.10.19 - 11:37
(141) "Дальше делается CREATE PROCEDURE в psql."
- в один прекрасный момент сервак наворачивается - все случается рано или поздно. или прога клонируется на другую компанию со своим установленным постгри. без этой процедуры транслитерации на стороне постгри.
хреняк - прикладнуха вываливается в нерабочее состояние?
то есть прикладнуха не являтся собственно независимым решением, которое может быть перенесно\клонировано...?
   бегинер
 
146 - 04.10.19 - 11:39
т.е если мне надо округлить число то надо юзать FORMULA и ROUND от postgre
https://documentation.lsfusion.org/pages/viewpage.action?pageId=1572907

round:
https://postgrespro.ru/docs/postgrespro/9.5/functions-math

ну получается не "можно обращаться", а нужно все искать, и все базовые функции - нужно искать в Postgre и вызывать уже их через FORMULA?

это очень принципиальный момент! надо сделать ремарку - а то слету я не нашел у вас в описании все эти функции округления и т.д. - а они все оказывается в Postgre

а то вот 1с базовые функции работы со строкой есть в платформе, а у вас в Postgree:
1 Функции работы со строками в 1С
1.1 Строка
1.2 СтрДлина
1.3 СокрЛП, СокрЛ, СокрП
1.4 Лев, Прав, Сред
1.5 Найти
1.6 ВРег, НРег, ТРег
1.7 ПустаяСтрока
1.8 СтрЗаменить
1.9 СтрЧислоСтрок
1.10 СтрПолучитьСтроку
1.11 СтрЧислоВхождений
1.12 Символ и КодСимвола
   CrushBy
 
147 - 04.10.19 - 11:41
(146) Посмотрите файл Utils.lsf, который я писал выше. Там уже все эти свойства объявлены. replace, length и прочие.
   CrushBy
 
148 - 04.10.19 - 11:42
(144) Это бизнес-задача ? Сделайте open(f) и вам откроется браузер с этим xml.
   бегинер
 
149 - 04.10.19 - 11:43
ответьте на момент истины :)
(132) и (144)

т.е. прочитать через import любой xml и отобразить его иерархически на форме  - и все
   isa2net
 
150 - 04.10.19 - 11:44
На хабре в комментах темы уже дали ссылки сюда?
   бегинер
 
151 - 04.10.19 - 11:45
(146) ага спасибо, в описание это надо включить обязательно https://documentation.lsfusion.org

а то сразу был шокирован что этих базовых у вас нет как-будто
   trdm
 
152 - 04.10.19 - 11:46
(26) >  статья в тему https://habr.com/ru/post/465873/

Когда я сказал в прошлой ветке, что предназначение программиста - экономия времени пользователя, надо мной посмеялись :)
   бегинер
 
153 - 04.10.19 - 11:48
и вот реальный пример:
в 1с я не смог прочитать платформой ответ полученный от вебсервиса - так как он был сжат gzip-ом и соотв msgbox(сообщить) показывал кашу
пришлось регить dll`ку

как в вашей платформе можно это решить?:

т.е. на входе строка сжатая по gzip - нужно сообщить ее разарх. значение
   Garykom
 
154 - 04.10.19 - 11:48
(153) Там java нативная подключается если что
   Devilment
 
155 - 04.10.19 - 11:49
(148) Нет, не вся, конечно. Потом я хочу с этими данными работать - читать узлы дерева, обрабатывать полученные данные, и на выходе из этих данных получить JSON, например.
   fisher
 
156 - 04.10.19 - 11:49
(147) Ыыыы! Прикольно.
Т.е. половина основной библиотеки языка - через вызовы СУБД, а половина - джава?
А почему не все через джава?
Из каких соображений математика через СУБД?
   isa2net
 
157 - 04.10.19 - 11:49
(148) так и просим (139) показать как решается бизнес задача
   бегинер
 
158 - 04.10.19 - 11:50
(154) а в нативной яве это в базе есть? типа gzip(my_str) и ungzip(my_str)?
   бегинер
 
159 - 04.10.19 - 11:53
(148) ну тут уклоняетесь реально :)

задача именно в приложении на форме отобразить иерархический прочитанный xml файл

а не по нажатии кнопки в новом окне чисто чтоб браузер показал через open(f)
   бегинер
 
160 - 04.10.19 - 11:54
если нет такого - ничего страшного, платформа не все же может делать в идеале
чисто спрашиваем - можно такое сделать и как?
 
 Рекламное место пустует
   Devilment
 
161 - 04.10.19 - 11:54
(147) Я не понял, что, весь обсчет будет делать СУБД, что-ли? Потом отдавать на сервер приложения, потом тот на клиент? И это для элементарного определения длины строки?
   Злопчинский
 
162 - 04.10.19 - 11:54
(159) тыжпрограммист. разберись.
а воставшееся время если хватит - нахерачишь по быстрому убогий фейс.
   Garykom
 
163 - 04.10.19 - 11:55
(158) в нативной java есть дохрена и более либ, это кроме в базе https://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html
   Devilment
 
164 - 04.10.19 - 11:56
(159) Я не думаю, что это сложно для такой продвинутой платформы. Явно же не сложнее, чем показать листья дерева начиная с заданного уровня.
   Devilment
 
165 - 04.10.19 - 11:57
(163) Так не проще ли писать сразу на Java, используя готовые компоненты, как у Кубы сделано?
   бегинер
 
166 - 04.10.19 - 11:59
(163) нормуль, подрубить при случае worldwide БСП - это хорошо :)
   Злопчинский
 
167 - 04.10.19 - 12:00
вот и херово.
в 1С я могу сделать законченное бизнес-решение под хотелки клиента в одно рыло.
а тут topt в джаве копаться надо, в процедурах постгри чтото хреначить итд.
нахер весь этот геморрой если в нем нет необходимости? в 1С это тоже может понадобиться, но в каких-нибудь сложных моментах\проектах. а по большей части - и 1С хватит.
а тут - жри вдобавок к саксаулу (кактусы 1С сорчнее) еще и верблюжью колючку?!
   CrushBy
 
168 - 04.10.19 - 12:09
(159) Да, есть. Посмотрите в Utils действия makeZipFile и те, что рядом с ним. Можно архивировать и разархивировать. Java код писать при этом не надо.
(160) Собственно три варианта - открыть через open. Показать как TEXT (то есть просто плоским текстом). И показать как форму (если XML известной структуры). Пока для вывода компоненты XML нет специальной компоненты. Пока не было потребности. А потребностей было очень много (посмотрите, хотя бы, что сделано в Utils).
   Garykom
 
169 - 04.10.19 - 12:14
Фреймворк DSL фужен хорошо, мало обучающих материалов это плохо.

Нацеливаться на целевую законченных 1Сников плохо, цельтесь в + Java|C#|JS и прочих и будет хорошо.
Если кто 1С не смог освоить в полном объеме 77, 8 ОФ и УФ то еще одна платформа их тупо добьет.
   CrushBy
 
170 - 04.10.19 - 12:16
(169) Java|C#|JS - это не бизнес разработка. Там как раз надо заниматься всей этой &НаСервере и &НаКлиенте. А в lsFusion - это чистая бизнес-разработка. Так что первая цель - 1С программисты.
   isa2net
 
171 - 04.10.19 - 12:17
(168) Может уже обсуждали, тогда повторюсь - как на вышей платформе решен механизм характеристик? Так же интересно посмотреть , раз уж решения для торговли продовольствием, партии товара и серии, т.е. учет срока годности.
   Garykom
 
172 - 04.10.19 - 12:18
(170) 1С программистам нахрен не нужен lsFusion точно так же как им не нужен Java/C# и т.д. ))

Лично мне (не знаю как другим) нужна открытая бесплатная (почти) платформа 1С реализованная на Java в виде фреймворка. А не как сейчас закрытая проприетарная на C++
   CrushBy
 
173 - 04.10.19 - 12:18
(171) Это уже делается на уровне "конфигурации". Есть разные варианты. Кстати, тоже хотел написать про это статью с гифками. Возможно скоро будет.
   ДенисЧ
 
174 - 04.10.19 - 12:19
(172) А зачем тебе открытый код 1с?
   ДенисЧ
 
175 - 04.10.19 - 12:19
Да ещё на Джаве? Твои конфигурации работают слишком быстро?
   pechkin
 
176 - 04.10.19 - 12:19
(170) есть полно на C# что бизнес разработкой занимаются.
на прошлой конторе такой отдел был
   Garykom
 
177 - 04.10.19 - 12:20
(174) Нуна
(175) Хрен с ним согласен и на C# как http://oscript.io/
   pechkin
 
178 - 04.10.19 - 12:20
(175) а что джава это медленно? даже медленнее чем интерпретатор 1С?
   ДенисЧ
 
179 - 04.10.19 - 12:21
(178) Джава - это медленней, чем с++
   pechkin
 
180 - 04.10.19 - 12:21
(172) так это же куба
   isa2net
 
181 - 04.10.19 - 12:21
(173) То есть механизмы платформы не заточены на такие задачи? И это (139) тоже все без участия особенностей вашей платформы?
   pechkin
 
182 - 04.10.19 - 12:21
(179) ты на с++ пишешь бизнес код?
   ДенисЧ
 
183 - 04.10.19 - 12:22
(182) А почему бы не писать? Когда я писал на с+= - я писал именно бизнес-код, а не формошлёпствовал.
   Devilment
 
184 - 04.10.19 - 12:23
(168) Это печально, на самом деле. Ладно, пошёл придумывать для себя новую тестовую задачу.
   Garykom
 
185 - 04.10.19 - 12:23
(179) Неа. Грамотная реализация на Java это шустрее чем кривая на C++.
   pechkin
 
186 - 04.10.19 - 12:23
и зачем же кто-то на джаве пишет? с++ же есть.
а джава тормозит
   CrushBy
 
187 - 04.10.19 - 12:24
К слову у нас по сути на Java только компиляция запросов. Вся работа с данными (помимо видимого окна) идет на PostgreSQL. Так что все таки там скорее в основе C++.
   pechkin
 
188 - 04.10.19 - 12:24
(185) просто кто-то застрял в 2000 году
   Garykom
 
189 - 04.10.19 - 12:25
(188) Я пока от Golang тащусь, вот уж реально практически замена С++ ибо бинарники на выходе.
   CrushBy
 
190 - 04.10.19 - 12:25
И мы не гоняем данные по пути СУБД <-> сервер приложения туда назад миллион раз. Вся работа с данными идет по месту : на PostgreSQL. В этом, кстати, ключевое отличие практически от всех существующих платформ.
   Devilment
 
191 - 04.10.19 - 12:26
(170) Так мы,в общем, готовы. Но пока не идёт - то при установке платформы ошибки, то первая попавшаяся тестовая задача не решается никак. Вы же понимаете, что 1С-никам реализовывать примитивный склад малоинтересно?
   бегинер
 
192 - 04.10.19 - 12:27
(169) верно сказано, 1с -ники скажем так обленившиеся программисты :) привыкли что платформа делает за них, реально: херак, херак и в продакшен - и все робит очень даже ничего
я не программист - освоил 1с и платформа своими обьектами реально прощает и закрывает глаза на отсутствие каких-либо глубоких знаний в программировании.
я так 1с для себя охарактеризовал: школьные основы бейсика и примочки обьектами платформы
   Garykom
 
193 - 04.10.19 - 12:27
(190) Скажите насколько сложно перевести lsFusion вместо SQL на NoSQL типа CouchDB или MongoDB (взамен PostgreSQL)?
   Devilment
 
194 - 04.10.19 - 12:27
(190) А сервер приложения тогда чем у вас занимается? Расскажите подробнее.
   pechkin
 
195 - 04.10.19 - 12:27
(193) а зачем носкл? в чем плюс?
   Garykom
 
196 - 04.10.19 - 12:28
(195) MapReduce
   Devilment
 
197 - 04.10.19 - 12:28
(193) Ты же понял, что никак, так как работа с примитивными данными организована средствами СУБД.
   pechkin
 
198 - 04.10.19 - 12:29
(196) у тебя столько данных, что нужно именно MapReduce ?
или в чем его плюс на малом количестве данных?
   Garykom
 
199 - 04.10.19 - 12:29
(197) Пофиг на примитивные если есть Java
   pechkin
 
200 - 04.10.19 - 12:29
(197) те чтобы сложить 2 числа будет запрос сделан?
  1  2  3  4  5  6  7  8  9  10  11   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.