Имя: Пароль:
LIFE
 
OFF: lsFusion vs 1C. Раунд 8
Ø (длинная ветка 14.11.2019 09:41)
0 CrushBy
 
08.11.19
15:12
Ветка для холивара, троллинга, остроумия и оскорблений. Помните, что тонкий троллинг и просто оскорбление - это разные вещи. Переход на личность - признак слабого ума и дурного воспитания.
В красному углу ринга бесплатная и открытая платформа lsFusion (LGPL лицензия). "Убийца 1С" (c) ПростоГен
Сайт : https://lsfusion.org/ . Блог : https://habr.com/ru/company/lsfusion/ . Документация : https://documentation.lsfusion.org/
Пример сложной системы, построенной на ее базе : https://demo.lsfusion.org/erp . Логин : guest, Пароль : guest .

На бой была вызвана статьей "Почему не 1С" : https://habr.com/ru/company/lsfusion/blog/468415/

Демка клона Odoo (в разработке) : https://demo.lsfusion.org/mycompany . Ссылка на GitHub : https://github.com/lsfusion-solutions/mycompany

Для получения наживы для троллинга есть отдельная ветка : Конкретные вопросы по lsFusion. Часть 2.

Предыдущая ветка : OFF: lsFusion vs 1C. Раунд 7
903 Paint_NET
 
13.11.19
12:53
(901) Не, белорусы нормальные ребята.
Это фузиновцы.
904 Bro
 
13.11.19
12:54
(901) Это ж 1С, все что больше одного списка и двух колонок это трындец. Куда уж до форм управления ассортиментом в lsFusion ERP.
905 terraByteG
 
13.11.19
12:54
(904) Пилять... Ты ты клон Краша... Почему вы хотите казаться тупыми?
906 _DAle_
 
13.11.19
12:55
(890) В техническом смысле никакого. Нет там в платформе, написанной на java, с абсолютно новыми концепциями, никакой преемственности к ls trade, написанном на foxpro
907 terraByteG
 
13.11.19
12:55
Ладно, Краш на голову отбит, что чувство юмора его тихонько покинуло. Куда Бро то лезет. Был адепт, но начинает косить под отбитого...
908 Paint_NET
 
13.11.19
12:55
Меня не оставляет ощущение, что один из этих клоунов на другом форуме хлестался в одно рыло, без методологов и консультантов, сваять свою ERP, которая заткнёт за пояс любую конфу адинэски.
909 terraByteG
 
13.11.19
12:56
Гитхаб... Зашел на хабр на их статью...
Как-то вас там размазали ровным слоем...
https://habr.com/ru/company/lsfusion/blog/458376/#comment_20348480
910 Кац
 
13.11.19
12:57
(896) скукожте это себе в одно место и никому больше не показывайте, ебаныйстыд!
911 Прохожий1С
 
13.11.19
12:58
(903) Спасибо!
(белорус-нефузиновец)
912 terraByteG
 
13.11.19
12:58
(909) При том по дате публикации. Я понимаю, что вас там не сильно по голове погладили. Вы подумали и решили, что раз так не заходит, то возьмем популярную платформу в РФ и начнем обдолбышами троллить, чтобы хоть как-то привлечь к себе внимание?
913 terraByteG
 
13.11.19
12:59
(911) Мы верим в вас - белорусов-нефузиновцев. Держитесь там!
914 Ник080808
 
13.11.19
13:03
(909) "в примерах добавим в ближайшее время" - ыыыыыыыыыыыыыыыыыы
915 Ник080808
 
13.11.19
13:03
(913) +100500 (911) чой это вы там такие ленивые что у вас фузины всякие голову подымают?)
916 Калиостро
 
13.11.19
13:04
(896) Позор! Уберите пре-альфу из общего доступа.
917 Конструктор1С
 
13.11.19
13:08
(912) сначала им казалось, что они изобрели убивцу популярных СУБД
https://habr.com/ru/company/lsfusion/blog/458774/
https://habr.com/ru/company/lsfusion/blog/459066/
это уже потом они придумали, что изобрели убивцу 1с. Ребята приехали к нам на машине времени, только немного десятилетием ошиблись. Изобрели "прорывные технологии" для 90-х годов
918 Ник080808
 
13.11.19
13:12
(917) когда весь мир пришел к пониманию что ооп это не серебренная пуля, а инструмент пригодный для частных случаев, фузиновцы изобрели платформу, преимуществом которой есть ооп)))
919 Кац
 
13.11.19
13:19
920 _DAle_
 
13.11.19
13:19
(912) Нет, вы неправильно поняли. Да и статьи эти планировалось писать ещё до первой статьи на хабре, но мне уже поднадоело по сто раз все это мусолить, можете думать, как вам угодно.
921 _DAle_
 
13.11.19
13:21
(918) Ага, а если бы вы чуть-чуть удосужились бы почитать про платформу, а не строчить миллионы комментариев на мисте, то и не писали бы всякую ерунду.
922 Ник080808
 
13.11.19
13:24
(921) ну вот если бы бро прочитал о платформе, разобрался что и как и не писал бы свои тупые лживые статьи на хабре, я бы счет ваше замечание уместным
923 Paint_NET
 
13.11.19
13:24
(921) Уважаемый, вы забыли, с чем сюда залезли адепты фузины?
924 Ник080808
 
13.11.19
13:33
(923) он считает что бро в статьях написал правду и был максимально корректен)))  ведь на хабре плюсиков наставили им, а на хабре большинство тру адекватных 1сников. не то что на мисте с инфостартом.
925 Paint_NET
 
13.11.19
13:34
(924) Да дело не в хабре даже.
Клоуны прискакали сюда с говнометательством, а "ерунду", значит, пишут мистяне.
926 Ник080808
 
13.11.19
13:37
(925) да классическое "а нас то за что?". Им можно писать ложь и передергивание, поливать людей и приложение грязью, а когда ответочка прилетела, они такие удивленные лица - а нас за что?
927 _DAle_
 
13.11.19
14:08
(923) Я напомню, что никто сюда ни с чем не залезал. Залезли сюда, когда увидели обсуждение статьи на хабре. Очередной убийца 1С - lsfusion
928 Ник080808
 
13.11.19
14:14
(927) ага, когда бро прикидывался что он вам не бро))) "   Bro
31 - 28.08.19 - 15:00
(25) Backspace как я понял, когда стоишь на поле. Но трындец не очевидно конечно, нет чтобы как в 1С кнопку на экран вытащить. Задолбали уже когда мобайл-френдли делают без кнопок на экране. Тем более у этих интерфейс и не мобайл френдли."
"   Bro
35 - 28.08.19 - 15:02
(20) Вот такую хрень там нашел:
https://documentation.lsfusion.org/pages/viewpage.action?pageId=2228636
И тут во вкладке lsfusion.org/try есть. Но стартует конечно пипец, 9 секунд на такой примитивной логике."
И всего лишь написали лживую статью на хабре.
929 _DAle_
 
13.11.19
14:19
(928) Лживая статья? Ну что-то пока показать, где там написана ложь, никто аргументированно не смог. Претензии там скорее к подаче материала, но это мы уже тоже обсуждали.
930 Ник080808
 
13.11.19
14:19
(929) так тыкали вас, а вы морозитесь
931 _DAle_
 
13.11.19
14:21
(930) Да нет, это вам кажется, что тыкали.
932 Ник080808
 
13.11.19
14:21
(931) да ну. вот эта фраза не пиздешь? "Такая убогость механизма ORM в 1С на самом деле обусловлена тем, что в 1С в какой-то момент попросту решили отказаться от ORM и сделать ставку на голый SQL (то есть регистры и запросы)."
933 1ctube
 
13.11.19
14:22
После прочтения всех этих бесконечных тем по фузине тут, понял что фузина это так, баловство.
934 _DAle_
 
13.11.19
14:25
(932) Понятия не имею. Я вообще про 1С ничего не знаю. Я говорю о том, что никто почему-то не может адекватно расписать, что "вот это и вот это не верно, потому что вот так и так". В основном там начинается либо демагогия, либо нападки, либо просто недостаточный уровень профессионализма, чтобы обсуждать что-то не на уровне 1С, а на уровне разработки ПО.
935 ГНиколаев
 
13.11.19
14:29
(934) Допустим, что там всё верно. И что из того, это доказывает, что фузина - это хорошо? Что у вас в голове вообще?
936 _DAle_
 
13.11.19
14:30
(935) Нет, конечно, не доказывает.
937 Botanik8888
 
13.11.19
14:33
(934) Вот не скатывайтесь хоть вы до уровня, Ваших коллег, Bro и CrushBy....
938 ГНиколаев
 
13.11.19
14:33
(936) А смысл тогда это педалировать? Вы же не рассчитываете, что 1С-ники массово покинут 1С и перейдут на фузину? Для кого вы эти битвы с 1С устраиваете, своё ЧСВ почесать, что-ли?
939 Ник080808
 
13.11.19
14:37
(934) ну вот. я говорю что это чистой воды писдешь, потому что бро пишет "что в 1С в какой-то момент попросту решили отказаться от ORM и сделать ставку на голый SQL". Когда я запросил у него пруфы, на основании чего он так заявил, он отморозился. 1с не отказывалась от ОРМ в сторону голого скуля. Они вообще ОРМ не внедряли в классическом виде. Регистры и запросы рядом с документами и справочниками были и в версии 7.7 и во всех версии 8-х. Аргументом лживости утверждения бро может служить хотя бы тот факт, что он сам пишет о отсутствии в 1с механизмов записи запросами. Так как могла 1с отказаться от ОРМ в пользу скуля, если не предоставила даже убого механизма записи скульными запросами в базу объектов?
940 Ник080808
 
13.11.19
14:38
(934) "Я вообще про 1С ничего не знаю. " опаньки. ты же лично отвечал мне что считаешь что статьи по 1с написаны профессионально и правдиво. А теперь оказывается что ты не знаешь 1с и не можешь ничего сказать))))
941 Ник080808
 
13.11.19
14:40
(940) "   _DAle_
870 - 06.11.19 - 22:16
(868) Мое мнение, что статьи, конечно, не идеально написаны: где-то, возможно, не хватает строгости формулировок и терминологии (к этому легко прицепиться), где-то понятности для стороннего читателя того, что же хотел сказать автор (по мисте это хорошо заметно), а где-то действительно были неточности, которые уже исправили. "
942 la luna llena
 
13.11.19
14:47
(892) который еще месяц назад не видел ни одного бизнес-приложения, ни одного языка программирования
где вы такого откопали и зачем?
943 _DAle_
 
13.11.19
14:53
(941) "Не хватает строгости формулировок и терминологии". Я и сейчас так считаю. Я не писал, что статьи (обе статьи) "профессионально и правдиво" написаны. Они написаны так, как это видит автор статьи, вопрос в том, где он явно ошибся? Вот это вот "что в 1С в какой-то момент попросту решили отказаться от ORM и сделать ставку на голый SQL" - это какое-то измышление, возможно, ничем не подкрепленное, возможно ошибочное, ок (возможно, опять же плохо сформулированное). Только суть там все равно не в этой фразе ведь.
944 CrushBy
 
13.11.19
15:05
(938) Смотрите. Вот забьет человек в гугле lsFusion и попадет на первую страницу первой темы. Там вообще нас нет. Убедится в на первых 5 страницах, что есть много неадекватных 1Совцев (что он в принципе уже знает, если вбил в гугл lsFusion). Слабо представляю человека, который после первых 5 страниц полного треша будет листать дальше. Если что, то посмотрит, что lsFusion горячо обсуждается (20К сообщений) - значит в ней что-то есть (как если кто-то продержится против Кличко 12 раундов, то тот кто видит результат будет считать, что наверное серьезный боец).
945 CrushBy
 
13.11.19
15:08
(944) А потом в конце обсуждения увидит вот это :

В фузине есть :

- ХАЛЯВА !!!!!
- Изначально заточена под PostgreSQL и Linux. А в 1С приходится дорого покупать MS SQL (под ванильным PostgreSQL не работает, а под PostgreSQL с закладками ФСБ работает плохо). Опять ХАЛЯВА !!!
- Наследование с полиморфизмом
- Редактирование в динамических списках
- Редактирование в матрицах
- Нормальная поддержка Table-Detail-Detail-Detail....
- Нормальная работа с деревьями
- Быстрая работа с большими документами
- Все выполняется там где данные (на сервере БД, а не гоняется на сервер приложений)
- Многие вещи реализуется в 3 строки, где в 1С - целые полотна
- Акценты только на бизнес-логике без технических подробностей (вроде &НаСервереБезКонтекста и МенеджерВременныхТаблиц)

В 1С есть :
- В заголовках номер заказа

И спокойно пойдет использовать lsFusion вместо 1С.
946 ГНиколаев
 
13.11.19
15:09
(944) Смешно, не может же так всерьёз думать разумный человек. И, опять же, с учетом того, что рынок России вам совсем не интересен, странно это выглядит.
947 Navigator
 
13.11.19
15:10
(944) с ринга вы сбежали сразу
а все 20 веток вам зрители пинки отвешивают
948 la luna llena
 
13.11.19
15:12
(944) она обсуждается не там где надо и не так как надо, про 1С в нашей стране и так все всё знают.
(945) вам же неинтересен рынок России
949 CrushBy
 
13.11.19
15:17
(947) Ну пока по очкам с большим перевесом побеждает lsFusion : (945) .
950 CrushBy
 
13.11.19
15:18
(948) Не интересен. На мисте мы больше для души. Но и наличие "обсуждения" на хабре и мисте тоже пригодится.
951 Прохожий1С
 
13.11.19
15:18
(944) > Вот забьет человек в гугле lsFusion
А зачем?
952 ГНиколаев
 
13.11.19
15:21
(951) Ну, когда поймет, что не 1С, сразу же будет - "а ведь никаких альтернатив нет, кроме lsFusion". И сразу в гугол...
953 tty12
 
13.11.19
15:24
(945) вот это дааа....

[- ХАЛЯВА !!!!!]
- в каком месте? скачать, посмотреть, удалить?! - это да! АРГУМЕНТ... ни одного работающего решения нет в свободном доступе. Или мне решение на халяву напишут?

[- Изначально заточена под PostgreSQL и Linux. А в 1С приходится дорого покупать MS SQL (под ванильным PostgreSQL не работает, а под PostgreSQL с закладками ФСБ работает плохо). Опять ХАЛЯВА !!!]
- см выше... И вообще, если руки кривые и мозгов не хватает, то и с продуктами от МС хрен че заработает.

[- Наследование с полиморфизмом]
- нахрена это мне?! чтобы из абстрактного класса наследовать и полиморфить, чтобы получить в итоге какой-то отчетик?

[- Редактирование в динамических списках]
- не любят у нас Excel-е подобные учетные системы.

[- Редактирование в матрицах]
- см предыдущий пункт. Несмотря даже на то, что реализовать это возможно.

[- Нормальная поддержка Table-Detail-Detail-Detail....]
- ваще не понял че это?

[- Нормальная работа с деревьями]
- по несколько корней у дерева - это уже не дерево, а хрень какая-то.

[- Быстрая работа с большими документами]
- пока этот большой документ забьют ручками, скорость работы с ним уже не будет иметь значения.

[- Все выполняется там где данные (на сервере БД, а не гоняется на сервер приложений)]
- избыточность обращений к "там где данные".

[- Многие вещи реализуется в 3 строки, где в 1С - целые полотна]
- а 3 строки реализуются неделями...

[- Акценты только на бизнес-логике без технических подробностей (вроде &НаСервереБезКонтекста и МенеджерВременныхТаблиц)]
- 2*2=5? Это зашито в платформу?!

В общем хрень какая-то у вас выходит пока...
954 PR
 
13.11.19
15:30
Есть люди, которых даже регулярные жизненные удары мордой об асфальт ничему не учат
Остается лишь пожелать им всяческих успехов на мировых и межпланетных рынках, жаждущих Фузину :))
955 СложноСпросить
 
13.11.19
15:40
а так хочется вернуться в 90гг, где конфы писали с нуля для ларьков...
956 Ник080808
 
13.11.19
15:41
(943) то есть "а где-то действительно были неточности, которые уже исправили" мы опускаем. Ибо тогда когда я спрашиваю ложное ли утверждение вы отвечаете  ""Я вообще про 1С ничего не знаю. " ". То есть рассуждать о ложности того или иного утверждения вы не можете потому что 1с не знаете, но в целом о статье рассуждать можете. (943) "это какое-то измышление" это не измышление, а утверждение "Такая убогость механизма ORM в 1С на самом деле обусловлена тем, что в 1С в какой-то момент попросту решили отказаться от ORM" ложность которого подтверждает сам же автор статьи несколькими пунктами ниже.
957 Ник080808
 
13.11.19
15:42
(945) ыыыыыы. не ну ты бог маркетинга. Джобс в аду просто рыдает от зависти))))
958 Ник080808
 
13.11.19
15:44
(955) все равно на фузине не написать ее) Они даже на своей платформе иерархию классов делают через одно место
959 tty12
 
13.11.19
15:45
(957) загуглил lsfusion в гугле... Даже грустно стало за фузиновцев. сплошной пиар "себя любимого" и реклама/продажа всяких лезвий...
960 CrushBy
 
13.11.19
15:48
(953) Как обычно. В 1С этого нет - значит этого не надо. А жизнь богаче. Но можете и дальше копаться в своей маленькой песочнице.
961 Ник080808
 
13.11.19
15:50
(960) "В 1С этого нет - значит этого не надо. " В фузине СКД нет, значит она не нужна. " у тебя шизофрения началась когда наблюдаться в детстве или в более зрелом возрасте?)
962 tty12
 
13.11.19
15:52
(960) Да пойми ты... наследование и полиморфизм не нужны для написания учетной системы в 1С. Я так понял именно к этому коммент написал...
963 Salimbek
 
13.11.19
16:01
(801) "Я вот не буду обсуждать свои способности, но в коде 1С с первого взгляда было все понятно. Это еще 75 и 77 были. Для меня - показатель. Да и почти любой другой не "инновационный" язык сходу понятен. У Вас "каша"."

Я примерно понял, как оно там устроено. Могу объяснить. Надо? В качестве основы брал статью "Почему не SQL?" с хабра...

1) Кратко говоря - они используют компиляцию команд лсФьюжн в запросы sql-сервера. Т.е. в отличие от привычного нам в 1С понимания, когда ты сначала выбираешь блок данных, а потом лопатишь его, они всю эту работу перекладывают на Сервер.
2) Такую трансляцию сложно сделать с языка "Типа 1С", поэтому используется свой язык со своими правилами. Причем запись идет в обратном порядке относительно того, как привыкли в других языках.

Т.е. это:
CLASS Game 'Игра';

date 'Дата' = DATA DATE (Game);
hostTeam = DATA Team (Game);
guestTeam = DATA Team (Game);
hostTeamName 'Хозяева' (Game game) = name(hostTeam(game));
guestTeamName 'Гости' (Game game) = name(guestTeam(game));

примерно означает
CLASS Game {
DATE date;
Team hostTeam;
Team guestTeam;
String hostTeamName = hostTeam.name;
String guestTeamName = guestTeam.name;
}
964 СложноСпросить
 
13.11.19
16:05
так они нашли тут идиотов, которые им УТ11 перенесут "с нуля" на их чудо софт?
965 Ник080808
 
13.11.19
16:07
(964) не. ут фигня. они клон оду клепают.
966 СложноСпросить
 
13.11.19
16:24
а что они тогда тут делают, пусть идут в оду, там рассказывают про светлое будущее, которое им видится из сети ларьков.
967 Ник080808
 
13.11.19
16:26
(966) они думают что срач на мисте поможет им поднять рейтинг в рф, в которой они не хотят продвигать свою платформу бо перспектив нет
968 СложноСпросить
 
13.11.19
16:47
так они поняли, что в розницу они опаздали лет на двадцать, разумисты.
969 Ник080808
 
13.11.19
17:11
(968) они собрались сап нагибать по всему миру. а ты за розницу)
970 _DAle_
 
13.11.19
17:34
(963) Да, все в целом верно. Я могу попробовать объяснить, почему мы не использовали синтаксис

CLASS class {
   поля/методы
}

Сразу только сделаю ремарку, что мы можем в будущем добавить и такой синтаксис для частного случая (хотя я бы лично этого не делал).

Дело в том, что мы отказались от ООП-инкапсуляции, в том смысле этого термина, где речь об объединении данных и методов работы с ними. Почему мы это сделали?

1. В lsfusion первичны свойства, а не классы. Классы в lsfusion, если копать глубоко - это всего лишь ограничения. Если проводить аналогию с lsfusion, то в классическом ООП у всех полей/методов есть неявный первый параметр - объект, чей метод/поле используется, доступ к этому параметру обеспечивают обычно ключевые слова вроде this или self, у нас же идея избавиться от какого-то одного главного класса, потому что при такой схеме появляются суррогатные сущности типа ТоварНаСкладе. Ну или более классический пример: в функции collide(asteroid, spaceship) нет главного класса, они равнозначны, обычно такие вещи выносятся из классов Asteroid и Spaceship и создается какая-нибудь дополнительная сущность типа CollideManager. В lsfusion же нет инкапсуляции, соответственно и главных классов, что позволяет не плодить лишние абстракции в виде классов (а соответственно и объекты этих классов).  

2. В классической реализации ООП (С++/Java) классы являются закрытыми. Открытые классы есть, например, в Ruby, то есть там можно добавить метод в существующий класс в своем коде. В lsfusion классы тоже открытые. Можно в любом модуле расширить класс, добавив ему базовый (некий аналог mixin's), ну и свойства, использующие класс можно добавлять в любом месте. Это позволяет довольно легко расширять существующую функциональность без изменения базового кода.

3. Так как у нас нет главного класса, то есть возможность для множественного полиморфизма (multiple dispatch). То есть с помощью наследования и переопределения свойств осуществляется выбор нужного свойства в зависимости от реальных классов параметров, в коде, где используются некоторые базовые классы (то там, где в compile-time реальные классы неизвестны). Ну то есть обычный ООП-полиморфизм (виртуальные методы), только не по одному параметру, а по нескольким. Это, например, позволяет для некоторого свойства, зависящего от Склада и Документа, в одном модуле переопределить его по МоемуСкладу, а в другом по МоемуДокументу.

Как-то так. Такое решение - это не серебряная пуля, и у него есть естественно свои минусы, но оно естественно вытекает из определения наших свойств и желания расширять существующую функциональность без ее изменения.
971 tty12
 
13.11.19
20:46
(970) Без сарказма - благодарю за первое разумное объяснение со стороны lsfusion.
Вот только вопросы тут же возникли.

ПО пунктам...

П.1 - Что значит главный класс? В функции collide(asteroid, spaceship) я бы все расписал в зависимости от свойств (например масса объекта и типов объектов)... Расписывать дальше не буду, т.к. лень, и так понятно...

П.2 - В 1С есть подписки на события, расширения. Что есть базовый код - Код зашитый в платформу? Или вы просто перегружаете механизмы платформы или конкретного решения добавками из своих модулей?

П.3 - См. работу механизмов расширения. Если я правильно понял, то это вполне сравнимые вещи.

И вообще... Ваши коллеги все молятся на идеальный механизм экселя, в котором ничего и близко с тем, что вы описали - нет. Это тупо калькулятор по большому счету.
И с другой стороны... А зачем мне делать ДокументоРегистроЭлементСправочникаОтчетоКонстанта через полиморф./наследование? Или зачем мне перегружать операторы (+, -, / и т.д.)? Я это все общими модулями, экспортными функциями/процедурами могу сделать. В итоге моя одна "портянка" закроет сотни раз "добавить три строчки кода"...

И еще интересен вопрос на примере расчета себестоимости...
Сколько у вас процедур/функций по расчету себестоимости?
Одну я знаю, там где "типа" 2*2=5. Она не всем подходит. Чтобы было 2*2=4 мне нужно другой модуль подключать? или использовать другую функцию/процедуру, зашитую в платформу?

Просто, насколько я понял, у вас там набор "всяких штук", с которыми вы сталкивались по работе и вы одно на другое меняете. А в результате имеем полную "кашу"!...
972 ГНиколаев
 
13.11.19
20:55
(971) У них фишка в том, что они не от классов танцуют, а от так называемых "свойств". Которые суть глобальные функции от аргументов-классов.
973 Многолетний Апельсин
 
13.11.19
21:30
(971)
>>И с другой стороны... А зачем мне делать ДокументоРегистроЭлементСправочникаОтчетоКонстанта через полиморф./наследование? Или зачем мне перегружать операторы (+, -, / и т.д.)? Я это все общими модулями, экспортными функциями/процедурами могу сделать. В итоге моя одна "портянка" закроет сотни раз "добавить три строчки кода"...

Ну внесу свои пять копеек, дали мне задачку написать АРМ для помарочного учета алкашки в ЕГАИС, заместо АРМ в одной очень популярной и очень тормознутой обработке. АРМ должен был работать с несколькими типами документов, и чтобы в каждом не городить огород метаданных
я выделил промежуточный документ - "Сессия сканирования" и все логику расписывал в нем и около него. Было бы в 1С ооп на манер C++ - думаю бы прописал бы в нужные документы наследование от класса "Документ алкогольного АРМ" и получилось бы несколько более элегантно, но это не точно.
974 CrushBy
 
13.11.19
21:51
(973) Да, это очень частый кейс, который мы в фузине делаем. Кроме того, это дает определенную модульность.

Создается абстрактный класс CLASS ABSTRACT EGAISDocument;
Потом абстрактные свойства для него :
date = ABSTRACT DATE (EGAISDocument);
number = ABSTRACT STRING[30] (EGAISDocument);

Потом в этом модуле же делаются обработки/формы/..., которые работает с EGAISDocument и его свойств date и number.

А затем в отдельных модулях при необходимости каждый документ "донаследуется" от EGAISDocument
Типа EXTEND CLASS MyDocument : EGAISDocument;

И определяются его абстрактные свойства :
date (MyDocument d) += myDate(d);
number(MyDocument d) += myNumber(d);

Соответственно, когда появляется новый документ - он просто донаследуется от этого EGAISDocument, а весь остальной функционал не меняется.

Тут EGAISDocument получается как "интерфейс" в классическом программировании.
975 _DAle_
 
13.11.19
22:42
(971) >Что значит главный класс?

Речь здесь вот о чем. У нас есть два класса: Астероид и Корабль (космический я для краткости опущу). Теперь нам нужно написать код их столкновения, тот самый метод collide (столкнуть). По факту у нас есть два параметра: Астероид и Корабль, но если рассматривать классическую реализацию ООП, например, в java, то этот метод должен находиться в некотором классе, который я назвал 'главным'. Можно положить его в класс Астероид и тогда вызов этого метода будет выглядеть Астероид.столкнуть(Корабль), можно в класс Корабль, тогда будет Корабль.столкнуть(Астероид), но непонятно, почему мы должны выбирать один или другой, можно, конечно, реализовать в обоих, но скорее всего там код будет дублироваться, поэтому, скорее, в этой ситуации введут еще одну абстракцию, какой-нибудь класс Сталкиватель, добавят метод с двумя параметрами туда, и вызов этот будет выглядеть Сталкиватель.столкнуть(Астероид, Корабль). В lsfusion же метод (в нашей терминологии это будет либо свойство, либо действие) не привязывается ни к какому классу, поэтому никакой класс Сталкиватель создавать будет не нужно, и это будет выглядеть просто как столкнуть(Астероид, Корабль).

>Что есть базовый код - Код зашитый в платформу? Или вы просто перегружаете механизмы платформы или конкретного решения добавками из своих модулей?

Второе. К примеру, есть какой-то функционал, оперирующий объектами каких-то классов, например, класса Документ, написанный в неких уже используемых модулях. Вы можете создать свой модуль, создать свой класс МойДокумент, наследовать его от старого класса Документ, переопределить точечно какие-то абстрактные свойства и действия, и старый уже существующий код сможет работать с объектами вашего класса МойДокумент c переопределенными вами особенностями. Вот есть простой пример в (974)
976 _DAle_
 
13.11.19
23:53
(971) >См. работу механизмов расширения. Если я правильно понял, то это вполне сравнимые вещи.

Я по верхам немного посмотрел про расширения 1С. Цель, конечно, схожая: расширение существующего функционала. Я не хотел бы сейчас сравнивать расширения 1С (про которые я тем более мало что знаю) и модули + механизм расширений в lsfusion. Это отдельная большая тема.

Безотносительно этого сравнения, все же в моем третьем пункте речь о более узкой вещи, которая вроде бы никак не достигается механизмом расширений 1С. Речь о множественном полиморфизме. Не буду сейчас все усложнять, остановлюсь вообще в целом на полиморфизме. Без полиморфизма когда мы переопределяем, например, некоторое вычисление (как я понял, так делается в расширениях 1С, например), происходит замещение, то есть раньше считалось по одним правилам, а теперь мы переопределили и будет по другим. С наследованием + полиморфизмом будет не так, будет для объектов старых классов вычисляться по старым правилам, а для объектов новых классов - по новым, то есть старая логика не изменяется. Это просто разные вещи. Полиморфизм из ООП - это частный случай ad-hoc полиморфизма. Грубо говоря, его суть в том, что имея единый способ вызова некоторой функции, вы в зависимости от реального типа аргументов, получаете различные реализации.
977 PR
 
14.11.19
02:42
(975) Раньше фузиновцев хоть троллить было интересно, а сейчас и троллить-то уже не про что
Ну не обсуждать же на полном серьезе, как методологически верно выстроить метаданные, если мне нужно столкнуть Астероид и Корабль, но при этом я не хочу добавлять этот метод ни в Астероид, ни в Корабль
Подумать только, в Фузине можно написать код, не привязанный к объекту, о, боже мой, парни изобрели общие модули!
В вашем случае читай Application, если термин "общий модуль" непонятен

Честно, не хотел писать очередную издевку
Но, судя по всему, скоро с серьезным видом начнут вещать про совсем элементарщину, типа а вот мы изобрели константы, а вот мы из одного метода можем вызвать другой метод, а вот мы впереди локальной переменной добавляем l и понимаем, что это локальная переменная...
Ну серьезно, первый курс ВУЗа же
Для тех, у кого в школе информатики не было, конечно же

Скучно, двадцать лет же прошло с тех пор
Неужели у вас реально настолько все тухло?
978 Михаил Иванович
 
14.11.19
04:48
(976) ты такой же как и твои дружки)))
979 Paint_NET
 
14.11.19
05:25
(934) Т.е. ты ничего не знаешь про 1С, но утверждаешь, что статья фузиновцев, поливающая 1С говном - сущая правда?
Что-то с "уважаемым" я погорячился, похоже.
980 Paint_NET
 
14.11.19
05:39
(975) Раз уж пошла речь об аналогиях, код не будет дублироваться, поведение при столкновении у астероида и у корабля совершенно разное.
981 ГНиколаев
 
14.11.19
05:59
Фузиновцы, вы клон одуу дописали? Можно уже его в продуктив ставить?
982 AntiBuh
 
14.11.19
08:02
(981) почти, осталось три строчки дописать
983 strange2007
 
14.11.19
08:18
(859) >> 1С как платформа и lsFusion как платформа выполняют одни и те же задачи. На них пишут решения.
Абсолютно разные задачи выполняют. Вся фишка в стратегических направлениях. Уверяю, фузина никогда не сможет идти даже по пятам 1С.
Смотрите сами: 1С изначально сделала упор на хотелки клиента, а не красивость кода. Вспомните шестёрку и клюшки? Это же кривая-косая разработка была. Там прям вообще было невозможно что-то толковое с неё стянуть. Но она выполняла главное - позволяла сдать рег.отчётность и посчитать свои бабосы. Из коробки! Пользователям ничего не надо было крутого, им просто хотелось эти мелочи. Они пищали от того, что покупали коробку, ставили у себя и тут же всё считали. Да, матерясь и плача. Да, без красивых сортировок и привычных технологий для программистов. Но оно просто считало и это главное. Я когда с ассемблера перешёл на 1С, то первое время рыдал над этой глюкавостью и тормознутостью.
Ну а у вас что? Нафиг пожелания бизнесов, мы будем делать для себя? Неужели вы не понимаете, что сейчас восьмёрка уже мало доступна студентам и это свободная ниша. Её можно занимать.
Поверьте, просто поверьте, ваша система никогда не будет конкурентом 1С. А мы будем ждать другую систему, вдруг она станет конкурентом
984 strange2007
 
14.11.19
08:21
(859) >> Вы же понимаете, что очень многие бизнес-процессы на западе и в России ну так скажем очень сильно отличаются
В мелочах и законодательстве, а в остальном почти тоже самое. Я с Италией работал и с Литвой. Везде одно и то же - бараны гнут пальцы и из-за этого контора страдает. Пока баранов к стойлу не привяжешь, дохлый номер пырхаться.
Кстати, именно оттуда меня и звали на романтические покорения Европы.
985 Bro
 
14.11.19
08:39
(983) [Ну а у вас что? Нафиг пожелания бизнесов, мы будем делать для себя?]
Что-то вы путаете. Тут как раз большинство утверждает нафиг пожелания бизнесов "жрите что дают". А как раз гибкая платформа позволяет сделать именно так как хочет бизнес, а не как написана программа. И если вы считаете что всем бизнесам нужно одно и то же, то глубоко ошибаетесь. Собственно это причина почему мы уделали всех на своем рынке.
(984) Ну начнем с того что во многих странах Европы shipment вообще отвязан от финдокументов. То есть в поставке может (и чаще всего так и есть) вообще нет цен. То что в России и в Беларуси законодательно по сути невозможно. А значит процессы даже в таких базовых вещах очень сильно отличаются. Еще раз гляньте то же оду.
986 strange2007
 
14.11.19
08:46
(934) >> а на уровне разработки ПО.
Сначало надо разобраться, что это за уровень
987 tty12
 
14.11.19
08:46
(973) Не спорю... Сами по себе механизмы наследования, полиморфизма, перегрузки операторов - достаточно удобная и красивая штука для программиста, но! на приведенном примере с алкашкой видно, что не незаменимые и профита для конечного пользователя они не приносят.
988 strange2007
 
14.11.19
08:56
(985) >> Ну начнем с того что во многих странах Европы shipment вообще отвязан от финдокументов
Да какая разница, привязаны или отвязаны, главное выполнение задачи. Попросили сделать по пунктам и сделал, не уча их, что "а вот в России...". С чем столкнулся из проблем? Например, с тем, что не могут организовать нормальную продажу продукции. Всё через пень колоду и деньги фиг посчитаешь. Ну и посчитали всё и они довольные. Им тоже не надо было крутых механизмов и систем. Им нужно было просто решение задачи за тарелку супа.

>> Тут как раз большинство утверждает нафиг пожелания бизнесов "жрите что дают".
Это только ваша иллюзия, основанная на том, что каждый бизнес пипец какой уникальный в мире. Что, у разных контор ЗП по разному считается или складские учёты у всех уникальные? Да ну прям, всё давно уже придумано и отлажено. Реальные новшества тоже рождаются в учётных системах, но это не значит, что все прошлые наработки надо переписывать с самого начала
989 Bro
 
14.11.19
09:10
(988) [Что, у разных контор ЗП по разному считается или складские учёты у всех уникальные?]
Фискальные понятно что одинаковые. А вот управление ассортиментом, логистикой
990 Bro
 
14.11.19
09:11
(989) И вообще любой управленческий контур - там простор для фантазии огромный.
(988) Это я к тому что готовые решения от 1С там не подойдут. А как платформа там мрак и ужас.
991 ГНиколаев
 
14.11.19
09:17
(990) Так вы клон одуу дописали? Можно уже его в продуктив ставить?
992 _DAle_
 
14.11.19
09:21
(977) PR, вы же понимаете, что такое контекст обсуждения? Речь шла об особенностях синтаксиса lsfusion. Потом был уточняющий вопрос, который я вполне вероятно неправильно понял, но постарался на пальцах объяснить, что именно я имел ввиду.

> о, боже мой, парни изобрели общие модули!

Я вам больше скажу, это можно назвать и глобальными функциями (правда, с механизмом пространств имён и возможностью участвовать в полиморфизме), если смысл в издевке, а не в понимании.. И естественно ни о каком их изобретении речь не шла.
993 _DAle_
 
14.11.19
09:25
(980) То и есть столкновение астероида и коробля отличается от столкновения корабля и астероида?
994 Джо-джо
 
14.11.19
09:27
(993) Вот видишь, Петька, у тебя хер в жопе и у меня хер в жопе, но есть один нюанс(с)
995 PR
 
14.11.19
09:30
(992) Я, если честно, не понимаю главного, что вами в Фузине подается такого интересного, почему нужно использовать ваш продукт, а не писать на джаве с нуля
Краш с Бро какие-то наркоманы, они на такие вопросы вообще не отвечают, а от тебя в свое время я тоже ответа не добился
А в итоге все скатилось на какой-то ликбез по ООП и на то, что в Фузине есть ООП
Ну есть и что? Это автоматом панацея от всех бед, серебряная пуля или что?
Еще раз. Почему Фузина, почему не голая джава + скуль?
996 _DAle_
 
14.11.19
09:32
(987) Это был самый тривиальный пример. Но да, любой такого типа полиморфизм можно заменить цепочкой if’ов с проверкой типов. Незаменимого в языках программирования вообще практически ничего нет, вопрос обычно в том, насколько это удобно кодировать, разбираться в этом, расширять и масштабировать. А так и на ассемблере все можно написать.
997 PR
 
14.11.19
09:33
(993) Да, конечно может отличаться
Вася.Познакомиться(Таня), Таня.Познакомиться(Вася) и Познакомиться(Вася, Таня) — это могут быть все разные сценарии
998 Джо-джо
 
14.11.19
09:33
(995) Потому что на Джаве можно этих двоих упоротых нах послать и других взять, а Фузину только они двоём внедрять могут
999 PR
 
14.11.19
09:34
(998) Гусары, молчать!
Правильный ответ я знаю, я хочу услышать мнение фузиновцев
1000 _DAle_
 
14.11.19
09:38
(997) Могут быть разными, я говорю о конкретном примере. Если он непонятен, то ок: любая коммутативная операция.
1001 PR
 
14.11.19
09:40
(1000) Да забей, уже до мышей дообщались
Лучше ответь на (995)
1002 kyvv
 
14.11.19
09:41
(999) Почему вы 1с пользуете. могли все на голом cpp write?
Закон Брукера: Даже маленькая практика стоит большой теории.