Вход | Регистрация
    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С. Кто будет начинать того будут блокировать.
   Ещё1
 
901 - 14.10.19 - 10:57
(893) Тогда нужны методические рекомендации, как делать рефакторинг поля, и при этом не терять данные в рабочей базе. Я так понимаю, у вас это уже реализовано через скрипты миграции, но это где-то в документации нужно отразить.
   _DAle_
 
902 - 14.10.19 - 10:59
(898) Есть и multiple dispatch (runtime) с помощью механизма расширений (конкретно в этом случае ABSTRACT свойств и действий) https://documentation.lsfusion.org/pages/viewpage.action?pageId=1146897. И function overloading (compile-time).
   Bro
 
903 - 14.10.19 - 11:00
(901) Вообще Rename(SHIFT+F6) все делает автоматически. Да про Move забыли. А copy paste я бы в принципе не рекомендовал переносить, так как ссылки могут битыми стать (а так IDE за этим следить).
   orefkov
 
904 - 14.10.19 - 11:07
(899)
Спасибо, почитал, там как-то не очевидно описано. Описаны реализации функций для разных типов параметров (но это и обычной перегрузкой делается), но не приведен пример именно полиморфного вызова, когда я вызываю для двух абстрактных объектов Thing collide, и получаю вызов конкретной реализации для реальных типов параметров.
И реализация унутре выглядит как-то в духе семерочного 1С:

Если док.Вид() = "РасходнаяНакладная" Тогда
ИначеЕсли док.Вид() = "ПриходнаяНакладная" Тогда
КонецЕсли
   Bro
 
905 - 14.10.19 - 11:40
(904) Технически да там создается CASE, но потом оптимизаторы / компиляторы очень много шаманят с этими свойствами переставляя, вырезая лишние IF'ы, потом при компиляции в SQL своя магия работает. В любом случае это все особенности реализации. Для разработчика lsFusion это не так принципиально (хотя и не сказать, что и не очевидно, для тех кто захочет все таки разобраться как это работает)
   Asmody
 
906 - 14.10.19 - 11:44
Настрочил кучу кода, запустил сервер, получил простыню джавовского стек-трейса. Из адекватного там только "java.lang.AssertionError: TABLE WAS REMOVED BEFORE". И что мне теперь с этим делать?
   Злопчинский
 
907 - 14.10.19 - 11:45
(906) не хотел жрать кактус? ну теперь ты понял, что придется жрать взамен - то на чем растут...
   Asmody
 
908 - 14.10.19 - 11:46
Сообщение про удаление таблицы какбэ моногообещающее.
   ДенисЧ
 
909 - 14.10.19 - 11:47
(906) Радоваться, что таблица таки существовала ))
   Bro
 
910 - 14.10.19 - 11:49
(906) Джавовский стек-трейс это был такой баг в 2.0 (на всякий случай можете стектрейс на info@lsfusion.org кинуть). А вообще она же в лог пишет все изменения про таблицы (и добавления и удаления). Или нет?
   Asmody
 
911 - 14.10.19 - 11:50
(910) Event log это вот это:
11:39    Build completed successfully in 689 ms
11:40    Build completed successfully in 531 ms
11:41    All files are up-to-date
11:49    Build completed successfully in 579 ms
???
   Bro
 
912 - 14.10.19 - 11:55
(911) Это build лог проекта. Все что он делает это копирует lsf файлы из исходников в директорию запуска (при сборке при помощи IDEA это по умолчанию out/production) и компиляция туда же Java файлов проекта (которых у вас скорее всего нет). Я про лог запуска, там где Server is starting вначале и Server has successfully started в конце.
   Asmody
 
913 - 14.10.19 - 12:03
Короче, я, кажется, понял.
Если в базе уже есть какие-то данные, но в результате изменений кода они не удовлетворяют какому-то новому CONSTRAINT, то сервер не запустится.


Консистентность, чо!
   Bro
 
914 - 14.10.19 - 12:13
(913) Нет, сервер запустится. CONSTRAINT это событие
WHEN SET(f(a)) DO {
   MESSAGE
   CANCEL
}

То есть работает на новые изменения. В Администрирование -> Обслуживание (или как то так есть) проверить все ограничения / пересчитать все следствия для старых данных.
   НиколаевГ
 
915 - 14.10.19 - 12:20
(906) Хм... порог входа без ИТ-бэкграунда неделя :))
   Asmody
 
916 - 14.10.19 - 12:21
(914) ХЗ, у меня не запускалось, пока я не закоментировал CONSTRAINT
   НиколаевГ
 
917 - 14.10.19 - 12:25
(916) Судя по всему, при изменении структуры БД CONSTRAINT таки срабатывает :))
   Asmody
 
918 - 14.10.19 - 12:30
А ширина колонок в гриде как-то программно задается?
   Bro
 
919 - 14.10.19 - 12:34
(918) CHARWIDTH для свойства емнип.
https://documentation.lsfusion.org/pages/viewpage.action?pageId=7798786
И в дизайне формы есть опция.
   Злопчинский
 
920 - 14.10.19 - 12:40
(919) если в количестве символов - то при изменении масштаба в настройках ОС - смасштабируется нормально само?
   la luna llena
 
921 - 14.10.19 - 12:43
кстати, с шириной колонок у вас проблемы, если длинные названия не влезают в поле, то никак это не изменить в пользовательском режиме
   Bro
 
922 - 14.10.19 - 12:46
(920) Да в этом и смысл. Собственно есть настройка у пользователя % увеличения шрифта.
(921) Вообще по умолчанию колонки расширяемы. Другое дело, что у некоторых специально это ограничивают. Чтобы при расширении других колонок они не расширялись.
   la luna llena
 
923 - 14.10.19 - 12:49
(922) я обратила внимание, что даже открывая стандартную форму с настройками по умолчанию, сделано так, что заголовок столбцов не влезает в отведенное ему место, смотрится неряшливо
   Bro
 
924 - 14.10.19 - 12:57
(923) Там просто иногда заголовок шире данных. И тут конечно непонятно что делать, или буквами кодировать (что тоже будет непонятно) или еще что.
   Asmody
 
925 - 14.10.19 - 15:53
Что-то я из ваших примеров так и не понял, как сделать выбор значения в поле с предустановленным отбором (у вас же крутые подборы!)

вот такой кусок https://gist.github.com/Asmody/e0207c14332b0abcf99839a712845a81

Хочу такой выбор item'ов:
Если type(doc) == DocType.PI Тогда
для выбора доступны только Item с type(item) == ItemType.goods
Если type(doc) == DocType.SI Тогда
для выбора доступны Item c type(item) == ItemType.goods или ItemType.product, такие что balance(item, stock) > 0, где stock из документа.

А последний CONSTRAINT должен учесть вариант наличия двух и более одинаковых item в строках
   PR
 
926 - 14.10.19 - 16:03
Гляжу я на все это форменное ммм... пусть будет безобразие, Asmody уже втянулся, прочие уважаемые товарищи
У меня один вопрос. А напаркуа?
Как платформа, Фузина ясен пень настолько хуже и беднее 1С, что даже сами фузиновцы от безысходности сравнивают свою платформу с готовым решением от 1С, ДДСничая по поводу и без повода
Как решение, Фузина неинтересна просто потому, что хоть какого-то мало-мальски интересного решения нет
Возможность съэкономить на лицензиях 1С (потом, я так понял, потратившись на других вещах)? Не очень верится
Остается, просто от скуки, типа 1С приелась, из спортивного интереса?
Так мне и это было бы неинтересно. Мне еще на 1С столько интересного, на пять лет хватит точно
Так что же это, в чем причина?
   Bro
 
927 - 14.10.19 - 16:03
(925) Вы в диалоге выбора товара хотите предустановленный отбор? Так просто в FILTERS напишите отбор.

Но я вообще не понимаю, что вы пытаетесь сделать. Если вы хотите чтобы именно по product остаток был больше 0 просто сделайте:

CONSTRAINT type(Item item) = ItemType.product AND balance(item, stock) < 0;
   Bro
 
928 - 14.10.19 - 16:05
(926) 1С не умеет и половины того что умеет фузина. Вон мне про отрицительные остатки на приходе никто ничего не может написать. Не говоря уже о прозрачные материализации, ограничения, события, 21 проблема из статьи и остальные https://lsfusion.org/opportunities.
   Asmody
 
929 - 14.10.19 - 16:07
(926) Хуяк, хуяк и в продакшен.
   PR
 
930 - 14.10.19 - 16:07
(928) Я не тебя спрашивал, ты не относишься к уважаемым товарищам
 
 Рекламное место пустует
   Asmody
 
931 - 14.10.19 - 16:08
(927) Я хочу, чтобы в документах с типом si показались только товары и продукты с положительным остатком на складе из документа
   PR
 
932 - 14.10.19 - 16:11
(929) Не не не, хуяк и в продакшн — это так в 1С можно
Фузину у народа даже поставить по-человечески не получилось, пришлось выдрачиваться с дистрибутивом
Не говоря уж про то, что чтобы даже что-то простенькое написать, сначала нужно общую концепцию понять и дохрена чего изучить
Тут явно что-то другое
   PR
 
933 - 14.10.19 - 16:14
(928) Что за "отрицительные остатки на приходе"? Снова еще одна важнейшая проблема 21 века?
   PR
 
934 - 14.10.19 - 16:20
Меня вот реально торкают вещи типа прикрутить к 1С Апач или Кролика, сделать мобильное приложение, разобраться с системой взаимодействия, еще полмиллиона интересных вещей
Из вещей, не связанных с 1С вообще, меня интересуют только задачи типа:
Миллиард копеечных бесплатных кроссплатформенных легких удобных симпатичных клиентов
Транспортная логистика
Бигдата
РАУЗ

Хотя нет, последнее уберите
   shuhard
 
935 - 14.10.19 - 16:24
(930) +1
клиника, кодер с промытыми мозгами, не осознающий, что сделал ни кому не нужный инструмент
   PR
 
936 - 14.10.19 - 16:30
(935) Да в том-то и дело, что будь сейчас спецов по Фузине столько же, сколько по 1С, и не представляй Фузину два куска говна, не умеющих продвигать свой продукт, а умеющих только обсирать чужой, и будь на Фузине хоть полтора готовых решения, то глядишь, ситуация могла бы сложиться совершенно по-другому
В конце концов простой гуглинг выдает практически ничего на поиск бесплатных открытых альтернатив 1С
Но история, как известно, не знает сослагательного наклонения

Так все же, что интересного в Фузине? Уважаемые коллеги, что вас манит в Фузине?
   PR
 
937 - 14.10.19 - 16:32
(935) Это, кстати, не он сделал, у них там целая банда десять лет хуячила, теперь даже программистам не могут объяснить, что они вообще сделали
   Лефмихалыч
 
938 - 14.10.19 - 16:37
(936) да прост...


скука, да
   Ёпрст
 
939 - 14.10.19 - 16:37
   PR
 
940 - 14.10.19 - 16:41
+(937) Еще и не сделали, кстати
Про интерфейс сказали, что говно, рожей кривили неделю, сейчас смотрю, косметику какую-то навели
Про не открытие документов из списка по энтеру сказали, что дико же, смотрю, сделали
Это даже не аналог 1С 7.7, это вообще что-то унылое на уровне аксесса из 2000-х
Какая-то продажа Борланд Паскаля
   PR
 
941 - 14.10.19 - 16:43
Меня бы, кстати, да, самого бы торкнула возможность на простом бесплатном конструкторе накидать пусть сильно ограниченную по функционалу, но систему под ключ
Но тут же сначала надо изучить Франкенштейна, принять вся его ущербную сущность, и уже только после этого, проблевавшись и дважды помыв руки...
   Лефмихалыч
 
942 - 14.10.19 - 16:47
(941) ... и дважды помыв руки, понять, что не так уж тебе и хотелось.
   sqr4
 
943 - 14.10.19 - 16:48
(941) аяй Рома, срач в соседней ветке
   PR
 
944 - 14.10.19 - 16:49
(942) Как в анекдоте, да, https://www.anekdot.ru/id/508976/
   PR
 
945 - 14.10.19 - 16:51
(943) В смысле? В этой ветке же про Фузину? А про Фузину ничего кроме срача и не было никогда. Два брата-акробата изначально целенаправленно с таким настроем на Мисту и прилупили.
   _DAle_
 
946 - 14.10.19 - 16:53
(945) В этой ветке люди задают вопросы по lsfusion, мы отвечаем, иногда даже конструктивное обсуждение получается. Есть просьба очередной срачик хотя бы в этой ветке не устраивать.
   PR
 
947 - 14.10.19 - 16:57
(946) ok, исключительно из уважения к единственному обнаруженному адекватному представителю Фузины
   _DAle_
 
948 - 14.10.19 - 17:08
(947) Спасибо за понимание
   Asmody
 
949 - 14.10.19 - 17:09
(946) [мы отвечаем, иногда] - спорное утверждение
   PR
 
950 - 14.10.19 - 17:10
(948) Это не понимание, понимания у меня не было, нет, думаю, что и не будет. Это уважение к адекватности конкретного человека.
   НиколаевГ
 
951 - 14.10.19 - 17:34
А как на фузине сделать аналог периодического регистра сведений, чтобы срез последних самому не придумывать?
   CrushBy
 
952 - 14.10.19 - 17:37
(951) https://documentation.lsfusion.org/pages/viewpage.action?pageId=46367505
Вот так. При желании можно в метакод это обернуть.
   НиколаевГ
 
953 - 14.10.19 - 17:44
(952) То есть, нужно определить свойство для каждого набора измерений, по которым нужно получить срез последних. А дальше платформа всё сама сделает?
   Asmody
 
954 - 14.10.19 - 17:47
Мои вопросы, видимо, слишком сложные.
А всё хвастались про "продвинутые" подборы!
   Bro
 
955 - 14.10.19 - 17:49
(931) где показать? у вас в ссылке же ни одной формы нет... в форме документа? или чего?
   Asmody
 
956 - 14.10.19 - 17:56
(955) С формой все очевидно: Doc на панели, DocLine в гриде.
Я хочу, чтобы при выборе item'ов в DocLine из списка были доступны не все товары, а только по указаным условиям.

А про CONSTRAINT это уже какбэ второе требование.
   CrushBy
 
957 - 14.10.19 - 17:56
(953) Да, вроде того. Дальше просто обращаетесь к этому свойству также, как если бы оно было первичным и вводилось вручную. Ну и, конечно же, в него, как и в любое вычисляемое свойство, нельзя писать.
   НиколаевГ
 
958 - 14.10.19 - 18:03
(957) А как определяется ключ уникальности записи регистра? И как измерения от реквизитов отделить?
   CrushBy
 
959 - 14.10.19 - 18:03
(956) Схематично вот так можно сделать :
// объявляем форму по выбору товара
FORM selectItems 'Выбрать товар'
    OBJECTS s = Stock PANEL
    
    OBJECTS i = Item
    PROPERTIES READONLY name(i), currentBalance(i, s)
    FILTERS currentBalance(i, s)
;

// определяем действие по редактированию товара в документе
changeItem (DocLine l) {
    DIALOG selectItems OBJECTS s = stock(doc(l)),
                                   i = item(l) CHANGE;
}

// подменяем действие редактирования при добавлении свойства на форму
FORM document
....
    OBJECTS l = DocLine
    PROPERTIES nameItem(l) ON CHANGE changeItem(l)
;
   Bro
 
960 - 14.10.19 - 18:04
Самый тупой вариант:
FORM dialogItems
    OBJECTS d=DocType, s=Stock, i=Item
    PROPERTIES (i) name
    FILTERS type(i) = ItemType.goods OR (d=DocType.SI AND type(i) = ItemType.products AND balance(i, s) > 0)
;

FORM doc
   OBJECTS d = Doc
   OBJECTS dl = DocLine
   FILTERS d = document(dl)
..

PROPERTIES nameItem(dl) ON CHANGE { DIALOG dialogItems OBJECTS d=type(d), s=stock(d), i=item(dl) CHANGE; }
;
 
 Рекламное место пустует
   Bro
 
961 - 14.10.19 - 18:06
(960) можно поиграться с CONSTRAINT CHECKED BY. Тогда платформа сама embed'ит фильтр в диалог, но то что вы хотите это не тот случай, потому как она тогда при изменении остатка будет на этот CONSTRAINT и старые документы проверять (то есть он для других случаев используется
https://documentation.lsfusion.org/pages/viewpage.action?pageId=46367200 вот тут 5-й пример)
   НиколаевГ
 
962 - 14.10.19 - 18:07
(959) (960) Ахренеть у вас стандарты разработки, совершенно различный код для одного и того-же :))
   CrushBy
 
963 - 14.10.19 - 18:08
(958) Рассматривайте регистр как своего рода интерфейс (в программном смысле). Соответственно, либо сам объект его реализует (тогда запись регистра = объект), либо он создает другой объект (агрегированный) и тот наследует регистр (тогда регистр = агрегированному объекту). Система сама следит за тем, чтобы агрегированный объект существовал и был единственным при заданных условиях.

Измерения от реквизитов никак не отличаются с точки зрения регистра. Неявно они отличаются в расчете значения. Все что в BY - это измерения, в выражении - реквизиты.
   CrushBy
 
964 - 14.10.19 - 18:09
(962) Там как раз одно и то же практически. Просто Bro добавил в логику еще тип документа и действие по редактированию "заинлайнил" в объявление формы.
   _DAle_
 
965 - 14.10.19 - 18:13
(962) На всякий случай.. Bro отвечал Asmody.
   _DAle_
 
966 - 14.10.19 - 18:14
(965) А, это я не так понял, извиняюсь. Блин, как же хреново без редактирования сообщений :)
   НиколаевГ
 
967 - 14.10.19 - 18:15
(963) Уникальность записи как определяется? Нужно самому прописывать набор полей, по которым должна быть уникальность? И останется ли идентификатор записи тем-же, если вставить запись с таким-же набором полей уникальности?
   Bro
 
968 - 14.10.19 - 18:15
(964) ну я еще в двух разных местах разный стиль использовал: OBJECTS d=Doc, dl=DocLine  но быстро писал, я тут параллельно еще другими делами занимаюсь знаете ли.
   НиколаевГ
 
969 - 14.10.19 - 18:18
(964) Так вы считаете, что стандарты написания кода не нужны? Получается, новички у вас усваивают тот стиль, который наставник практикует?
   Flyd-s
 
970 - 14.10.19 - 18:42
Как у вас организованы поставки версий программы для клиентов и что нужно сделать клиенту, чтобы вести разработку своими силами и при этом получать обновления от вендора?
   Ещё1
 
971 - 14.10.19 - 19:59
(960) > d=type(d)
Компилятор разрулит такое? То есть поймёт, где d - это Doc, а где d - это DocType?
   Злопчинский
 
972 - 14.10.19 - 20:02
(779) ЯННП.
1. То что свойство - это функция - ну как бэ понятно. Функция что-то возвращает (примитивный тип или ссылочный тип или вообще возвращает список целый) - это и будет свойство. типа так?
2. "И вот это свойство с функцией записывания. Для некоторых ее типов" - для типов чего? для типов возвращаемого функцией свойства? Куда это возвращаемое свойство записывается? когда записывается? возвращаемое значение функции зависит от входных параметров - записывается при каждом "расчете" функции? или только для неповторяющихся комбинаций входных значений?
   Лефмихалыч
 
973 - 14.10.19 - 20:03
ну, до чего ж мерзкая тарабарщина-то, а... прям вырви глаз
ключевые слова какие-то обгрызенные, от инвалидских обкусанных переменных только регистром отличаются... как это говно читать и сопровождать? ну, хрен с ним, у оракла есть максимальная длина имени большинства объектов, им надо экономить, по этому там так. Но вас-то что оправдывает? Или тоже 30 букв на литерал и крутись, как хочешь?
   Злопчинский
 
974 - 14.10.19 - 20:05
(785) в итоге вся работа идет посредством оперирования свойствами?
   Лефмихалыч
 
975 - 14.10.19 - 20:09
(974) и модулями. Вчера ж выяснили: объект там - это модуль, а все остальное - атрибуты модуля. Модуль обладает неким поведением, которое публикует посредством атрибутов, которые как колонки, но это функции, хотя их тоже нельзя так воспринимать. В результате, короче, ты, умело жонглируя модулями и осатанело дёргая их за титьки атрибутов, получаешь что тебе там надо.
   Злопчинский
 
976 - 14.10.19 - 20:11
(792) "Поскольку свойство описано как DATA - оно является первичным, а значит будет иметь отображение на уровне СУБД. Item будет соответствовать таблица БД, а quantity - поле в этой таблицы. Наверное, тут всё понятно."
- нихрена непонятно. Откуда следует что item - соответсвует таблице БД? это где явно описано? или это следует из неявного чего-то типа "Поскольку свойство описано как DATA - оно является первичным, а значит будет иметь отображение на уровне СУБД."..?
   Злопчинский
 
977 - 14.10.19 - 20:12
(975) а свойства здесь где?
   Лефмихалыч
 
978 - 14.10.19 - 20:13
а, ну и к этой всей пшенице и ржи прилагаются еще, видимо, таблички в БД, которые, благодаря революционному механонизьму нэймспэйсов, соотносятся с модулями примерно как-то так же, как в томже оракле или постгресе - со схемами. Но это уже я просто догадываюсь - это не от них инфа.
   Злопчинский
 
979 - 14.10.19 - 20:14
(792) "quantity = DATA INTEGER (Item);"
- можно сказать, что это "в структуре БД объявляется таблица item, состоящая из одного столбца с типом Integer?
   Злопчинский
 
980 - 14.10.19 - 20:15
..эта таблица item - она когда создается? постоянно хранится в БД? доступна другим сеансам?
   Злопчинский
 
981 - 14.10.19 - 20:19
(792) "и возвращающие указанный в описании новый объект." - ЯННП, в описании чего?
.
Типа
Чтото = F(p0,p1,p2..pN)
это "что-то" и будет "новым объектом"?
   Злопчинский
 
982 - 14.10.19 - 20:21
кнопки (сохранить и пр) и значки (фильры и пр), которые внизу визуальных форм - их можно, не лазая внутрь платформы переопределить их местоположение на визуальной форме кодом на уровне прикладного решения?
   Ещё1
 
983 - 14.10.19 - 20:22
(976) Да, свойства описанные оператором DATA так или иначе отображаются в БД. Чаще всего полем таблицы (по крайней мере я не видел других отображений, но чем чёрт не шутит). https://documentation.lsfusion.org/pages/viewpage.action?pageId=688168
Но на время начального написания программы я вообще не заморачиваюсь об отображении классов в базе. Это делает сама платформа. Потом уже, отлавливая узкие места и делая оптимизацию, это надо учитывать.
   Ещё1
 
984 - 14.10.19 - 20:26
(979) Можно сказать, что в таблице Item точно будет столбец quantity. Какие ещё в ней будут столбцы можно сказать только после компиляции всей программы. Но лучше не опускаться на уровень БД (по крайней мере на начальном), а программировать в рамках понятий классов, объектов и свойств. Для этого и придуман язык lsFusion, что он максимально отстраняет программиста от непосредственной работы с таблицами, столбцами, индексами, запросами и т.п.
   Злопчинский
 
985 - 14.10.19 - 20:27
(793) вот в этой фразе - дохрена незнакомых мне слов. можно как-то объяснять, исходя из того что пришел джуниор с улицы, не имеющйи ИТ-бэкграунда (хрен с ним, пусть даже имеющий, но про ООП только слова слыщал),..?
   Ещё1
 
986 - 14.10.19 - 20:27
(984) Я уже прям как евангелист заговорил, хотя сам в фузине ещё плаваю как топор. :)
   Злопчинский
 
987 - 14.10.19 - 20:28
(792) спсб за пояснения, внятнее стало. примерно так и понимал, но мутновато... сильно низкий у меня "порог входа".
   Злопчинский
 
988 - 14.10.19 - 20:31
(983) свойство может быть "списком" (я полагаю что да)? то есть функция чтото там внутри себя крутит и выдает на выходе некий набор данных, например список из двух колонок с полями "товар" и "бренд"..? где товар и бренд - это для меня что: - ссылки на таблицы товаро и таблицу брендов? или просто наименования тавра и бренда? завитсит от того что я напишу внутри функции, которая это возвращает?
   Ещё1
 
989 - 14.10.19 - 20:34
(980) Да, класс Item точно отобразиться в таблицу в базе, поскольку он имеет как минимум 1 свойство (quantity) объявленное как DATA. И она будет доступна всем. Заметьте, что мы не знаем точно, как будет названа эта таблица в базе, мы оперируем классами.
Было бы свойство DATA LOCAL - значение свойства было бы доступно только в текущей сессии пользователя. А в базе хранилось бы во временной таблице с неизвестным именем, доступной только текущему пользователю.
   Злопчинский
 
990 - 14.10.19 - 20:34
(984) "Можно сказать, что в таблице Item точно будет столбец quantity. Какие ещё в ней будут столбцы можно сказать только после компиляции всей программы"
- то есть я, типа новый разраб, пришел на место старого. и чтобы понять структуры базы, прикладных обьектов - должен буду прошерстить вручную своим пока что незапятнанным умишщком - должен буду прошерстить ВЕСЬ код, чтобы понять как "список контрагентов" устроен и как он взаимодействует с другими обьектами базы/прикладного решаения?
   Ещё1
 
991 - 14.10.19 - 20:37
(981) Свойство возвращает объект того типа, который был указан при его описании. Т.е. для quantity = DATA INTEGER (Item); типом возвращаемого значения будет INTEGER. А может быть любой класс, встроенный lsFusion или созданный в программе.
   Ещё1
 
992 - 14.10.19 - 20:39
(982) Вот это ещё не разбирался, но вроде там есть какие-то методы компоновки объектов на форме, даже с визуальным отображением в IDEA (закладка Design прилеплена к правому краю окна IDEA).
   Злопчинский
 
993 - 14.10.19 - 20:42
(989) "заметьте, что мы не знаем точно, как будет названа эта таблица в базе, мы оперируем классами."
- ну как бы понятно. типа как в 1С. класс "Документ" - а из скольки таблиц он на урровне БД будет состоять - мне как-то пока неважно.
.
но в 1С я вижу класс "Документ" и из "описания" самого класса в конфигураторе пронимаю из чего он состоит. А здесь, в фузине, как я пойму из чего состоит "документ"? вот я, разработчик новый, вроде разобрался в фузине в прикладном решении с "документ.заявкапокупателя". ага, норм. для реализации поставленной передо мной задачи мне нужен "атрибут" заявки покупателя такой как "номер заявки в терминах КИС покупателя". ага, "доопределяю" класс "документ.заявкапокупателя" таким атрибутом. Только оказываетяс что другой разработчик давным давно в каком-то модуле (я его просто не нашел среди обилия модулей/кода) уже определил точно такой же атрибут с такимже прикладным назначением. может такое быть? имхо может.

Это же трэш страшный будет..?

Где посмотреть !!"суммарное" полное!! описание класса "документ.заявкапокупателя" в прикладном решении..?
   Злопчинский
 
994 - 14.10.19 - 20:44
попутно (я раньше упоминал). в свое время Кларион хорошо стартанул и была даже перспектива что будет ок. но сообщестов резко перестало развииваться и закапсулировалось как только Кларион перевел код на ООП-шаблоны ABC (насколько я помню).
   Злопчинский
 
995 - 14.10.19 - 20:47
(991) "Свойство возвращает объект"
- это меня выламывает напрочь.
свойчство возвращает? как бы привык что возвраЩАЕТСЯ свойство (как значяение, или набор значений, или сложное состоавное чтото типа списка).
.
то есть следует пониматьчто "свойство" - это функция, которая что-товозвращает? или типа свойство это ящик с выходом, в котором чтото в заивисмости от того что на входе?
   Ещё1
 
996 - 14.10.19 - 20:49
(988) Вот честно не знаю. Знаю точно, что возвращаемое значение свойства может быть любым классом, а значит иметь значение числа, строки, даты, Справочника товаров, Документа реализации и т.д. Может ли оно вернуть некий набор документов? Не могу сказать.
   Злопчинский
 
997 - 14.10.19 - 20:52
(796) имхо это зависит от того как ты эту таблицу опишешь, можно таблицу (скю, товар) дополнить (скю, товар, организация) а можно новую таблицу типа (организация, ссылка на запись первой таблицы)
   Злопчинский
 
998 - 14.10.19 - 20:53
(798) имхо, по идее - да. движок "свернет" склады. я бы если делала "фузябу" сделал бы так
   Ещё1
 
999 - 14.10.19 - 20:55
(990) Не могу сказать. Возможно есть какой-то инструмент, чтобы после компиляции посмотреть все свойства указанного класса в сборе.
   CrushBy
 
1000 - 14.10.19 - 20:58
(971) Там разный контекст по синтаксису. Слева от "=" d - это контекст формы, то есть она ищет среди объектов формы. Справа от "=" выражение, которое вычисляется во "внешнем" контексте, то есть откуда идет вызов.
  1  2  3  4  5  6  7  8  9  10  11   

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