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

Конкретные вопросы по lsFusion

Ø [длинная ветка, 14.10.19 - 21:06]
Конкретные вопросы по lsFusion
Я
   Bro
 
06.10.19 - 20:21
Здесь только вопросы по lsFusion, без оценок и срача, что в сторону lsFusion, что в сторону 1С. Кто будет начинать того будут блокировать.
   tndr2
 
601 - 12.10.19 - 19:51
(598)  Дело в том, что видимо нет необходимости.
А если появявится, то может и 1С влезет)
   tndr2
 
602 - 12.10.19 - 19:56
(608) В России слишком много бюрократии, следовательно нужны бумажки.
У фузиноидов бумажек нет, они технлогию впаривают, а мы одинесники больше как-то к бизнесу привлечены.
   PR
 
603 - 12.10.19 - 20:02
(600) Капец. Рукалицо
   CrushBy
 
604 - 12.10.19 - 20:02
(600) Там, кстати, в JasperReports есть возможность делать "группировки" ячеек, чтобы оставалась структура. Но это не очень тривиально делается. Тут вообще, важно понимать, что мы просто даем DataSource JasperReports, а там уже можно делать все то, что умеет JasperReports.
   tndr2
 
605 - 12.10.19 - 20:07
А чорт, значит сижу я такой и в голове у меня, как бы отчетность то для конторы выпилить..
И такой думаю, а чоб мне JasperReports то не посмотреть.
Финдир я или тупица.
Но с друой стороны есть у нас в конторе 1с, давай-ка я отчеты посмотрю,  пойму как дальше действовать...
   tndr2
 
606 - 12.10.19 - 20:13
(604) Кому нужны ваши дегенеративные представления о том как должно быть?
Вы должны понимать, что в умелых руках, 1с СКД полностью закрывает всю аналитику для бизнеса.
   Михаил Иванович
 
607 - 12.10.19 - 20:26
Они там в соседней ветке жгут )))
   tndr2
 
608 - 12.10.19 - 20:30
очень много дерьма генерится на предмет написания кода на русском языке.
Тогда почему для англоязычных кодеров нет столько гавна?
if else - отвратитительно же выглядит?
Английские названия переменных, что это за глупость?
   Ещё1
 
609 - 12.10.19 - 20:31
(604) Но вот в этой демке http://bi.lsfusion.ru/pivot кто-то же настраивал предварительно все эти отчёты и группировки? Или это Джаспер прямо из исходных данных выцепил?
Они всё же могли бы добавить группировки и сворачивание/разворачивание групп кнопкой [+] прямо в табличный вид. B соответственно сохранять при экспорте в Excel. Ведь эта информация есть (видно по отступам слева у подгрупп).
   tndr2
 
610 - 12.10.19 - 20:35
if else   - это крутые операторы условий, а
Если Тогда - уже становятся не очень...
   tndr2
 
611 - 12.10.19 - 20:38
Американские и английские программисты нормально живут с этими своими while, if, else , а отечественные почеиу-то должны испытывать испанский стыд.
   tndr2
 
612 - 12.10.19 - 20:39
Бред собачий
   Ещё1
 
613 - 12.10.19 - 20:41
(602) Так я ж не про печатные формы, ТТН всякие и проч., без печати которых пока никуда. Я про бизнес-аналитику, которая рисуется в bi.lsfusion.ru и отчётах с графиками и диаграммами. Но всё, в этой теме уже офтоп, лучше в соседнюю, где сравнение с 1С.
   Ещё1
 
614 - 12.10.19 - 21:52
До меня только сейчас дошло: сайт https://documentation.lsfusion.org работает на Фузине? Т.е. HTML-страницы строятся на лету, и поиск в базе работает через приложение?
Если да, все ли технологии для создания такого сайта включены в платформу бесплатно, или там закрытые модули есть?
   Bro
 
615 - 12.10.19 - 22:05
(614) Нет. Это confluence. На фузине вот эта штука работает https://lsfusion.org/try (все кроме отображения)
   Asmody
 
616 - 12.10.19 - 22:29
(562) [структура объекта зависит от модуля на котором вы стоите.] - нет, как раз вот этого я не понимаю.
Это хуже "обезьяньих заплаток" в ruby.
   Bro
 
617 - 12.10.19 - 22:39
(616) смотрите, вы просто во главу ставите класс (а точнее объект), а не функцию (свойство). То есть вы в данном случае зациклены на инкапсуляции, а как раз ее в lsFusion по сути нет (на самом деле и в других языках она во многом суррогатное понятие, но это не так очевидно в них). Соответственно если забыть про инкапсуляцию и перевернуть логику, все станет на свои места.

То есть по сути забыть про ООП, как смесь гамбургера и колы а оставить от него только наследование и полиморфизм.
   Asmody
 
618 - 12.10.19 - 22:50
(617) Нет, я зациклен на консистентности в первую очередь. А объект или функция - это лишь способ реализации. Если ваша функция заточена на одно поведение объекта, а по факту вы получаете другое (а вы позволяе и даже мотивируете делать так), то о какой консистентности может идти речь? А консистентность в случае бизнес-систем синоним надежности и предсказуемости.
   Лефмихалыч
 
619 - 12.10.19 - 23:21
(617) функции сами по себе в отрыве от того, что они обрабатывают (объектов) никому не нужны. А из (536) следует, что программист, осуществляющий поддержку и развитие готового решения, танцует на минном поле. Вносить изменения в архитектуру можно только, зная наизусть все функции, которые используют изменяемый объект. Иначе есть шанс поломать функционирование того, о чем ты представления не имеешь.
   Лефмихалыч
 
620 - 12.10.19 - 23:25
альфа и омега любого сопровождения в том, что, если я добавляю что-то, то поломаться может только то, что я же сам вокруг этого и добавил. А тут - добавил и сиди жди. То ли эбанёт, то ли нет. И ты не знаешь, где и когда. И когда оно эбанёт, ты не будешь даже знать, из-за чего это оно - вендор нарукожопил или ты.

Система, чо...
   Злопчинский
 
621 - 12.10.19 - 23:36
(566) у них работа пользователя заключается в постоянном вводе по строке и суммировании по колонке. Обычный режим для конторы, которая не знает что завтра будет.
   Злопчинский
 
622 - 12.10.19 - 23:42
(584) не смогут. у них ресурса на это нет.
и нет вообще понимания как построить коробочный продукт.
ребята тупо работают по частным проектам.
ни один такой частный проект в другой частный проект полностью не мигрирует.
для каждого нового проекта на ядро навешивается набор подходящего из прошлых проектов.
поэтому каждый проект уникален. и живет только если сопровождается вендором.
если вендором не сопровождается - то так и остается в замороженном состоянии.
вот и вся ниша фузины пока.
   Ещё1
 
623 - 13.10.19 - 00:04
(619) Программисты 1С всё время вносят изменения и доработки в типовые конфигурации. Только они меняют прямо в модулях поставщика. А в lsFusion можно сделать свою доработку в виде отдельного модуля. При этом она может быть достаточно глубокой, менять формы и структуры данных, поведение и проч. Представляете, насколько проще будет поддерживать и обновлять такие конфигурации?
Я там выше где-то выкладывал свою доработку в их приложение "Турнирная таблица". https://documentation.lsfusion.org/pages/viewpage.action?pageId=2228240 Вся доработка выполнена в виде отдельного модуля lsFusion.
   Asmody
 
624 - 13.10.19 - 00:06
(620) Молодец! Сказал человечьими словами.
Стоит добавить, что при отсутствии каких-либо тестов, эбанёт обязательно в самый неожиданный момент.
   Asmody
 
625 - 13.10.19 - 00:11
(623) У программистов 1С типовые по-умолчанию "под замком". Чтобы вскрыть замок - лишний повод еще раз подумать.
У программистов 1С есть внешние отчёты и обработки, а также расширения.
Программистов 1С не вынуждают корячить структуру объектов для реализации типовых коллекций.
   _DAle_
 
626 - 13.10.19 - 03:17
(618) Давайте разбираться, вы уже посмотрели, что такое в lsfusion пространства имен и как происходит поиск элементов? Давайте разберем конкретный пример: где, что, в каком модуле объявляется...

Если я правильно понял, о чем идет речь.. В каком-то не нашем модуле (назовем его Base) объявлен класс A. Мы в своем модуле (назовем его My) объявляем selected[A] используем его, затем в модуль Base добавляется свой selected[A]. Ситуация теперь такая:

1. Если пространства имен модулей Base и My не совпадают, то проблемы никакой нет, в вашем коде по прежнему будет использоваться ваш selected[A], потому что он будет приоритетней.

2. Если оба модуля Base и My находятся в одном пространстве имен, то будет конфликт, у вас будет два одинаковых свойства в одном пространстве имен, что запрещено. И тут встает вопрос, почему у вас совпадают пространства имен, ведь они и сделаны для того, чтобы разделять свое от чужого. Одно пространство имен должно быть либо у модулей, относящихся к какой-то одной библиотеке, либо хотя бы к набору модулей, написанной некой командой, внутри которой и нужно будет разрулить эту неоднозначность.
   CrushBy
 
627 - 13.10.19 - 08:31
(619) [Вносить изменения в архитектуру можно только, зная наизусть все функции, которые используют изменяемый объект]
Утверждение настолько же глупое, как если в любом языке программирования сказать : "изменения в любой интерфейс можно вносить, только зная все классы, которые его реализуют и используют"
   Bro
 
628 - 13.10.19 - 09:17
(619) Добавление нового DATA свойства НИКАК не влияет на весь предыдущий функционал и ничего сломать не может по определению. И в том же SQL никакой инкапсуляции нет.

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

При этом даже при проблемах в зависимых модулях и IDEA и сервер на старте сразу даст ошибку (сравните с изменением имени реквизита в 1С).
   Bro
 
629 - 13.10.19 - 09:18
(625) про "тупиковые" модули, я уже сказал.
   Bro
 
630 - 13.10.19 - 09:20
(622) Не надо преувеличивать возможности платформы. Мы бы убились реализовывать проекты не имея базовых модулей.
 
 Рекламное место пустует
   Ещё1
 
631 - 13.10.19 - 10:38
(625) Да, типовые под замком, и мы знаем почему. Потому что этот замок закрывает дорогу в ад из спагетти-образного Basic-подобного кода, со вставками в него многостраничных вложенных 1С-SQL запросов, вписанных в код в виде строк "..." + "..." +... Который легко случайно сломать, если ты не разработчик этой конфигурации.

Даже добавив 1 реквизит в документ, придётся влезть в кучу механизмов и модулей конфигурации, дописать/подправить процедуры контроля заполнения реквизитов документа, проведения/отпроведения, контроля прав доступа и проч., поменять где нужно код 1С-SQL, и потом всё это отладить на разных исходных данных. И конечно, разработчики 1С сами это прекрасно знают и понимают, но уже ничего не могут сделать. Если они сейчас уберут Basic-подобный язык и заменят его новым, с полноценным ООП, с замыканиями, с полноценной работой с параллельными потоками исполнения, с автоматическим разруливанием исполнения на клиенте/сервере приложений/сервере БД, то весь опыт, километры написанных модулей, все книжки и методические рекомендации - в 1 день превратятся в тыкву. Поэтому они такие же заложники этой платформы, как и сторонние 1С-программисты.
   Лефмихалыч
 
632 - 13.10.19 - 10:59
хотя, в общем-то, конечно, когда речь об персистентных объектах, добавить что-то такое, что потом добавит сам вендор, можно на любой платформе. Тут - окай - вопрос снят.

Но вот это вот отсутствие элементарных конструкций и необходимость их городить руками, причем через СУБД, - это жопа. Не трагедия, конечно, и в последующих версиях можно добавить (в 1С же когда-то не было соответствия, например), но то, что предлагается в (502) ля реализации элементарного списка, - это костыли, палки и верёвки.
   Bro
 
633 - 13.10.19 - 11:07
(632) Еще раз список (то есть new A[]) это:
= DATA LOCAL A (INTEGER). Но зато вы его персистентным можете сделать убрав LOCAL. Или превратить в соответствие, заменив на
= DATA A (B).
А можно еще параметр добавить
= DATA A (B,C). Представляете как вам придется извратиться чтобы реализовать такую конструкцию.

Ну и композиции с массивами, как делать будете: g(f(a)). Где f - это массив. Или на форму вытянуть и т.п.
   Bro
 
634 - 13.10.19 - 11:08
(633) Кстати можно еще так делать

run() {
    LOCAL f = A (INTEGER); // по сути синтаксический сахар для DATA LOCAL
    f(1) <- 5;
    f(2) <- 7;
    FOR f(i) DO
      MESSAGE i;
}
   Лефмихалыч
 
635 - 13.10.19 - 11:09
(633) потянуло плесенью и тленом из ораклинного подвала :)
меня в эту религию не завлечь. Все, что ты показываешь, ужасно на столько, что у меня от этого сыпь между пальцами. Хуже только абак этот усосаный из сапа.
   Лефмихалыч
 
636 - 13.10.19 - 11:10
дикая помесь оракла и виндовых, сука, батников. За что вы так людей ненавидите?
   Bro
 
637 - 13.10.19 - 11:15
(636) Вы просто попробуйте тоже самое на 1С сделать. Кровь из глаз пойдет. Собственно гляньте типовые и все станет на свои места. Но опять все в срач скатывается, давайте в соседнюю тему. Заодно объясните там зачем СКД нужен. Вы похоже в теме.
   Лефмихалыч
 
638 - 13.10.19 - 12:14
(637) да пожалуйста:

Список = Новый СписокЗначений;
Список.Добавить(5);
Список.Добавить(7);
Для каждого Элемент из Список Цикл
   Сообщить(Элемент.Значение);
КонецЦикла


всё. Где кровь из глаз?
   Asmody
 
639 - 13.10.19 - 12:15
(633) Это все иероглифы.
Давайте конкретнее.
Нужно показать выбор клиентов, предварительно ограниченных по условию "не в группе из списка", где список групп предзаполнен программно, но может быть расширен пользователем (группы, заданные программно, убрать из списка нельзя).
   Лефмихалыч
 
640 - 13.10.19 - 12:16
(637) все, как я уже отмечал, скатывается туда, с чего вы же и начали, какие тут могут быть еще вопросы
   Asmody
 
641 - 13.10.19 - 12:17
(639)+ подразумевается, что справочник клиентов иерархический с неограниченным уровнем иерархии, и условие "не в группе" означает "не в иерархии"
   Asmody
 
642 - 13.10.19 - 12:18
(637) А ты с 1С не сравнивай. Этим в соседней ветке занимаются.
   Лефмихалыч
 
643 - 13.10.19 - 12:20
(637) СКД нужен для того, чтобы отчеты делать декларативным образом и делать их так, чтобы к их деланью не возвращаться всякий раз, когда пользюкам еще одна колоночка затребуется. Чтобы всеми списками в программе пользюки могли сами управлять, как им хочется. Чтобы задачи (639) решались  в десять строк на клиенте, а не в 100500 строк везде плюс пару столбцов в БД.
Тупее вопроса, чем "зачем СКД" придумать нельзя.
   Bro
 
644 - 13.10.19 - 12:21
(638) ok (хотя я не про этот случай говорил), а сделайте теперь его персистент. Или сделайте f = DATA A (B,C)
И f(1,2) <- 3. И ничего что у вас список нетипизированный. И чем это отличается от run что я кинул.
   Bro
 
645 - 13.10.19 - 12:26
(643) возвращаться придется как только понадобится что то сложнее примитивного взять значение по ссылке. Или пользователи join ы со срезом последних сами будут добавлять. И опять таки в печатную форму это нафиг надо, а для аналитики неудобно (641) как только у компа буду напишу
   Лефмихалыч
 
646 - 13.10.19 - 13:04
(645) это бла-бла всё. Покажи руками, как надо вот это делать (639) (641)
   Лефмихалыч
 
647 - 13.10.19 - 13:05
(644) от твоих иеромантических заклинаний это отличается хотя бы тем, что кому угодно понятно, что делает этот код. Даже не программисту. Например.
   Bro
 
648 - 13.10.19 - 13:09
(647) код который я кидал тоже понятен. Но вы самый примитивный случай взяли. А теперь давайте (644) с двумя параметрами. И дадим его не программисту. Или даже программисту не знакомому с 1с и фьюжен.
   Лефмихалыч
 
649 - 13.10.19 - 13:11
(648) > Или сделайте f = DATA A (B,C) И f(1,2) <- 3

я вот эту всю тарабарщину не разумею, переведи на русский эту хуету для начала
   Flyd-s
 
650 - 13.10.19 - 13:19
У вас в типовом решении всюду переменные A B C или это только для мисты лень нормальные имена придумывать?
   Bro
 
651 - 13.10.19 - 13:20
Двумерный массив, где ключи не числа а любые объекты. Ну или соответствие с двумя параметрами.

Например
in = DATA BOOLEAN (Sku, Stock);
in(skuById(15), stockById(10)) <- TRUE; включит в ассортимент магазина с id 10, sku с id 15.
   НиколаевГ
 
652 - 13.10.19 - 13:51
(650) Максимальный уровень абстракции же...
   Лефмихалыч
 
653 - 13.10.19 - 13:53
(651) ЯННП, но очень интересно. продолжай
   Asmody
 
654 - 13.10.19 - 13:55
(651) Последние скобки у вас, насколько я понимаю, описывают принадлежность реквизита классу. В данном случае - реквизит принадлежит декартову произведению классов?
   НиколаевГ
 
655 - 13.10.19 - 13:58
(651) Так ты корову не продашь...
   Asmody
 
656 - 13.10.19 - 13:58
(654)+ причём, оператор DATA говорит, что значения будут храниться в БД. И, если я еще не забыл реляционную алгебру, это требует как минимум одной дополнительной таблицы. Т.е. для создания массива мы в лёгкую меняем структуру БД?
   Bro
 
657 - 13.10.19 - 14:20
(654) Описывает параметры и их классы этого реквизита. Но вообще лучше на реквизиты смотреть как на функции, или колонки в таблице, где параметры являются ее ключами.

Хотя если пытаться идти от классов, то да декартову произведению классов. Вообще с инкапсуляцией есть философский вопрос. Принадлежность товара ассортименту это реквизит ассортимента или реквизит товара?

(656) Нет, оно может (и будет по умолчанию) колонкой существующей таблицы. Но опять таки если вы сделаете глобальное свойство. DATA LOCAL никак на структуру таблиц влиять не будет.
   Злопчинский
 
658 - 13.10.19 - 14:21
(630) наличие базовых модулей никак не связано с наличием коробочного решения. я об этом и говорю.
   Злопчинский
 
659 - 13.10.19 - 14:26
фузиновцы на все что не могуть сходу ответить - пропускают.. (639) так и задинамили
   Лефмихалыч
 
660 - 13.10.19 - 14:35
(657) лучше на реквизиты смотреть, как на колонки в таблице... не слишком ли это низкоуровнево в наш бурный двадцать первый век? Убожество...

Смотрю время от времени на своих ораклистов и у меня кровь из глаз и ушей, когда они, проектируя архитектуру под бизнес-задачу, оперируют ссаными isn'ами в грёбаных табличках, а реальные бизнес-сущности и их связи с этим всем говнищем низкоуровневым в головах держат и изо всех сил стараются их не расплескать. В фузине, очевидно, та же история?
 
 Рекламное место пустует
   Bro
 
661 - 13.10.19 - 14:37
(639) Я не скажу так ли понял задачу. Но попробуем. Делаем группу клиентов
CLASS ClientGroup;
@defineHierarchy(clientGroup, ClientGroup);

Этот метакод создаст свойства в частности
parent = DATA ClientGroup (ClientGroup);
// количество путей от child к parent, что одновременно является признаком достижимости
level (ClientGroup child, ClientGroup parent) = RECURSION 1l IF child IS ClientGroup AND parent == child
                 STEP 2l IF parent == parent($parent) MATERIALIZED;

Кстати заодно материализует, что будет работать гораздо быстрее чем в 1С.

Дальше вы делаете:
selected = DATA LOCAL BOOLEAN (ClientGroup);

Потом заполняете как хотите
selected(ClientGroup cl) <- TRUE WHERE name(c) LIKE '%ff%';
ну или просто можете не DATA создавать selected(ClientGroup cl) = name(c) LIKE '%ff%';

можете дополнительно сделать
userSelected = DATA LOCAL BOOLEAN (ClientGroup);
И дать заполнить пользователю (ну или не на отдельной, а на той же форме)
FORM select
   OBJECTS cg = ClientGroup
   PROPERTIES (cg) name, userSelected
;
SHOW select;

Дальше делаете скажем
allSelected(ClientGroup cg) = selected(cg) OR userSelected(cg)
group = DATA ClientGroup (Client);

FORM filteredClients
   OBJECTS c = Client
   PROPERTIES (c) name
   FILTERS NOT (GROUP MAX level(group(c), allSelected(ClientGroup cg))); // если группа входит хоть в одну из отмеченных
;
DIALOG filteredClients OBJECTS c INPUT DO
    MESSAGE 'selected client' + name(c);
   Bro
 
662 - 13.10.19 - 14:38
(660) Это просто для аналогии (хотя куда логичнее их как функции представлять). Как раз в lsFusion о таблицах ничего не надо знать.

Как и о всяких ЛЕВЫХ СОЕДИНЕНИЯХ, ПРАВЫХ, ОБЪЕДИНЕНИЯХ и т.п. Но ничего пишут как-то на том же 1С.
   Лефмихалыч
 
663 - 13.10.19 - 14:41
(662) >Как и о всяких ЛЕВЫХ СОЕДИНЕНИЯХ, ПРАВЫХ, ОБЪЕДИНЕНИЯХ и т.п.
мы это проходили с семеркой. Херово получалось. Мы повзрослели.
   Asmody
 
664 - 13.10.19 - 14:42
(657) [Нет, оно может (и будет по умолчанию) колонкой существующей таблицы] - опа-опа-опа! Декартово произведение таблиц одной колонкой в одной из них? Это новое слово в математике?
   Лефмихалыч
 
665 - 13.10.19 - 14:43
(661) то есть для решения этой __интерфейсной__ задачи нам надо менять архитектуру. Что и требовалось доказать.
   Bro
 
666 - 13.10.19 - 14:43
(663) Ну или просто платформа криво сделано была. В lsFusion все отлично получается, но опять таки давайте в соседнюю ветку.
   Bro
 
667 - 13.10.19 - 14:47
(664) Если вы создаете свойство (Sku, Stock) оно пойдет в таблицу с ключами таких классов. Вы возможно забываете что DATA по умолчанию NULL и не требует создания записей.

Но если вы сделаете in(Sku sk, Stock st) = sk IS Sku AND st IS Stock MATERIALIZED. То да, там будет декартово произведение и будет обновляться платформой при добавлении / удалении Sku и Stock. ну или in(Sku sk, Stock st) <- TRUE WHERE sk IS Sku AND st IS Stock;

(665) Нет никакую архитектуру менять не надо. Никакая колонка нигде не создастся если вы об этом.
   Asmody
 
668 - 13.10.19 - 14:47
(661) И чтоб сделать то же самое с товарами, мне надо провернуть вот это все со справочником Товары?
Это же "прекрасно"!
   Asmody
 
669 - 13.10.19 - 14:50
(667) Но мы же "смотрим на реквизиты не как на колонки". Оторвемся от физической реализации. Вы для решения _частных_ задач заставляете менять структуру объекта. Пусть бы даже на логическом уровне.
   Bro
 
670 - 13.10.19 - 14:51
(668) Что именно провернуть? Справочник и иерархия это две строки кода (причем которая будет куда эффективнее чем в 1С работать)

Ну и третья отметка. Ну или можете selected = DATA LOCAL BOOLEAN (Object); создать в базовом модуле и не создавать его. То же самое с userSelected.

Я если честно вообще не понимаю о чем речь. свойство level это по сути В ИЕРАРХИИ только в куда более общем случае.
   Лефмихалыч
 
671 - 13.10.19 - 14:51
конкретный вопрос: нач0рта было придумывать свой инвалидский вот этот тарабарский язык? Почему не использовать было джаву или питон хотя бы?
Какие именно соображения под этим решением были?
   CrushBy
 
672 - 13.10.19 - 14:52
(668)  Не путайте. Обычно все эти свойства с иерархиями уже построены и их просто нужно повторно использовать.

(669) Добавление локального свойства никаким образом структуру объекта не меняет.

(671) Может и SQL не нужен - лучше бы использовали Java или Python ? Такая логика ?
   Bro
 
673 - 13.10.19 - 14:53
(669) Уточните что вы имеете ввиду под структурой объекта. Еще раз есть свойства, есть объекты. Структура это производное понятие - все свойства которым объект подходит по классам хоть к одному параметру.
(671) Ну и как на java выглядел бы синтаксис форм? Ну или рекурсий? Язык идеологически гораздо декларативнее и java и python.
   НиколаевГ
 
674 - 13.10.19 - 15:00
(673) Порог входа одна неделя, говорите? Хм....
   Asmody
 
675 - 13.10.19 - 15:03
(672) (673) Вы между собой договоритесь тогда что вы считаете объектом и что определяет его структуру.
   Bro
 
676 - 13.10.19 - 15:05
(675) Я не знаю что он имеет ввиду. Как и вы. Структура объекта в lsFusion это вкладка Structure в IDEA слева снизу и это именно то, что я написал в своем ответе.
(674) Тут как раз ирония, что людям с нуля гораздо проще понять lsFusion, чем людям которые привыкли к каким то готовым шаблонам и пытаются натянуть их на все подряд. Хотя опять-таки я видел людей, которые за полдня разбирались.
   Лефмихалыч
 
677 - 13.10.19 - 15:06
(672) (673) то есть причина - чтобы на клиенте и сервере синтаксис был единым, я правильно вас понял?
   Bro
 
678 - 13.10.19 - 15:06
* Речь шла про структуру объекта, а не сам объект. С самими объектами особых разногласий нет, как я понимаю.
   Лефмихалыч
 
680 - 13.10.19 - 15:07
есть структура объекта и есть _сам_ объект. Хмм... все просто, да.
   Bro
 
681 - 13.10.19 - 15:08
(677) Да нет, просто у нас язык очень декларативный и language-based (как SAP, SQL, и частично Axapta). Натянуть его на java это все равно что ежа с ужом скрещивать.
   НиколаевГ
 
682 - 13.10.19 - 15:08
(676) Вы не в состоянии объяснить свои концепции даже программистам, а не ИТ-шники не понимают концепций, они становятся обезьянками-кодерами, каковые вам, видимо, и нужны, чтобы самим с концептуальными вещами в облаках парить...
   Bro
 
683 - 13.10.19 - 15:09
(680) Нет никакой структуры объекта, точнее есть, но это маленькая вкладка в IDEA (ну и в completion учавствует). В данном случае ее Asmody притащил и поставил на первое место зачем-то.
   Лефмихалыч
 
684 - 13.10.19 - 15:10
реквизиты - это функции, но они как колонки в таблице... но это просто пример и на самом деле ничего в БД не хранится.

Мне кажется или кто-то скрывает от санитаров, что уже неделю таблетки под подушку ныкает?
   Лефмихалыч
 
685 - 13.10.19 - 15:11
(683) ну, да, вот я именно об этом, ага
   Bro
 
686 - 13.10.19 - 15:11
(682) Нет просто ИТ-шники привыкли тянуть свои порой очень не совершенные абстракции вместе с собой. Вон в соседней ветке все СКД тянут, хотя ни в одной другой технологии таких вещей нет.
   Лефмихалыч
 
687 - 13.10.19 - 15:12
(686) по этому - накуй абстрации, будем манипулячить табличками, которые не таблички, а как функции, но при этом то жранятся, то нет, но вообще-то все просто и платформа сауыршэнна. Да, все понятно. Предельно.
   Bro
 
688 - 13.10.19 - 15:12
(684) Я просто пытался хоть какие-то похожие абстракции привести для примера. И таблица с ключами логически по сути и есть функция. Но еще лучше просто забыть про все что знал до, это будет только мешать.
   Bro
 
689 - 13.10.19 - 15:13
(688) Поэтому порог входа как не парадоксально для людей с улице иногда ниже, чем для людей с ИТ-бэкграундом. Как иногда дом проще построить с нуля, чем перестраивать существующий.
   Лефмихалыч
 
690 - 13.10.19 - 15:16
я когда-то видел одно уёбище на дельфях, у которого все все НСИ в одной табличке хранились, а все атрибуты в одном текстовом поле, где был некий адский аналог json'а. В результате там аспирин мог купить Иванова Ивана и расплатиться организациями. Тамошние клешнеруки тоже упирали на то, что "это у вас подходы не подходы, абстракции не абстракции и вообще вы все закостеневшие, а у нас инновационный подход и всё удобно".
Поделие почило в бозе довольно быстро
   Лефмихалыч
 
691 - 13.10.19 - 15:18
(688) и для вас не очевидно, что причина в том, что вы изобрели велосипед заново?
   Asmody
 
692 - 13.10.19 - 15:18
(683) да мне плевать, что у вас в IDE. Если вы вводите в язык понятие "объект", то у вас автоматически появляется его структура. Иначе абстракция не имеет смысла. И то, как вы предлагаете обращаться со структурой объектов – это в других местах называется "monkey patch", я уже говорил. Хорошо это, или плохо - скорее плохо. Но, например, создатели рельсов так не считают.
   Лефмихалыч
 
693 - 13.10.19 - 15:19
+(692) но тока и где щас эти рельсы
   Asmody
 
694 - 13.10.19 - 15:21
(688) Вы же понимаете, что любая чистая функция может быть задана в табличной форме?
   Bro
 
695 - 13.10.19 - 15:25
(691) Так а предыдущий велосипед как назывался?
(692) >то у вас автоматически появляется его структура
Что такое структура?
Monkey patch - это перегрузка реализации ЕМНИП. Как раз в lsFusion ее в неявном виде нет. Или вы про что-то другое? (694) можно уточнить что именно вы имеете ввиду под табличной формой?
   Asmody
 
696 - 13.10.19 - 15:34
(695) Я размышляю, на какой курс университета вас отправить с такими вопросами.
   Asmody
 
697 - 13.10.19 - 15:38
Хотя, таблицы Брадиса ещё в школе используют. Так что, в школу.
   НиколаевГ
 
698 - 13.10.19 - 15:48
(686) Попробуйте объяснить последовательно, не перескакивая с одного на другое, не употребляя общие термины в своей интерпретации. Повторяйте до тех пор, пока мы не скажем - всё понятно. Если не сможете - перспектив особых у вас нет...
   НиколаевГ
 
699 - 13.10.19 - 15:50
(698) А, да, сначала друг другу пообъясняйте, а то вы сами одно и то-же разными терминами называете.
   Bro
 
700 - 13.10.19 - 15:52
(697) У меня очень хороший математический бэкграунд, но я все равно не понял ваше замечание "что любая чистая функция может быть задана в табличной форме?" и причем тут таблицы брадиса?
(698) SQL я вам тем более так не объясню. Я видел миллионы планов, но не в состоянии понять что будет если сделать left join таблицы и не указать там все ключи. Но как то вас SQL заставили учить.

В любом случае, тут пока идет терминологический философский спор. Если кто-то здесь что-то не может понять, то только потому что не хочет.
  1  2  3  4  5  6  7  8  9  10  11   

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