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с-овцы не подумали, что пользователи не захотят видеть некоторые поля. Если просто удалить…

  • Корректировка регистра на 80 документов

    Мне прислали список из 80 документов, суммы которых нужно было внести в УПП в документ корректировки записей регистров для того, чтобы закрыть…

  • Ручной способ получить список реквизитов справочников

    Была поставлена задача расписать реквизиты справочника договоров и контрагентов в двух базах, написать соответствия между ними. Для начала нужно…

  • Открытие файла с нужным именем

    Небольшой гуру-тест. При сохранении файла в базу 1С сохраняется его первоначальное имя, например «Договор ННН.PDF». Задача – при открытии файла из…

  • Перемещение по строкам документа

    Перемещение на предыдущую-следующую строку в 1С УФ. Казалось бы, реализация таких простых кнопок, как переход к предыщей/следующей строке в списке…

  • Гипер-рефакторинг силами Гения 1С

    У клиента, к которому я пришел делать доработки по бизнес-процессам на УПП, вскрылось, что архитектура изуродована множественными копипастами, на…

  • Хитрый двухуровневый кэш

    Как вам такой хитрый двухуровневый кэш? Первый уровень – ДатаПотребности, второй – Номенклатура, на третьем – массив Заказов. Искать можно без учета…

  • Косячок с областями 1С

    Мне нужно было разукрашивать ячейку в четвертой колонке строки, по определенному условию, в красный цвет. Код был такой: Область = Макет…

  • Парадокс: Читаемость кода за счет лишних прогонов

    У меня был вот такой код, где выполнялось по выбору пользователя N обработок. И в конце нужно было выдать пользователю подтверждение, какие…

promo analitic 11:32, вчера 30
Buy for 40 tokens
“Я выбираю свободу”, - сказал себе однажды московский журналист Александр Орлов, и уехал в Прагу. Именно там находится штаб-квартира известной еще со времен “Холодной войны” радиостанции, которая с тех пор превратилась в огромный медиа-холдинг с аудиторией сильно больше, чем население одной…
  • 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