Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10  11   
О жизни... :: lsFusion

OFF: lsFusion vs 1C. Раунд 9

Ø [длинная ветка, 26.11.19 - 10:37]
OFF: lsFusion vs 1C. Раунд 9
Я
   CrushBy
 
14.11.19 - 09:51
Ветка для холивара, троллинга, остроумия и оскорблений. Помните, что тонкий троллинг и просто оскорбление - это разные вещи. Переход на личность - признак слабого ума и дурного воспитания.
В красному углу ринга бесплатная и открытая платформа 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. Раунд 8
   PR
 
1 - 14.11.19 - 09:52
_DAle_, так на OFF: lsFusion vs 1C. Раунд 8 ответишь?
   acht
 
2 - 14.11.19 - 09:52
Анекдот №414258
   CrushBy
 
3 - 14.11.19 - 09:54
PR, [Еще раз. Почему Фузина, почему не голая джава + скуль?]

Устроим Зарубу lsFusion vs Голая Java и SQL ?

Давайте вы напишите на голой Java + SQL то, что у же сделано в клоне Odoo. Посмотрим сколько на это времени уйдет на "голой Java" и какой там читабельный код будет.
   Михаил Иванович
 
4 - 14.11.19 - 09:55
(1) он не ответит,он такой же упертый нарик как и те двое, только пока еще пытается держать лицо, но уже и это плохо выходит.
   Михаил Иванович
 
5 - 14.11.19 - 09:55
(3) ты замолчи уже про зарубу, да и про одоо тоже))
   CrushBy
 
6 - 14.11.19 - 09:56
[Вася.Познакомиться(Таня), Таня.Познакомиться(Вася) и Познакомиться(Вася, Таня) — это могут быть все разные сценарии]

Будет веселуха, если Товар.Остаток(Склад) будет не равен Склад.Остаток(Товар)...
   ГНиколаев
 
7 - 14.11.19 - 09:56
(3) Ну так как, можно уже ваш клон одуу в продуктив ставить, или подождать ещё?
   CrushBy
 
8 - 14.11.19 - 09:56
(5) Мне то чего молчать ? 1С то проиграл. Не предоставил исходный код. Так что техническое поражение 1С.
   CrushBy
 
9 - 14.11.19 - 09:57
(7) Лучше подождать еще немного. Закончим модули Purchase и Sale - тогда можно будет ставить. Доделаем Manufacturing и POS, тогда статью на хабре набросаю.
   ГНиколаев
 
10 - 14.11.19 - 09:58
(9) Держи в курсе, буду ждать.
   Кац
 
11 - 14.11.19 - 09:59
(8) Вы не сделали и 10% в зарубе. Какой еще нахуй исходный код? ДБ (с)
   Джо-джо
 
12 - 14.11.19 - 09:59
(8) Кто так решил? Или ты участник и судья одновременно?
   acht
 
13 - 14.11.19 - 10:07
(12) Это у него такое пенсионерское "азаза затраллил лалку". Выглядит, конечно, своеобразно.
   _DAle_
 
14 - 14.11.19 - 10:08
(1) Почему lsfusion, а не голая java + sql? Просто вроде бы это слишком очевидно должно быть. Причина такая же, как и при использовании любой платформы/библиотеки. В платформе уже готова куча функционала, который не придется писать с нуля руками (а некоторый функционал, как, например, оптимизирующий SQL-компилятор далеко не у всех вообще получится написать когда-либо).

Описав бизнес-логику в lsfusion модулях, вы получаете на выходе:
1. Готовый application server, который превращает ваше описание бизнес-логики в оптимизированные SQL-запросы, обеспечивает поддержку асинхронности, целостности, проверки ограничений, обработки событий, реактивности, миграции, печатных форм и много чего еще.
2. Готовые desktop и web-клиенты.
   ГНиколаев
 
15 - 14.11.19 - 10:10
(14) Вот у Кубы, например, тоже куча готовых модулей на джаве, и платформа бесплатная. Чем вы лучше Кубы?
   PR
 
16 - 14.11.19 - 10:11
(3) Устроим зарубу? :)))
Ты серьезно, блеать?
Ты бы прошлую хоть осилил, идиотушка
   PR
 
17 - 14.11.19 - 10:13
(6) В Фузине все возможно
   Bro
 
18 - 14.11.19 - 10:15
   Bro
 
19 - 14.11.19 - 10:16
(18) Много кубы из этого есть. Вы вообще представляете, как у них вот это будет выглядеть:
https://documentation.lsfusion.org/pages/viewpage.action?pageId=2228636
Там кода еще больше чем в 1С будет.
   ГНиколаев
 
20 - 14.11.19 - 10:17
(18) Нафиг мне маркетинговый буллшит?
   PR
 
21 - 14.11.19 - 10:18
(14) В том-то и дело, что библиотека как правило нативна, я могу ее переделать под себя, могу найти аналог
А тут если уж начал писать на Фузине, слезть с этого поезда не получится
С 1С все так же, но в случае 1С ты получаешь мощнейший инструмент, а что в вашем случае?
Оптимизированные SQL-запросы, поддержка асинхронности, целостности, проверки ограничений, обработки событий, реактивности, миграции, печатных форм и готовые desktop и web-клиенты — маловато, не находишь?
   stix2010
 
22 - 14.11.19 - 10:18
(8) lsFusion среди 1с ников не выиграет - там руских букв в языке нет.
   _DAle_
 
23 - 14.11.19 - 10:34
(21) >С 1С все так же, но в случае 1С ты получаешь мощнейший инструмент, а что в вашем случае?

Хм, настолько мощнейший, что запросы нужно писать руками в строковых литералах. (Не удержался, простите). Это все оценочное суждение. Наше оценочное суждение в том, что с lsfusion вы тоже получите мощнейший инструмент и бесплатно.

Здесь на mista.ru все обсуждение скатывается в противопоставление lsfusion и 1С. Это ожидаемо. Но суть то в том, что есть один инструмент, есть другой, выбирайте подходящий. Никто силой lsfusion не навязывает.

>маловато, не находишь

Я ведь перечислил только то, что мне за 30 секунд в голову пришло. Может и маловато, это зависит от потребностей.
   _DAle_
 
24 - 14.11.19 - 10:37
(23) Пока не успели накинуться.. "писать руками" подразумевает под собой и кликанье мышкой.
   acht
 
25 - 14.11.19 - 10:40
(23) А, например, распределенная база у вас есть?
Точку зрения "это бизнесу не требуется" вы уже приписали 1Сникам, так что за отмаз уже не прокатит.
   Ник080808
 
26 - 14.11.19 - 10:40
(23) (24) у вас такая же ошибка как и в бро. При том. что вы считаете что уровни абстракции у вас выше, она на самом деле ниже чем в 1с. В 1с ты мыслишь "бизнес сущностями" - справочник, документ, регистр. Они не равны таблица базы данных в понимании пользователя. Поэтому запрос в 1с мышкой натыканный в конструкторе это совсем не тоже что запрос к скулю написанный в менеджемнт студии. Хотя кому я объясняю
   PR
 
27 - 14.11.19 - 10:41
(23) >>с lsfusion вы тоже получите мощнейший инструмент и бесплатно
И почему же у тебя тогда босс слился с зарубы?

>>Здесь на mista.ru все обсуждение скатывается в противопоставление lsfusion и 1С
Это то направление, которое задал твой босс

>>Я ведь перечислил только то, что мне за 30 секунд в голову пришло
Таки да, понятно, согласен, поэтому и устраивали зарубу, проверить, насколько можно на Фузине накидать простенький функционал из часто запрашиваемых типовых задач
Но почему-то твой босс зарубу не осилил, поэтому по-прежнему не могу ничего сказать про Фузину хорошего
   PR
 
28 - 14.11.19 - 10:43
(24) Я вообще не понял, что такое "писать руками" (а в Фузине что, ногами пишут?), поэтому не накинусь
   _DAle_
 
29 - 14.11.19 - 10:49
(26) Да, в этой конкретной штуке, базовых сущностях, которые существуют с нуля, уровень абстрагирования в 1С выше. То есть, если мы возьмем голый 1С и голый lsfusion, то да в lsfusion нужно еще базовые абстракции создать для начала.
Но в плане запросов уж извините, вам не нужно заботиться о порядке join'ов? Вы не работаете на уровне таблиц и полей?
   _DAle_
 
30 - 14.11.19 - 10:50
(28) В lsfusion программист не пишет sql-запросы (или sql-like запросы, как угодно). Он описывает логику на более высоком уровне.
 
 Рекламное место пустует
   PR
 
31 - 14.11.19 - 10:51
(29) Ох ты ж, так даже базовые абстракции создать — это уже море разливанное
   PR
 
32 - 14.11.19 - 10:53
(29) Большинство программистов 1С даже не знают, что такое план запросов
Что такое план знают
Что такое запрос знают
План запросов? Не, не в курсе
И это не мешает им работать
Как раз то, про что говорят Краш и Бро, только в реальности, программа думает за нас
Конечно же, даже у нас по глупости местами можно член в семи местх сломать, но тут такое
   ГНиколаев
 
33 - 14.11.19 - 10:53
(30) Уровень более высокий, да. Но и уровень абстракции в фузине выше реальных бизнес-задач. Поэтому и так высок порог входа в фузину.
   stix2010
 
34 - 14.11.19 - 10:54
У меня 2 вопроса, которых я не нашел на сайте:

1.Системные требования  - возможность использования в 1-2 пользователя на дешевых vds.
2.На чем проект деньги зарабатывает? Обычно проекты c лицензией LGPL начинаются, а потом бесследно  исчезают.
   _DAle_
 
35 - 14.11.19 - 10:55
(25) Нет
   PR
 
36 - 14.11.19 - 10:56
(30) Какая нахрен более высокая логика, если текст SQL-запроса — это и есть логика?
Если мне нужен запрос, который выберет контрагентов (5 конкретных полей) с контактной информацией и остатками расчетов, как я, кроме как написав запрос, скажу программе, что я хочу?
   la luna llena
 
37 - 14.11.19 - 10:58
(35) все удаленные точки лезут в одну базу?
   Ник080808
 
38 - 14.11.19 - 11:00
(29) "Но в плане запросов уж извините, вам не нужно заботиться о порядке join'ов? Вы не работаете на уровне таблиц и полей?" в плане запросов вы работаете с табличным представлением объектов. Разница колоссальная. Я общался  с аналитиками  в банке которые работали с скульными базами данных и писали запросы на чистом скуле и с бизнесаналитиками в 1с которые знали конфигурации на уровне продвинутых пользователей  и язык запросов для формирования выборок. Так вот, первые мучаются с полноценным скулем. вторые выбирают справочник/документ/регистр и его реквизиты. Левое соединение у них самое частое соединение. Они не пишут сложных запросов. Они пишут несложные выборки не зная слов индекс, первичный ключ, тригеры вьюхи и прочая муть. Они просто представляют две таблички и джойнят их. да, у 80% из них запросы кривые как моя жизнь, но это позволяет решать задачи бизнеса. потому что пользователь работает не с таблицами и полями, а бизнес-объектами и их реквизитами. Это разные уровни абстракций и требует разный уровень знаний.
   Ник080808
 
39 - 14.11.19 - 11:01
(32) +100500. Я план запроса первый раз смотрел на 10году кодинга в 1с)
   _DAle_
 
40 - 14.11.19 - 11:03
(36) Ну вот так, логику можно описывать и без SQL. Вам не обязательно для получения каких-то значений знать, в каких полях и таблицах физически лежат первичные данные, из которых они вычисляются.
   Ник080808
 
41 - 14.11.19 - 11:04
(36) а они склепали набор объектов которые преобразуют выборку полей в скульный запрос. То есть они не пишут выбрать чето из чего то. А пишут условно Объект Выборка = Объект А, Объект Контактнаяинформация.
   Ник080808
 
42 - 14.11.19 - 11:04
(40) ок. напиши пример кода как получить данные которые написал Рома на языке фузины
   Ник080808
 
43 - 14.11.19 - 11:06
(40) и да. в 1с тоже не нужно знать " в каких полях и таблицах физически лежат первичные данные") Когда ты делаешь выбрать контрагент.Договор, Контрагент ссылка, то физически ты не знаешь ни название скульной таблицы ни имена полей. Более того, каждый раз при создании бд, имена таблиц и полей разное, а запрос отработает один везде
   PR
 
44 - 14.11.19 - 11:07
(40) Воу воу, полегче!
Одинесники и не к реальным таблицам обращаются, ты о чем
   _DAle_
 
45 - 14.11.19 - 11:08
(43) Ок, принято. Но джойнить то вам все равно нужно, вложенные запросы использовать?
   PR
 
46 - 14.11.19 - 11:08
(41) И че? В 1С нельзя писать Объект.КонтактнаяИнформация?
   PR
 
47 - 14.11.19 - 11:09
(45) А в Фузине что, не нужно?
   Кац
 
48 - 14.11.19 - 11:10
(40) На 1С я создал справочник Номенклатура кликнув пару раз мышкой и платформа за меня ленивого создала пару реквизитов код и наименование. Еще клик и сделал иерархическим.
Платформа мне сама сделала форму элемента и форму списка. Со всеми плюшками.

Упс, я даже запрос формы списка писать не стал, платформа и это за меня сделала. прикинь?

А теперь мне надо колонку остатков добавить, еще один клик и перехожу в произвольный запрос списка, ну тут да, соединяю с Рг останков через конструктор платформы.

Вот блин, ни одного нажатия на клаву. Ужаснах.
   Flyd-s
 
49 - 14.11.19 - 11:12
(45), а в фузине как? Есть например две задачи в одной выбрать 5 контрагентов у которых заполнена контактная информация. А в другой выбрать 5 контрагентов и получить их контактную информацию если она заполнена. Внутреннее и левое соединение. У вас как это разделение получится?
   Ник080808
 
50 - 14.11.19 - 11:12
(45) естественно. Еще объединение и итоги, но повторюсь, это такое же декларативное описание как и в фузине, просто ближе к sql. если смотреть планы запросов к скулю и сам запрос в 1с там может быть совсем разные с точки зрения скуля запросы
   _DAle_
 
51 - 14.11.19 - 11:14
(47) Нет, на таком уровне не нужно. Вычислительная логика описывается с помощью операторов, некоторые из них похожи на SQL. В целом там некий набор операторов, начиная с арифметических, логических, а затем оператора композиции, группировки, распределения, рекурсии и т. д.
   Ник080808
 
52 - 14.11.19 - 11:15
(51) то есть тот же скуль просто в другом виде.
   PR
 
53 - 14.11.19 - 11:15
(51) Чето тебя заносит
Ответь на (49)
   Ник080808
 
54 - 14.11.19 - 11:20
(51) собственно, возвращаемся к почему не джава. Забудем о 1сниках. Они тупы и бесполезны для эволюции, отстали от стандартов ит. Вы приходите скажем к Джависту. Джавист потратил несколько лет на изучение базового синтаксиса джавы, стандартных библиотек, хибернейта и спринга. У него есть сто тысяч пятсот библиотек которые он может подключить для написания приложения. Вы приходите и говорите вот те крутая платформа которая тебе поможет. Но нужно выучить синтаксис и разобраться в нем. При этом у нас нет готовых библиотек, которых в джаве миллионы, на которые потрачены миллиарды человекочасов и любое новшество нужно запрашивать у разработчиков платформы, которое они будут пилить раз в квартал. И то, если разработчики докажут что оно нужно. В чем смысл ему писать на вашей платформе?
   Maniac
 
55 - 14.11.19 - 11:32
(54) нечто подобное я уже проходил. Миллион сто писят библиотек - и каждая из них нерабочая овноподделка, такая же как на известном сайте - количество разработок для 1С.
Ибо эти библиотеки шлепает тоже кто попало.
   Maniac
 
56 - 14.11.19 - 11:32
кривые, косые и прочее.
   Maniac
 
57 - 14.11.19 - 11:34
Мне например хватило опыта с буржуйскими CMS поработать. Все визжали как круто.
А ставишь - голая жопа. Начинаешь искать по готовым типа модулям сторонних разработчиков. А они кривые косые. между собой ничерта не интегрируется, все дырявое и так далее.

Нет спасибо! для того чтобы сделать ПО нужны десятки лет постоянной работы.
   _DAle_
 
58 - 14.11.19 - 11:35
(53) За формирование конечного SQL запроса со всеми нужными объединениями, соединениями, вложенными запросами и т. п. в lsfusion отвечает сама платформа. Программист же задает логику в виде операторов, ну или функций (в математическом смысле). Если вы хотите увидеть конкретный код, то хотелось бы более строгое описание того, что нужно вычислить, мы ведь про логику вычислений сейчас говорим.
   Maniac
 
59 - 14.11.19 - 11:35
(54) да никто ничего не будет писать для этой Фузины. только энтузиасты фанатики, от делать нечего, всякую фигню нежизнеспособную.
   Maniac
 
60 - 14.11.19 - 11:36
Как для 1С пишут всякое авно выкладывыают, что написали, так и для любой системы.
 
 Рекламное место пустует
   _DAle_
 
61 - 14.11.19 - 11:38
(54) Первое, в платформе можно подключать и использовать любые java библиотеки, и писать код на java в виде действий. Второе, если выучить синтаксис совсем не судьба и очень не хочется, он может вообще все писать на java, в том числе и логику вычислений описывать, но сейчас нет красивого и элегантного java-API для этого, придется разбираться в том, что есть.
   Maniac
 
62 - 14.11.19 - 11:44
(61) можно подключать, и кто их будет писать - разные вещи.
Плюс не только писать а качественно писать, а не всякое авно.

Так вот я уверен что таких будет НОЛЬ
   PR
 
63 - 14.11.19 - 11:44
(58) Чем тебя постановка в (49) не устраивает?
   Bro
 
64 - 14.11.19 - 11:49
(49) EXPORT name(Supplier s), contactInfo(s) WHERE contactInfo(s) - внутреннее соединение
EXPORT name(Supplier s), contactInfo(s) WHERE s IS Supplier - левое соединение
(contactinfo в другой таблице допустим лежит)

Вообще логика типов соединений отлично в булеву трансформируется (почему этого SQL не сделал как и остальные загадки):
https://habr.com/ru/company/lsfusion/blog/463095/#joinwhere
   CrushBy
 
65 - 14.11.19 - 11:50
(34)
1. Прекрасно будет работать на VPS с 1 или 2ГБ памяти. У нас есть клиент в России, для которого сделали простую задачу по timetracking (юридическая контора), в которой работает по 20 пользователей на VPS с 2 ядрами и 2ГБ памяти.
2. Мы зарабатываем деньги вот здесь : https://luxsoft.by/klienty/
Это прибыльный и успешный бизнес, так что никуда мы сворачиваться не будем.
   PR
 
66 - 14.11.19 - 11:53
(64) И где здесь поля выборки, где условие соединения, чем все это по сути отличается от текста запроса?
   PR
 
67 - 14.11.19 - 11:56
(65) Свалил бы ты из ветки, у нас тут вроде хоть какое-то общение наметилось
   Flyd-s
 
68 - 14.11.19 - 12:02
(64), я читаю примеры и не понимаю почему всюду в фузине используются однобуквенные переменные? Причем даже не только в примерах, но и в гитхабе тоже самое. Это ведь убивает читаемость
   _DAle_
 
69 - 14.11.19 - 12:08
(68) Тут я соглашусь. Однобуквенные переменные кроме редких идиоматических случаев - зло.
   ГНиколаев
 
70 - 14.11.19 - 12:10
(68) Да, этот птичий язык то-же существенно порог входа в фузину повышает.
   ГНиколаев
 
71 - 14.11.19 - 12:11
(67) Я, кстати, не удивлюсь, что Краш и  _DAle_ - один и тот-же человек :)) Краш же думает, что он тут троллит всех :))
   _DAle_
 
72 - 14.11.19 - 12:11
(66) >чем все это по сути отличается от текста запроса

Тем, что написав "EXPORT name(Supplier s), contactInfo(s) WHERE s IS Supplier" меня вообще не интересует левое там соединение или не левое, в одной они таблице лежат или в разных.
   _DAle_
 
73 - 14.11.19 - 12:12
(71) Вы всегда можете погуглить и все узнать ) Это будет не сильно сложно.
   ГНиколаев
 
74 - 14.11.19 - 12:13
(72) О, а если контактная информация будет в XML, как ваш код изменится?
   Bro
 
75 - 14.11.19 - 12:14
(66) name и contactinfo поля. Условий соединения нет, компилятор их сам выводит из логического условия запроса. И вообще сам все join'ы, таблицы и т.п. генерит.
(68) Это потому что как правило они локализованы в одном объявлении, то есть одной / двух строках. Плюс IDE подсвечивает обновление использования, а там сразу класс перед глазами. Но тут дело вкуса. Хотя мне например нравятся.
   ГНиколаев
 
76 - 14.11.19 - 12:15
(73) Ну ладно, не обижайтесь на такое нелестное сравнение, этож ветка для троллинга, как Краш пишет :))
   Михаил Иванович
 
77 - 14.11.19 - 12:33
(73) да, кому ты нужен
   Flyd-s
 
78 - 14.11.19 - 12:47
(75), не увидел в примере преимуществ перед запросом вида

Выбрать КонтактнаяИнформация.Ссылка.Имя Как  Имя, КонтактнаяИнформация.Адрес Как Адрес Из Справочник.Контрагенты.КонтактнаяИнформация Как КонтактнаяИнформация

Даже наоборот читаемость убилась в фузине
   Bro
 
79 - 14.11.19 - 12:51
(78) Вы не поняли там contactInfo в другой таблице лежит (например в регистре).

Хотя лучше с остатком сравнить:
EXPORT name(Sku s), currentBalance(s, stockByID(10)) WHERE currentBalance(s, stockByID(10))
EXPORT name(Sku s), currentBalance(s, stockByID(10)) WHERE s IS Sku
Первую еще можно так записать
EXPORT name(Sku s), b WHERE b = currentBalance(s, stockByID(10));
   Ник080808
 
80 - 14.11.19 - 12:55
(79) так и тут в другом регистре, просто ты берешь ссылку контрагента из регистра)
   AntiBuh
 
81 - 14.11.19 - 13:17
(80) ниправда, низя так в 1с это ж не фузина
   Bro
 
82 - 14.11.19 - 13:25
(80) ну вот тут вам и понадобится левое или внутреннее соединение. А я показывал почему это не надо в фузине.
   K1RSAN
 
83 - 14.11.19 - 13:28
(82) И как он свяжет данные по умолчанию? Будет полное, левое или внутреннее?
   Flyd-s
 
84 - 14.11.19 - 13:29
(82), в моем примере не понадобится
   ГНиколаев
 
85 - 14.11.19 - 13:29
(82) Один раз понадобится. А потом будет вызов ровно одной строки, как и у вас. То есть ваше "преимущество" только в том случае, если каждый раз писать это всё с нуля.
   Flyd-s
 
86 - 14.11.19 - 13:29
(79), опять таки не вижу чем остатки удобнее чем запрос к регистру остатков
   Ник080808
 
87 - 14.11.19 - 13:34
(82) а вот не понадобится)
   Bro
 
88 - 14.11.19 - 13:49
(83) Из логики условия. Если из него понятно что остаток не NULL, то будет внутреннее. Иначе левое.
(84) (87) А если в регистре с контактной информацией не все контрагенты, а вам нужно все контрагенты, даже без контактной информации. Как вы без левого соединения обойдетесь?
   K1RSAN
 
89 - 14.11.19 - 13:54
(88) А если поменять местами name(Supplier s), contactInfo(s), то первичным станет контакт и соединение будет левым или внутренним для него?
Тогда выходит, что ваши слова о том, что не надо задумываться над соединением - не совсем правда? Ведь даже порядок элементов в запросе влияет на итоговый результат
   Ник080808
 
90 - 14.11.19 - 13:55
(88) так это уже другая задача. там да, левое соединение, но можно написать процедуру, которая будет делать тоже самое что и фузина -сама преобразовывать. Собственно в типовых такие процедуры и есть, в которых ты просто передаешь ссылки и получаешь таблицы на выходе с полными данными
   Flyd-s
 
91 - 14.11.19 - 14:01
(88), если нужно список всех контрагентов и их контактную информацию, то да, будет соединение, но код всё равно будет более читаемый и понятный
   Пузан
 
92 - 14.11.19 - 14:11
(78) А если написать как в фузине и опустить необязательные алиасы, то получится одинаково:Выбрать k.Ссылка.Имя КАК n, k.Адрес Как a Из Справочник.Контрагенты.КонтактнаяИнформация Как k
   Пузан
 
93 - 14.11.19 - 14:15
+ (92). А если на этапе разработки давать однобуквенные имена метаданным, то получится еще короче:
ВЫБРАТЬ k.Ссылка.n, k.a ИЗ Справочник.k.i
И пусть другие потом разбираются че эти одинокие буквы означают. :)
   Пузан
 
94 - 14.11.19 - 14:17
Ой то есть еще короче: ВЫБРАТЬ Ссылка.n, a ИЗ Справочник.k.i
   Пузан
 
95 - 14.11.19 - 14:18
Т.е. всякую керату и на 1С писать можно, а вот можно ли на фузине писать читабельный код - большой вопрос.
   Bro
 
96 - 14.11.19 - 14:26
(89) Нет, не изменится, все от WHERE зависит. WHERE NOT currentBalance(sku, stock) > 5 даст левое соединение, а currentBalance(sku,stock) > 5 внутреннее.
(91) Вы сначала напишите, а потом сравним. Не понимаю как ЛЕВОЕ СОЕДИНЕНИЕ может быть более читаемым и понятным, так как это уже реляционная логика, и выносящая мозг по определению. Скажем если в ЛЕВОМ СОЕДИНЕНИИ условие если не написать легко понять что получится?
(95) Мы вообще типы соединений обсуждаем если вы не поняли, а не сам выбор.
   Пузан
 
97 - 14.11.19 - 14:30
(96) Ты не поверишь, но "k.Ссылка.n" - это левое соединение. Круто, да? :)
   Пузан
 
98 - 14.11.19 - 14:32
+ (97) Т.е. при такой конструкции 1С сформирует запрос с левым соединением к соответствующей таблице. Он оно че, Михалыч!
   Flyd-s
 
99 - 14.11.19 - 14:32
(96), ВЫБРАТЬ
    КонтрагентыКонтактнаяИнформация.Представление КАК КонтактнаяИнформация,
    Контрагенты.Ссылка КАК Контрагент
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
        ПО КонтрагентыКонтактнаяИнформация.Ссылка = Контрагенты.Ссылка

Я не понимаю что здесь в запросе может быть непонятно для любого человека прочитавшего основы SQL?

Либо без явнях соединений:

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    Контрагенты.КонтактнаяИнформация.(
        Представление КАК КонтИнформация
        ) КАК КонтактнаяИнформация
    ИЗ
Справочник.Контрагенты КАК Контрагенты
   Bro
 
100 - 14.11.19 - 14:38
(99) [Я не понимаю что здесь в запросе может быть непонятно для любого человека прочитавшего основы SQL?]
Так в этом и смысл, что не прочитавшего основы SQL.

И что-то вторую форму я совсем не понял. А что такое Представление? И почему обращение идет Справочник.Контрагенты.КонтактнаяИнформация, если КонтактнаяИнформация это регистр? Она сама умеет связывать? Но тогда по какому измерению? А если их там несколько и несколько именно контрагентов.
  1  2  3  4  5  6  7  8  9  10  11   

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