fixin (fixin) wrote,
fixin
fixin

В чем сила 1С, брат?

1С известна как система бухгалтерского учета. Но я называю плафторму 1С самой классной системой для RAD.

В чем же её преимущество перед обычной разработкой приложений с базой данных на C#, PHP и других языках и IDE?

Я писал реальные приложения с базами данных на PHP и JAVA, поэтому знаю, с  чем сравниваю 1С.

Итак.

Простота обновления баз данных.

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

Теоретически, для обычной SQL-базы тоже можно написать автоматический скрипт, который будет смотреть, какая должна быть структура базы данных и подгонять под него текущую базу. Он даже не очень сложный.  Но его нет и надо писать.

Метаданные имеют стандартную реализацию в 1С. К ним можно обращаться, анализировать и использовать в логике приложения.

Простой язык программирования Basic

Программирование в 1С простое. Там нет ООП, есть только системные объекты с их методами и свойствами.

Больше всего программирование в 1С похоже на программирование в Visual Basic 6.0.

Разумеется, автоматическая сборка мусора и удаление ненужных объектов.

Язык баз данных SQL

Все сущности в 1С (справочники, документы, регистры) несложно декомпозируются на плоские таблицы.  Для отчетов и запросов к базе используется SQL-подобный синтаксис, что очень удобно, т.к. SQL –язык межгалактического общения программистов баз данных. Все 1С-ники знают и применяют на практике JOIN и UNION.

Простая реализация форм

Когда я пробовал писать приложение на JAVA, то для каждой формы создавался объект нового типа, наследующий от базовой формы. И весь этот мусорный код, нужный только для реализации, был виден в IDE, хотя и прятался.

В 1С формы пишутся так же как на Visual Basic – в конструкторе рисуется форма, добавляются элементы, описываются процедуры реакции на события формы и элементов. Элементы можно добавлять и run-time, динамически, при работе формы.

Никакого ООП, которое только усложняет разработку форм.

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

Простые коллекции

Для того, чтобы обработать объекты из базы данных в памяти, существуют достаточно простые коллекции, хранимые в оперативной памяти. Это позволяет, не обращаясь к базе данных, выполнить обработку данных в памяти, не создавая временных таблиц и курсоров.

Причем эти коллекции также можно отображать на формах.

Простое моделирование предметной области

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

Это справочники, как описание некоторых сущностей. Документы, как описание некоторых событий в системе. Регистры, как инструмент для учета количества в разрезе различных измерений.

Такого небольшого набора, тем не менее, достаточно, чтобы формализовать всё что угодно.

Стандартизация

В силу ограниченности выразительных средств и ООП программисты используют штатные, понятные механизмы, в результате чего код одного программиста понятен другому и не может быть случаев, когда проект умирает, когда передается в руки другому программисту из-за сложности внутренней реализации проекта.

Недостатки

Увы, на 1С нельзя создать EXE-файл, поэтому ваше приложение будет работать только на дорогой платформе за 300$. Есть вариант отправить приложение в магазин 1С, для пользователя там цены начинаются от 15$, но чтобы 1с приняло разработку,  нужно соблюсти много формальностей, хотя они и не непреодолимы.

Код 1С применяется для баз данных, поэтому на нем нельзя писать критичные real-time процедуры, кроме того есть ограничения и по потоку обрабатываемых данных. Т.е. если база данных очень мощная и быстрая, 1С не справится без привлечения посторонних инструментов.

В общем, разработчики систем для RAD должны проанализировать положительный опыт 1С и задействовать реализованные в ней механизмы, которые упрощают жизнь разработчиков и делают разработку более простой.

Холивары

Ну и немножко по теме холиваров. Некоторые личности любят утверждать, что программирование на 1С простое, сродни написанию скриптов. Увы, вынужден Вас разочаровать.

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

Не говоря уже о том, чтобы что-то программировать. А сам процесс программирования не сильно отличается от труда программиста баз данных любой другой системы. А эта отрасль требует внимательности, тщательности, аккуратности. Поэтому программист 1С – такой же программист, как и любой другой программист, работающий со сложными базами данных.

Да, вначале развития платформы 1С её базы были простыми, язык проще, вхождение быстрым. Сейчас всё поменялось и без курсов начать эффективно работать с 1С не получится. Слишком много надо знать.

Tags:
Subscribe

Posts from This Journal “1С” Tag

  • Коварный ввод на основании в УФ

    На основании документа Х можно вводить два документа А и Б. Но конкретный вид документа зависит от содержимого документа Х (вида операции). Решили…

  • Правило назначения ролей – не запрещать!

    Есть одно правило назначения ролей пользователей, которое выработано эмпирически и скорее обосновано чутьём. Нельзя делать запреты пользователям с…

  • Гуру-тест 1С: обмануть при записи

    Итак, задачка. Нужно, чтобы при записи новая версия объекта не поместилась в базу данных, но при этом не была сгенерирована ошибка или отказ. Случай…

  • Долгострои 1С

    Если вы хотите узнать, почему программисты 1С любят платформу 1С и местами ненавидят разработчиков этой платформы, то сейчас я Вам расскажу. Уже 10…

  • Ловкость рук и обработка результата запроса

    Как то я пообещал заказчику, что обработаю определенный список документов, но забыл, что эти документы были в базе с управляемыми формами. Как быть?…

  • 1С и искусственные серверные барьеры

    Заметил, что в управляемых формах 1С принуждает программистов к плохой архитектуре решений. Вкратце упомяну, что теперь большинство внешних…

  • Особенности белорусского Налогоплательщика

    Взял подработку у одного знакомого чувака из Беларуси. Платил мало (я то беру 1500 в час, а там по 800), но знакомый хороший, грех было отказывать,…

  • 1С отрицает очевидное

    Работаю с флагманом 1С, конфигурацией ERP. Вижу, что 1С прошило всю конфигурацию обращениями к модулям, где разработчик, внедряющий 1С может…

  • Как обмануть макет 1с?

    В 1С можно менять макеты в режиме 1с Предприятия. Но 1с-овцы не подумали, что пользователи не захотят видеть некоторые поля. Если просто удалить…

promo fixin декабрь 28, 2020 16:57 1398
Buy for 30 tokens
Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект " Секс за Ваши". Если вы хотите написать пост обо мне или почитать, что пишут…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 93 comments