Имя: Пароль:
IT
 
Видео: как на Java написать простейший справочник всего за 45 минут
0 Конструктор1С
 
10.02.20
08:41
Автор видео, достаёт передовые спринги-хибернейты, и менее чем за час ваяет на Java простейший справочник с формочкой!

https://www.youtube.com/watch?v=e7swABdqOS4

Это вам не на 1с ерундой страдать, тут всё серьёзно, с использованием ОПП
69 timurhv
 
10.02.20
11:35
(20) (51) Ну вот подключите за 2 минуты новый справочник ко всем подсистемам БСП.
70 fisher
 
10.02.20
11:37
(68) Спасибо, добрый человек. Я чего-то навскидку решил, что десктоп.
71 Dmitry1c
 
10.02.20
11:38
(0) зато не надо платить за лицензии

в некоторых случаях может быть оправдано
72 trdm
 
10.02.20
11:40
(68) > В двух слован там "на web"

Имхо эта фигня ваше должна генерироваться из какого-то конструктора.
Есть же пейджеры, жквери и прочая фигня. операции редактирования БД практически типовые.
73 Dmitry1c
 
10.02.20
11:41
(0) ответь на вопрос, сколько потребуется разбираться, почему после очередного обновления ERP в актах сверки выводится некорректная информация?

Всего 45 минут? А может, 4,5 часа?
74 Конструктор1С
 
10.02.20
11:51
(73) зависит от специалиста, от несколбких минут до несколбких дней. Встречный вопрос, сколько придется разбираться в таком же механизме, написанном на Java?
75 d4rkmesa
 
10.02.20
11:54
Капец, читаю ветку и понимаю, что скоро Миста будет форумом по java.
76 Волшебник
 
модератор
10.02.20
11:54
(0) Что такое ОПП?
77 Конструктор1С
 
10.02.20
11:55
(71) затраты на разработку сжирают всю экономию на лицензиях только в путь. Месячная оплата тру-прогера примерно равна лицензиям на 25-30 рабочих мест. За год один прогер проест лицензий 1с, что хватило бы на автоматизацию среднего предприятия
78 Конструктор1С
 
10.02.20
11:56
(76) очепятка, конечно ООП
79 goodprog
 
10.02.20
11:57
(69) За 2 минуты невозможно
80 goodprog
 
10.02.20
11:59
Как я понимаю пора вызывать PR и устраивать очередную зарубу.
81 Garykom
 
гуру
10.02.20
12:01
(74) На Java скорее всего в случае подобного вопроса не выйдет разобраться в проблеме и придется ее фиксить костылями.
Например полным переписыванием отчета акта-сверки или еще как
82 080808Ник
 
10.02.20
12:09
(73) сколько понадобится времени что бы разобраться в обновлениях в которых переписали базовые классы ?)
83 Гобсек
 
10.02.20
12:21
Я когда-то в 1990-х сделал для себя на Clipper процедуру справочника в 2-4 колонки с кучей параметров и вызовом в одну строку. Процедура поддерживала поиск, выбор, сортировку по указанной колонке, редактирование и печать. Маленьких простых справочников было много и процедура пригодилась.
А в 1С начиная с версии 7.7 сделано примерно такое, но гораздо более функционально и удобно. Достоинство 1С в том, что подобного рода код очень легко поддерживать.
84 Волшебник
 
модератор
10.02.20
12:23
(78) В Java неполноценное ООП. Например, там нет множественного наследования.
85 Конструктор1С
 
10.02.20
12:24
Слышал истории, что такое энтерпрайз на Java. Представьте себе банковскую систему, которую писали лет 20 сотни программистов. Десятки миллионов строк кода на Java, жуткое legacy. Кто только через эту систему не прошел: и психически нездоровые клерки протолкнули туда свои больные видения автоматизации, и блатные детишки клерков получали там первый опыт программирования, и рукожопые прогеры прикручивали туда костыли... В этом страшном монстре over дофига дублирующегося функционала, спокойно могут уживаться по несколько фреймворком аналогичного назначения, внедрённые в разное время разными людьми, не говоря о дублирующихся методах/классах. Нет ни одного живого человека, который смог бы перечислить все существующие подсистемы. Люди, которые заказывали и которые писали такой-то функционал уже давно поувольнялись. Документации нифига нет, либо она устаревшая. И ещё много ужасов

Это вам не типовая конфигурация от 1с, написанная квалифицированными программистами, под чутким присмотром опытных методистов, непрерывно поддерживаемая и хорошо задокументированная. В энтерпрайзном дермище ковыряться намного сложнее
86 goodprog
 
10.02.20
12:25
(82) где то была прибаутка про цены изменений в учетной системы макдака, там речь шла о миллионах долларов на новый отчет
87 d4rkmesa
 
10.02.20
12:27
(85) Это не про Сбербанк, часом?
88 Гобсек
 
10.02.20
12:29
(85) для внутренней автоматизации 1С как инструмент имеет преимущество в том, что создает более простой код и меньший по объему.
89 Конструктор1С
 
10.02.20
12:30
(87) вроде бы там было про какой-то иностранный банк. Хотя, вряд ли технологии сбера развивались как-то иначе. СберТех сейчас более 5 тысяч человек
90 Sserj
 
10.02.20
12:33
(84) Ну чисто технически оно там уже есть, после того как разрешили делать методы по умолчанию для интерфейсов то получилось вполне себе множественное наследование.
91 dmpl
 
10.02.20
12:39
(85) Ага, причем поломать это может что угодно, начиная с региональных настроек на одном из компов.

(87) Это про любую доморощенную систему.
92 080808Ник
 
10.02.20
12:40
(85) справделивости ради, на 1с если писать с нуля какую нибудь сампописную систему, то может получится такая же фигня)
93 Vovan1975
 
10.02.20
12:42
(92) это если ее будут писать "тру-программисты", сиреч тупые зашоренные кодерочки.
94 DrLekter
 
10.02.20
12:44
(76) Очень Простое Программирование? ))) Интересно, какие языки его поддерживают ...
95 brodov
 
10.02.20
12:47
Подскажите, как на этом сайте https://teletrade.com.ua в правый блок можно добавить выскакивающее окно с предложением открыть счет?
96 MyNick
 
10.02.20
12:54
(0) на пыхе с использованием того же ларавел это также делается за 5-10 минут
97 Vovan1975
 
10.02.20
13:05
(96) не упоминайте имя диавола!
98 Конструктор1С
 
10.02.20
13:09
(92) легко может получиться. Но только в 1с монстроузные самописки скорее исключение, а на java монстроузные самописки скорее правило
99 Garikk
 
10.02.20
13:17
(87) это любой банк так
100 eTmy
 
10.02.20
13:20
(98) А вы посмотрите любую самописную конфигурацию на 1с... В них всех очень много ужаса... и тут дело даже не в том, какой язык используется...
Зачем сравнивать работу на готовой типовой конфигурации с этим)
101 pechkin
 
10.02.20
13:24
так на жаве тоже можно смотреть код фреймворков и восхищаться красотой
102 Конструктор1С
 
10.02.20
13:25
(100) этот ужас хотя бы не монстроузный, в нём ещё как-то можно разобраться и как-то совладать
103 pechkin
 
10.02.20
13:26
(102) зато на жаве хотя бы тесты пишут. сломать все сложнее гораздо
104 Конструктор1С
 
10.02.20
13:31
(103) сломать легче, но благодаря тестам легче найти место поломки
105 eTmy
 
10.02.20
13:35
(102) Тут не соглашусь... точно также в таких фирмах сомнительные программисты, не задумываясь делают сомнительные задачи менеджеров... Придумывают странные механизмы, а потом когда нужно это все будет обрастить мясом через пару лет, наступает огромная жёпа. Программисты уже другие, и начинаются костыли... так что это не столько проблема языка, сколько в целом адекватной разработки нового решения
106 Конструктор1С
 
10.02.20
13:46
(105) так никто не говорит, что это проблема Java. Все системы имеют свойство деградировать по мере роста сложности. Вон, майкрософт ядро винды фиг знает сколько раз переписывала, плюс куски периодически переписывает. У Java даже оказался бОльший запас прочности, чем у других ЯП, что позволило существовать монстроузным энтерпрайзам. Речь про то, что на Java уродливые монстры, писавшееся годами, это обыденность и повседневность. В таком приходится копаться многим джавистам. А вовсе не заниматься уютным программированием под чашечку кофе, как это расписывают продавцы многочисленных книг и курсов
107 Надо работать
 
10.02.20
13:56
(0) Норм, в Аксапте например для вывода печатной формы (в Эксель, по другому не умеют) нужно переопределить порядка десятка классов
108 Горностаев
 
10.02.20
14:20
(0)спасибо за интересную ссылку.

Вот что мне нравится в Java так это то что по ней очень много материала. Учись - не хочу.
109 080808Ник
 
10.02.20
14:21
(103) (104) вот мне непонятно на счет тестов. а почему есть уверенность что тесты правильные?
110 jbond
 
10.02.20
14:34
Новый тренд: валить на сейлсфорсы! зарплата от 70К!
111 Горностаев
 
10.02.20
14:51
(110)интересная штука. только 70к это же ниже чем у 1с-ников.
и непонятно почему они выбрали не Java а его клон?
112 jbond
 
10.02.20
15:01
(111) - долларов в год
113 jbond
 
10.02.20
15:04
Стартовая зарплата сейслфорсера на западе 70 (прописью - семьдесят) тысяч долларов в год до налогов
114 jbond
 
10.02.20
15:05
>и непонятно почему они выбрали не Java а его клон?

чтобы туда никто не шел. И не ронял планку зарплат
115 polosov
 
10.02.20
15:12
(110) Это фузина здорового человека чтоль?
116 APXi
 
10.02.20
15:13
(103) Не везде пишут. В 1С тоже пишут.
117 Garykom
 
гуру
10.02.20
15:15
(110) (113) Эээто же американская 1С БП/ERP же.
118 jbond
 
10.02.20
15:16
(115) - да, здорового, богатого и немного побитого самим сейлсфорсом
119 dumb851
 
10.02.20
15:16
не понял, что не так?
java это другой уровень абстракции.
Мог бы импортировать готовую библиотеку за 30 сек и что тогда?
120 Garykom
 
гуру
10.02.20
15:18
(118) Хорошая идея разрешить 1С только в облаке и 1Сников туда к конфигуратору пускать только по личному УКЭП который только после сдачи экзаменов.

Зарплаты взлетят или точнее расслоятся моментально.
121 jbond
 
10.02.20
15:31
(0) Что такое ОПП?
122 eTmy
 
10.02.20
15:35
(121) Объект половых притяжений
123 Йохохо
 
10.02.20
15:40
(120) кто то форкнет 8.3.10
124 Гобсек
 
10.02.20
15:46
(120) Некоторым заказчикам нужны очень простые решения, которые легко наваяет студент.
А вот если усложнят допуск на изменение непосредственно типовых конфигураций, то это будет оправданно. Когда доведут до ума и обкатают как следует расширения и в 95% случаев доработка будет делаться через них.
125 dimiurggig
 
10.02.20
15:58
(84) << В Java неполноценное ООП. Например, там нет множественного наследования.

А зачем нужно множественное наследование когда можно унаследоваться от нескольких интерфейсов?!

В С# тоже запрещено множественное наследование и между тем на сегодняшний день это самый правильный ОО язык программирования.
126 dimiurggig
 
10.02.20
16:06
(0) Автор темы, а тебя не смутило что пример на джаве, над которым ты смеешься, реализует работу с базой данных по http протоколу, то есть без поддержки состояния? Это совсем - совсем другая тема чем создание формы справочника.
127 pechkin
 
10.02.20
16:08
(126) а что за поддержка состояния на уровне БД?
128 dimiurggig
 
10.02.20
16:09
(127) В смысле? Причем здесь БД? В http протоколе не сохраняется состояние клиента между запросами клиент - сервер.
129 pechkin
 
10.02.20
16:11
(128) ну так серевер 1с тоже стейтлесс
130 dimiurggig
 
10.02.20
16:14
(129) А вот и нет. Фирма 1С при создании тонкого клиента воодушевилась идеями, которые впервые применила MS в технологии ASP.NET WebForms. Они решили сохранять состояние через ViewState. Именно так и делает 1С когда вызывает серверную функцию с контекстом.
131 pechkin
 
10.02.20
16:17
ну формы имеют состояние. но так ли оно нужно? или это костыль?
132 Garykom
 
гуру
10.02.20
16:21
(124) Предлагаю этим некоторым испльзовать фузину или джаву ну или вот Salesforce
133 Конструктор1С
 
10.02.20
16:22
(119) вот он и импортировал готовые... весьма популярные спринг, томкэт и хибернейт. Не на голой же Java он писал
134 dimiurggig
 
10.02.20
16:22
(131) если у вас тонкий клиент, то либо упаковывать данные формы и гнать их на сервер, либо работать с куками. 1Сники готовы работать с куками? ))))
135 080808Ник
 
10.02.20
16:25
(134) может вебклиент? какие куки в тонком клиенте локально?
136 Конструктор1С
 
10.02.20
16:28
(126) ну да, это более уныло и ненадежно. Чтобы не допустить рассинхронизации данных, придётся ещё на пару часов видео кодинга делать
137 pechkin
 
10.02.20
16:28
(134) вопрос в том что все данные не нужно гонять туда сюда
138 dimiurggig
 
10.02.20
16:32
(135) Без разницы. web клиент, тонкий клиент - 1С гоняет данные формы с клиента на сервер и обратно. Это плата за то, чтобы сохранялось состояние. Такое решение хорошо работает в локальной 100 мегабитной сети. Зачем вообще оно нужно было, это непонятно. Все равно с таким подходом в настоящий интернет на выйдешь. Майкрософт попробовала это сделать со своим viewstate - ом, обожглась, и всю свою web технологию переделала на asp.net mvc без viewstate. Так что все эти тонкие клиенты внутри локальной сети не знаю зачем сдались? оставили бы толстый клиент, он гораздо удобнее в работе.
139 dimiurggig
 
10.02.20
16:35
(136) Да, приходится, то так создаются web приложения. Других технологий нет. Причем здесь 1С и быстрота создания справочников в ней?
140 Конструктор1С
 
10.02.20
16:38
(139) притом, что в 1с многие полезности платформа берёт на себя
141 dimiurggig
 
10.02.20
16:46
(140) С этим никто не спорит, если нужно создать приложение для локальной сети, то лучше выбрать 1С, причем не только для бухгалтерских задач. Но для web есть только Java и ASP.NET Core. Это разные вселенные, сравнивать их просто глупо.
142 dimiurggig
 
10.02.20
16:46
141+ Имеется в виду сравнивать с 1С
143 pechkin
 
10.02.20
16:47
(141) а как же пхп, питон, жс ?
144 ДенисЧ
 
10.02.20
16:49
(141) "для web есть только Java и ASP.NET Core"
Это кто такую чушню сказал?
145 dimiurggig
 
10.02.20
17:16
(144) Вам я разрешаю использовать php для написания серверного кода, или даже С.
146 pechkin
 
10.02.20
17:19
(145) баду например на пхп пишут
147 dimiurggig
 
10.02.20
17:30
(146) После того как MS представила Razor Pages писать серверный код на чем - то другом - это знатное извращение. Вы по доброй воле готовы отказаться от C# и связанного с ним фреймворка, LinqToXML, например?! Попробуйте технологию Linq, и вас будет просто ломать от деревянности и корявости всего другого.
148 Garykom
 
гуру
10.02.20
17:38
(147) Насчет Linq так это банальный https://ru.wikipedia.org/wiki/ORM который как раз широко используется в 1С.
И давным давно использовался в Java.

А всяческие Razor Pages так нынче есть дохрена фреймворков на JS которые из коробки реализуют данный функционал сохранения данных в сессии.
149 dimiurggig
 
10.02.20
18:19
(148) ORM - это object relational mapping, в .net это Entyti Framework, который лично я совсем не использую, предпочитаю оставаться на уровне ado.net. Но говорить что 1С - это ORM просто смешно хотя бы потому что в 1С нет ООП, и значит просто нет экземпляров классов, которые можно маппить на реляционные структуры.

А Linq гораздо обширнее, чем просто отображение данных на реляционные структуры. Он объединяет все наборы данных единой нитью, позволяя легко перекачивать их из одного вида в другой. Вот только вчера я написал такой код для корректировки xml файлов. Суть его проста, надо вставить атрибут СумНДС после атрибута НалСт. Могу представить сколько придется помудохаться с этой задачей на Java или 1с.

                    
                    XElement root = XElement.Load(fileEntries[0]);
                    IEnumerable<XElement> работа =
                            from el in root.Descendants("Работа")
                            select el;
                    foreach (XElement el in работа)
                    {
                        IEnumerable<XAttribute> attList =
                            from at in el.Attributes()
                            select at;

                        List<XAttribute> atr = attList.ToList();
                        el.RemoveAttributes();

                        foreach (XAttribute at in atr)
                        {
                            el.SetAttributeValue(at.Name, at.Value);
                            if (at.Name == "НалСт")
                            {
                                el.SetAttributeValue("СумНДС", "0.00");
                            }
                        }
                    }
150 pechkin
 
10.02.20
18:20
(149) как это нет? а как же ДокументОбъект?
151 pechkin
 
10.02.20
18:22
(149) узел добавить через ДокументDOM совсем не сложно
152 dimiurggig
 
10.02.20
18:23
(150) ДокументОбъект на самом деле является структурой, а не объектом
153 pechkin
 
10.02.20
18:23
(152) а методы откуда тогда у него?
154 Сияющий в темноте
 
10.02.20
18:41
(149) текстовый парсер и regexp сьедают эту проблему бещ вопросов.
155 Garykom
 
гуру
10.02.20
18:49
(149)
156 Garykom
 
гуру
10.02.20
18:56
(149)

node := xmldom.Must(xmldom.ParseXML(fileEntries[0])).Root
children := node.GetChildren("Работа")
for _, c := range children {
   attr := c.GetAttribute("НалСт")
   if attr != nil {
      c.SetAttributeValue("СумНДС", "0.00")
   }
}
157 080808Ник
 
10.02.20
18:59
(149) "Но говорить что 1С - это ORM просто смешно хотя бы потому что в 1С нет ООП, и значит просто нет экземпляров классов, которые можно маппить на реляционные структуры." а потом такие товарищи пишут в цикле Если Выборка.ССылка.ДокументОснование.Склад.ВидСклада = ВидыСкладов.Оптовый ТОгда)))
158 080808Ник
 
10.02.20
19:00
(149) "Могу представить сколько придется помудохаться с этой задачей на Java или 1с." фабрика хдто тебе в помощь)
159 080808Ник
 
10.02.20
19:02
(152) "ДокументОбъект на самом деле является структурой, а не объектом" а откуда "структура" берет данные, включая табличные части?
160 080808Ник
 
10.02.20
19:03
(159) + и откуда у структуры методы?)
161 ДенисЧ
 
10.02.20
19:09
(158) Ему в помощь галоперидол нужен. А не xdto
162 ДенисЧ
 
10.02.20
19:09
(160) У структуры в С++ могут быть методы ))
163 trdm
 
10.02.20
19:25
(160) методы есть. отличие от класса: кнструкторы и деструкторы не вызываются.
164 ДенисЧ
 
10.02.20
19:41
(163) Шта???

#include <iostream>

struct Test {
  Test() {
        std::cout<<"Test ctor\n";
    }
    ~Test() {
        std::cout<<"Test dctor\n";
    }
} ;

void main() {
    Test* t;
    std::cout<<"Creating\n";
    t = new Test;
    std::cout<<"Deleting\n";
    delete t;
    std::cout<<"Finish\n";
}

/out:str.exe
str.obj

D:\1>str
Creating
Test ctor
Deleting
Test dctor
Finish
165 NorthWind
 
11.02.20
08:17
(163) в плюсах struct и class это почти одно и то же. Отличия там чисто косметические.
166 ДенисЧ
 
11.02.20
08:55
(165) Ну как косметические.. Если область видимости по умолчанию считать косметикой...
167 Конструктор1С
 
11.02.20
09:35
Эх, а вот лет 10 назад одноэсники носились со стереотипами, якобы плюсы круче 1с)
168 jbond
 
11.02.20
15:30
(156)  В поцкал завезли анонимные переменные?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший