Pull to refresh

Comments 19

Не забывайте что любая операция Документ.Записать() это на SQL сервере это как минимум поиск существующего документа

Поясните пожалуйста, а почему так? Если мы записываем уже существующий документ используя Документ.Записать(), если ссылка на документ уже есть, зачем его искать?
В случае записи нового Документа, возникает такой же вопрос, документа еще нет, зачем его искать?

В 1С документ это обьект который состоит из шапки и может содержать несколько табличных частей. Эти сущности соответствуют разным таблицам sql. Внутри все ключи на guid. Вам чтобы работать с документом по человеческому номеру нужно сначала найти документ. Потом сделать .ПолучитьОбьект() это чтение. При .Записать() Когда я делал трассировку через sql profiler было видно что 1с не отслеживает изменения , а просто delete старые записи и insert новые. Без update. А предварительно делает select как понимаю для блокировки или какихто других целей. 1с это генератор запросов по структуре метаданных поэтому там упрощенные dml. Возможно в новых версиях чтото оптимизировали но суть таже.

Будет время я повторю трассировку на свежей вериии и напишу тут

Где кончается язык 1с и начинается платформа? По сути язык 1с это набор обьектов типа РегистрБухгалтерскогоУчета с предопределенными методами и свойствами. Можно создавать копии обьекта добавляя свои реквизиты и измерения . Чтото похожее на наследование. А уже отражение в субд , генерацию dml, запросов и отрисовку форм берет на себя платформа. Ни наследования ни полиморфизма ни Dependency ingection т д там врядли будет. Оно и не нужно. Напр для быстрой записи в регистр бухгалтерии 1с под капотом достаточно поменять работу с итогами, отбор по набору записей и оптимизировать генерацию dml

Ценность этого RAD в удобных метаданных просто их нужно допилить под капотом для горизонтального маштабирования.

1C не для создания комплетующих велосипедов, а для создания велосипедов из готовых комплектующих

набор обьектов типа РегистрБухгалтерскогоУчета с предопределенными методами и свойствами

Это часть фреймворка платформы, которая по сути рантайм + этот самый фреймворк.
Ценность этого RAD в удобных метаданных просто их нужно допилить под капотом для горизонтального маштабирования.

Не спорю, действительно удобный фреймворк был бы, если бы не язык который все это удобство напрочь убивает.
А насчет не нужно… Я из 1с то и ушел по большому счету потому как очень задолбался жить без всех этих фич современных языков.

А потом хочется назад в 1с потому что задалбываешься два часа текстом создавать новые сущности там, где 1с позволяет это сделать за 5 минут мышкой.

Вот ни разу за 4 года такого желания не появлялось. Тем более если говорить об ORM — то оно раскидывается так же быстро. Мучаться с невозможностью нормально выстроить абстракции, с ущербным IDE и прочим только потому что формы мышкой накидываются — нафиг не надо.

Ни секунды не мучился ни с абстракциями ни с IDE, ничего ущербного в ИДЕ 1С нет, не понимаю откуда такая оценка.

Да даже edt до ide от jetbrains недотягивает лет на 10. А уж конфигуратор по возможностям где то в начале нулевых застрял. Ну а если вам не нужно выстраивать абстракции — это скорее о вас говорит.
Можно ли все это исправить расширяя язык программирования? Конечно можно, просто цепочка изменений внутри платформы и кластера будет достаточно большой. Еще нужно внедрить соответствующий стиль программирования в массы, ведь не все читают статьи подобные этой. Пока 1С предпочитает наращивать возможности функционала типа СистемаВзаимодействия без пересмотра базовой архитектуры.

Немного циничных рассужений от старого инженера:

В этой статье, преполагается, что 1С заинтересовано в развитие языка 1С, просто не догадывается как. Или что цели 1С как компании совпадают с целями программистов, которые с ней работают.

Однако бизнес задачи 1С в чем?

1) Компании-клиенты не должны уйти на другое ПО,

2) 1С-программисты не должны уйти в другие языки программирования,

Для обоих целей, развитие языка 1С до уровня других промышленных языков (Java, С#) скорее помешает, зачем давать возможность 1С программистам легко переучится на другие языки, а клиентам заменить ПО от 1С на что-то другое на Java (а так разных ПО для бизнеса придумано немало), например? Сейчас миграция ПО очень сложна потому что переложить бизнес логику с языка 1С на Java весьма сложно и требует команды сразу из программистов 1C и Java. Зачем компании 1С облегчать этот процесс?

Тут компании 1С, скорее наоборот, с точки бизнес целей лучше сделать все чтобы программисты 1С варились в своей экосистеме и изучить что-то другое было очень сложно и больно, на уровне изучения ЯП с нуля.

Поэтому рассчитывать на то что если вы соберете дельные предложения — они будут реализованы — наивно.

"Для обоих целей, развитие языка 1С до уровня других промышленных языков (Java, С#) скорее помешает, зачем давать возможность 1С программистам легко переучится на другие языки,"

только не до уровня Java или C#

Достаточно в текущие метаданные( или кому легче воспринимать обьекты) ввести методы для горизонтального маштабирования. Да основная трудная работа будет у 1с под капотом, но зато можно будет нормально работать с обьемами.

Для прикладного программирования кирпичики должны уже представлять best practice а не поле для творчества. У тех кто пишет на java не хватает времени на создание конфетки потому что им каждый раз не только нужно собрать велосипед из комплектующих но и сделать комплектующие для велосипеда. А если какието комплектующие на java гдето есть то за ними бегать по всем китайским фабрикам а не брать со склада

Программистам, которые долго сидели в прикладном программировании будет дико смотреть как клеить приложение на Java c DI и даже Spring медом не покажется, потому что эта гибкость для других целей. Даже генераторы кода не спасут его еще напильником надо

У тех кто пишет на java не хватает времени на создание конфетки потому что им каждый раз не только нужно собрать велосипед из комплектующих но и сделать комплектующие для велосипеда

Неужели вы думаете идея сделать платформу аля 1С или SAP так уникальна, что ничего подобного нигде нет? На Java (и других универсальных языках) хватает и велосипедов и компонентов оптом и в розницу.
Например, я работал в NetCracker, который продавал систему для автоматизации бизнес процессов половины мирового телекома. Там сложность на порядки брльшая чем в 1С платформе. И таких платформ море.
У 1С главное преимущество — подержка актуальной бух.документации, которая подсадила большинство клиеюентов, а дальше если уж все равно куплена 1С и наняты 1С программисты почему бы не использовать для чего-то еще.

""У 1С главное преимущество — подержка актуальной бух.документации, которая подсадила большинство клиеюентов"

Заметьте это ГОТОВОЕ решение, которое можно кастомизировать. У sap нет кастомизируемых ГОТОВЫХ решений только кубики типа SPRO и addon либо копия украденная на другом проекте которое нужно кастомизировать. Любой модуль типа fi co нужно сначала готовить через spro и подобное

Назовите ГОТОВОЕ решение из фин бэк фронт учета которое можно кастомизировать программированием на java или c# . Я обязательно посмотрю

Назовите ГОТОВОЕ решение из фин бэк фронт учета которое можно кастомизировать программированием на java или c# .

То о чем вы говорите это целая отрасль, называется ERP системы. Только известных мировых игроков или крупных open-source проектов там сотни.

Например, open-source на Java: Adaxa Suite, Adempiere/Compiere, Apache OFBiz, HeliumV, iDempiere, metasfresh.

Из известных платных — Microsoft Dynamics, Oracle ERP Cloud и т.д.

image

P.S. Неужели вы думаете, что идея «давайте дадим бизнесу готовую платформу для финасового учета, построения бизнес процессов и т.п., которую можно допилить напильником до нужного им виде за отдельные деньги» так уникальная, что никто кроме 1С и SAP до нее не додумался и каждая крошечная компания за границей пилит все свое с нуля?

Вы не понимаете разницу между готовым решением которое можно кастомизировать , и конструкторами из которых делают решения с которыми могут работать клиенты . Гляньте просто price oracle там в модуле financial нет даже деления по регионам типа usa eu . Значит ее будут по каждого клиента пилить https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.oracle.com/assets/applications-price-list-070574.pdf&ved=2ahUKEwipurSN-9X4AhXHxIsKHfdCCl8QFnoECBEQAQ&usg=AOvVaw13EYvsd3-XppQdId6udHwG

Гляньте просто price oracle там в модуле financial нет даже деления по регионам типа usa eu. Значит ее будут по каждого клиента пилить

Так на лицензии базы данных Oracle тоже нет деления, вы думаете базу данных тоже под каждого клиента будут пилить? Все проще, Oracl'у проще всем выкатить одинаковые офигенно большие цены, а те кто не смогут себе такое позволить просто пойдут лесом за более дешевыми решениями.

Значит ее будут по каждого клиента пилить

Боюсь оплатить труд инженеров Oracle по пиление под каждого клиента сможет оплатить совсем не каждый бизнес, а у них по разным оценках от 5 до 15% мирового рынка ERP систем.

Ну вот возьмем Microsoft Dynamics 365 . Что это по вашему?

Microsoft Dynamics 365 – это единая модульная платформа для бизнес-приложений, объединяющая разрозненные данные и возможности CRM и ERP со средствами коллективной работы Office, бизнес-аналитикой Power BI и облачными сервисами Azure.

Подключаемые по надобности современные, интеллектуальные приложения (в том числе – облачные) помогают компаниям любого масштаба (от 10 до нескольких тысяч сотрудников) эффективно развивать свой бизнес.


Используйте модульные готовые приложения
Легко подключайте приложения Dynamics 365 к уже используемым системам и средствам, чтобы добавлять и расширять их возможности.

Вы с чем на практике из перечисленого работали? Я напр sap внедрял знаю . 1с знаю . Попробуйте в demo microsoft dynamics зайти ;) . Вы же java не будете выбирать по рекламным материалам маркетологов

Минусов в 1С столько, что многие уходят.

Про ограничение регламентных заданий, это просто круто. Например, у нас 50 лицензий, и иногда фоновые задания отжирают сразу 10 лицензий. (А SQL лицензии не по копеечке). Больше пяти лет, как появились какие-то настройки кластера, но лицензии проф тоже не дешёвые.

С производительностью 1С проблемы годами. Некоторые используют 7-ку, потому что она быстрее. Например, 1С-Документоооборот, лет 15 обещают сделать быстрым, и вот уже, почти...

Да и без производительности, та же техподдержка 1С, иногда отвечает пол года, и потом столько же исправляют свой баг. Основная задача, ведения учёта, в той же ERP страдает. Делать «big data» на 1С, выстрел себе в хвост. При каком-нибудь обновлении платформы/размере базы, всё полетит.

С производительностью 1С проблемы годами. Некоторые используют 7-ку, потому что она быстрее.

Жаль их , семерка никогда не потянет объем данных больше чем 1С 8.х с использованием типовых средств

Sign up to leave a comment.

Articles