Ответить на комментарий

Проект J1C

Проект J1C - это реализация программного API на JAVA к данным на платформе 1C:Предприятие v7.7. J1C позволяет, как прочитать данные из системы, так и изменять (создавать, удалять и изменять объекты, проводить документы и т.п.). Использование J1C возможно одновременно с 1С:Предприятием, так как J1C не нарушает работу 1С:Предприятия (используются те же механизмы работы с данными, что и само 1С:Предприятие).

С точки зрения реализации, J1C - это JAVA классы, реализующие функциональность 1C:Предприятия:

  • J1C работает с данными, так же как и само 1С:Предприятие: создает номера объектов согласно настройкам в метаданных, манипуляция с данными сопровождается по такому же алгоритму блокировок, что и у самой 1С и это позволяет корректно работать J1C одновременно с клиентами использующими 1С:Предприятие
  • Да, J1C может проводить документы. Алгоритм проведения отрабатывает особенности этого процесса: блокировка в нужной последовательности необходимых таблиц, создание по родному алгоритму внутренних идентификаторов, учитываются все особенности при проведении - изменение данных графов отбора, подчиненных документов и т.п. Так же, как и в 1С, программисту необходим только реализовать логику проведения (модуля проведения), всю же техническую работу по записи данных J1C берет на себя
  • Доступ к метаданным конфигурации, что позволяет создавать универсальный код, работающий на любой конфигурации
  • Для того, что бы программистам 1С было легче ориентироваться в API, было решено сделать классы максимально "похожими" на объекты самой платформы (справочники, документы, константы и т.д.)

Кроме того, J1C реализует дополнительный функционал:

  • прямой доступ, в нотации 1CPP, к данным
  • объекты J1C представлены тремя сущностями (аналогично 1С:8*): ссылки, объекты и менеджеры. Смысл такого разделения такой же что и в 8-ке.
  • Более полный доступ к метаданным конфигурации - теперь разработчику доступна информация, которая в самой платформе скрыта. Это касается внутренних идентификаторов, предопределенных объектов и др. Т.о. теперь доступна возможность реализовывать собственную логику работы с 1С, отличной от J1C
  • Теперь J1C можно использовать, как сервер приложения. Это можно реализовать, к примеру, через WebServices, где запускается один экземпляр сервиса обрабатывающий запросы клиентов или через rmi. В отличие от технологии доступа через OLE, J1C позволяет на одной машине (сервере) обрабатывать существенно большее количество запросов, чем через OLE, при которой можно запустить максимум 3-5 процессов 1С:Предприятия на одной машине

API работает на любой конфигурации. Для подключения J1C достаточно указать каталог базы данных. Есть возможность подключение к базе данных, как через учетную запись SQL сервера, которой пользуется 1С:Предприятие, так и подключение через настраиваемые учетные записи. Причем первый вариант подключения не требует дополнительных настроек API - J1C сама может "понять" необходимую информацию.

Зачем это нужно?
Прежде всего, нужно отметить, что не следует рассматривать J1C как альтернативный клиент 1С. Тем более, что J1C это только программное API к данным и интерфейсная часть не предусматривается (хотя такая возможность есть - объектная модель API позволяет это реализовать при необходимости).
Преимущества J1C:

  • Интеграция 1С:Предприятия 7.7 с другими системами, которые поддерживают JAVA
  • Реализация WEB доступа к данным 1С:Предприятия, без наличия издержек производительности и безопасности (как это имеет место с существующими технологиями типа WEB-расширения или com-объекта)
  • Интеграция с 1С:Предприятие 7.7. с использованием JAVA технологий, например WEB-service
  • Доступ к данным на SQL сервере напрямую, используя псевдонимы таблиц и и виртуальные таблицы в нотации 1CPP

Список можно продолжать, но понятно что имея доступ 1С:Предприятию на JAVA и работая с данными на JAVA - возможности интеграции с 1С существенно расширяются.

Кому это нужно?
Во-первых, известно, что программисты 1С занимающиеся разработкой прикладных решений рано или поздно приходят к пониманию, что функционал самой платформы 1С:Предприятия 7.7 ограничен и не позволяет решать эффективно поставленные задачи.
Во-вторых, программисты, которым посчастливилось не работать с 1С:Предприятием, но по некоторым обстоятельствам столкнувшиеся с необходимостью взаимодействия с данными 1С, имеют проблемы связанные с незнанием встроенного языка 1С, незнанием архитектуры платформы, не понимания смысла тех или иных таблиц из-за их не читаемых названий и полей или же с функциональными ограничениями доступа к данным (только посредством самой платформы в режиме com-объекта).
Проект J1C это попытка:

  • Предоставить программистам 1С возможность реализовать себя в предметной области, но на технологически более высоком уровне используя в качестве языка программирования JAVA
  • Предоставить НЕ программистам 1С понятный интерфейс взаимодействия с данными 1С, не заставляя их изучать все парадигму и особенности 1С

Ответить

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Syntax highlight code surrounded by the {syntaxhighlighter OPTIONS}...{/syntaxhighlighter} tags.

Подробнее о форматировании

CAPTCHA
Введите, что видно на картинке - для проверки что вы живой человек
Image CAPTCHA
Enter the characters shown in the image.