J1C - Java API для 1С:Предприятие 7.7

18.09.11

Интеграция - Внешние источники данных

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

Скачать файлы

Наименование Файл Версия Размер
j1c-0.0.79.jar
.jar 2,31Mb
250
.jar 2,31Mb 250 Скачать

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

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

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

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

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

См. также

Загрузка электронных листов нетрудоспособности (ЭЛН) в ЗиК 7.7

Зарплата Внешние источники данных Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет Абонемент ($m)

Загрузка электронных листов нетрудоспособности (электронных больничных) в ЗиК 7.7 из файлов, например, из СБИС. Не нашел похожих разработок, может, плохо искал, для 1С 7.7 ЗиК.

1 стартмани

14.04.2020    8480    4    hvv2002    2    

2

JSON: Туда и Обратно

Внешние источники данных Платформа 1С v7.7 Конфигурации 1cv7 Украина Абонемент ($m)

Рабочий механизм чтения/записи строк в формате JSON для 1С 7.7. Тестировалось на релизах 7.70.25 и 27.

1 стартмани

16.12.2019    21886    59    Volvo32    33    

25

Интеграция с системой управления складом WMS Exceed-4000 (exceed-infor.ru) XML-обмен для комплексной конфигурации 1С 7.7

Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 1С:Комплексная 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

Обработки обмена номенклатурой (SKU), дополнительными штрихкодами (AltSku), приемкой (AdvancedShipNotice), подтверждением приема (ASNClosed), выдачей (ShipmentOrder), подтверждением выдачи (CustomerOrderLoaded) для учетной системы 1С 7.7. Здесь выгрузка и загрузка для 1C 7.7.

1 стартмани

21.10.2019    15419    1    ksnik    0    

2

Универсальная выгрузка данных из 1С 7.7 в JSON

Внешние источники данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Обработка для универсальной выгрузки данных из конфигурации 7.7 в JSON. Может быть полезна для задач переноса данных из различных конфигураций в другие конфигурации, для перехода на другие версии 1С, для перехода на 8.3, для переноса данных в другие системы учета, для организации онлайн выгрузки с целью синхронизации разных систем учета. Выгрузка справочников, документов, результатов запросов, остатков по планам счетов.

2 стартмани

09.10.2019    16729    71    Malice    16    

12

Обмен с SalesWorks в 1С 7.7

Внешние источники данных Оптовая торговля Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Россия Управленческий учет Абонемент ($m)

Обработка позволяет реализовать обмен данными между решением SalesWorks и 1c 7.7.

5 стартмани

16.07.2019    15906    6    vv-adm    2    

2

Выгрузка контактных данных контрагентов и формирование файла vcf. 1С 7.7

Внешние источники данных Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Обработка выгружает данные контрагентов и создает два файла: один текстовый со всеми данными, другой формата vcards.vcf для загрузки контактных данных в андроид.

1 стартмани

10.05.2019    9440    4    rid636674    1    

0
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Automatik 914 07.07.10 04:21 Сейчас в теме
У семерки открылось второе дыхание ;)
2. fastwriter 6 07.07.10 08:52 Сейчас в теме
Вещь полезная, так как у 7.7 и 8.х разные рыночные ниши.

Правда, боюсь, что агрессивный маркетинг самой 1С приведет к тому что 7.7 окончательно потеряет популярность, что скажется на популярности данной разработки. Но будем надеяться, что этого не произойдет.
3. marsohod 123 07.07.10 09:17 Сейчас в теме
4. Трактор 1246 07.07.10 10:39 Сейчас в теме
Это бы да лет 5 назад. Была бы бомба.
5. bulpi 215 07.07.10 16:03 Сейчас в теме
Умные люди! ( В частности, автор) А объясните не настолько умным людям, ЗАЧЕМ это? Где, к примеру, применить?
6. gildebrand 149 07.07.10 16:06 Сейчас в теме
(5) http://j1c.ru/j1c/node/1 Там же есть и пример доступа через Web
7. bulpi 215 07.07.10 17:45 Сейчас в теме
(6)
Спасибо Крутизну проета оценил :D Потрясен масштабами и бесплатностью :D
8. Antoska 17 08.07.10 12:45 Сейчас в теме
Не смотрел пока, но... Правильно ли я понял, что используя J1C можно реализовать логику проведения документа отличную от указанной в конфигурации? Если так, то об этом надо предупреждать и я бы рекомендовал пользоватся встроенными функциями проведения документов. А то ведь можно и ошибиться реализовывая алгоритм проведения отличный от описанного в модуле проведения документа и к чему это может привести пока не ясно...
Желаю успехов ;) и жду версию для фаловой базы.
9. gildebrand 149 08.07.10 13:14 Сейчас в теме
(8)
Правильно ли я понял, что используя J1C можно реализовать логику проведения документа отличную от указанной в конфигурации? Если так, то об этом надо предупреждать

В документации и на сайте об этом рассказано. Замечу только, что "просто так", случайно провести документ не получится. Необходимо создать класс наследник от базового класса j1c V.DocumentObject и затем реализовать его метод close() (это аналог процедуры проведения в 1с).
и я бы рекомендовал пользоваться встроенными функциями проведения документов.

Если вы под функциями имели в виду хранимые процедуры самой 1С - то да, они используются. Это процедуры главным образом отвечают за пересчет итогов (как бух. так и регистров). Так что в этом смысле используется родной механизм 1С.
10. Antoska 17 08.07.10 14:47 Сейчас в теме
Но ведь можно и "просто так", случайно "создать класс наследник от базового класса j1c V.DocumentObject и затем реализовать его метод close()" ;)

Значит реализовать альтернативный алгоритм проведения таки нельзя..? Вы правы надо всё же почитать документацию :)

Под функциями я имел ввиду вызов процедур Провести(), Записать(), Удалить() и далее в таком духе... Именно они и должны обеспечить выполнение хранимых процедур. Ну, да вы в курсе :)

А процедуры обработки проведения документа могут делать, что угодно... Это уже от задач зависит. Частенько, кстати, делают записи в истории периодических реквизитов :)

Вот ещё вопрос (пока не почитал документацию :oops: ) - есить ли возможность получить данные из таблиц формируемых отчётами и обработками? Ну... Мало ли ;) ?

З.Ы. Ушёл читать документацию...
11. gildebrand 149 08.07.10 15:52 Сейчас в теме

Значит реализовать альтернативный алгоритм проведения таки нельзя..?

Почему же нельзя - наследуете и реализовываете protected методы :)
Под функциями я имел ввиду вызов процедур Провести(), Записать(), Удалить() и далее в таком духе

В j1c они представлены методами: close(), write(), delete() соответственно
При кроме того, так же как и для close(), есть protected методы аналоги ПриЗаписи(), ПриОтменеПроведения и т.п.
Частенько, кстати, делают записи в истории периодических реквизитов

У класса V7.CatalogObject есть метод:
void j1c.ru.V7.CatalogObject.setAttribute(String name, Object value, Date date, DocumentReference document)
Установить значение периодического реквизитого справочника в контексте документа.

Parameters:
name Имя атрибута
value значение атрибута
date Дата значения атрибута
document Документ, в контексте которого будет установлено значение

в реализации метода close() вызывайте его - все очень похоже как в 1С :)
есить ли возможность получить данные из таблиц формируемых отчётами и обработками?

нет, такой возможности нет - как вы себе это представляете? j1c работает вне 1с, но с ее базой. Клиент 1с для j1c не нужен и не используется никак.
12. support 4484 09.07.10 12:38 Сейчас в теме
А можно где-то посмотреть, как выводиться справочник в веб?
И можно ли сделать вывод журнала, документа и его проведение?
13. gildebrand 149 09.07.10 13:20 Сейчас в теме
(12)
А можно где-то посмотреть, как выводиться справочник в веб

Вот здесь статья-пример создания сервлета с помощью сервлета http://j1c.ru/j1c/node/23
В прикрепленных файлах картинки, как выглядит стартер, для сервера приложения j1c (из примера) и соответственно справочник контрагенты типовой комплексной. Вы именно это хотели посмотреть?
И можно ли сделать вывод журнала, документа и его проведение?

Конечно можно (как я понял вы про веб спрашиваете). Конечно, для документов нужно не забыть реализовать модуль проведения.
Прикрепленные файлы:
14. support 4484 09.07.10 16:23 Сейчас в теме
(13) не локальный сервер, а публичный сервер есть?
15. gildebrand 149 09.07.10 17:08 Сейчас в теме
(14) Нет, нету такого. А что вам это даст? Ну увидите вы вебе хтмл странички с показом списка. Откуда вы можете "быть уверенным" что данные берутся из 1С?
Я вам рекомендую скачать http://j1c.ru/files/download/DemoWebService.zip отсюда демопример, положить это вебприложение в каталог контейнера сервлетов (например Tomcat) - и самиму посмотреть одним глазом в 1С, а другим в браузер.
16. support 4484 09.07.10 19:41 Сейчас в теме
(15) Тогда сделайте такой демосервер, чтобы можно было документ создать, подобрать номенклатуру, провести.
17. quick 583 12.07.10 08:40 Сейчас в теме
Жесть! Как давно об этом я мечтал :))) Красавчеги!
18. Winston Kent 12.07.10 16:22 Сейчас в теме
Я правильно понимаю, что можно создать базу в 1С, а запускать и работать с базой при помощи J1C?
19. gildebrand 149 12.07.10 16:31 Сейчас в теме
(18) Правильно. J1C это программное апи к данным. При этом можно работать одновременно, как клиентом 1С так и j1c (база должна быть sql формата).
20. Winston Kent 12.07.10 16:35 Сейчас в теме
(19) Круто! Надо попробывать. А как установить ее?
21. gildebrand 149 12.07.10 16:41 Сейчас в теме
(20) Скачиваете апи (jar Файл), указываете javac путь к нему (подключаете то бишь библиотеку). Создаете свои классы используя классы апи. Примеры можно найти здесь: http://j1c.ru
kozorez; Winston Kent; +2 Ответить
22. Winston Kent 13.07.10 08:36 Сейчас в теме
23. O-Planet 6431 13.07.10 13:36 Сейчас в теме
24. Makdir 24.08.10 23:49 Сейчас в теме
Хорошая вещь. Желаю успешного развития этому проекту!
+
25. gildebrand 149 23.02.11 20:49 Сейчас в теме
Выложил обновление. Альфа - 0.0.70
Изменения с момента первой публикации:
1. Реализована поддержка DBF формата.
2. Существенно изменена (переработана) объектная модель (дрейф к 8-ке).
3. Доработана модель запросов к данным - поддержка нотации 1CPP
4. Переработка модели запуска класса V7.
26. gildebrand 149 22.05.11 01:24 Сейчас в теме
Выложил 0.0.72 версию.
В версии:
1. Развитие поддержки DBF формата ИБ.
Принципиальное изменение к подходу анализа текста запросов. Для анализа и разбора текста запросов был реализован jsqlparser с использованием JavaCC.
Это позволит в дальнейшем легко развивать язык запросов. В следующих релизах будет доработан функционал языка запросов в нотации 1CPP.
2. Реализация виртуальных таблиц:

$РегистрОстатки.<ИмяРегистра>([<ГраницаРасчета>][,
<Соединение>][,
<Условие>][,
<Измерение>][,<Ресурс>]
) [as <Алиас>]


$РегистрОбороты.<ИмяРегистра>([<НачалоПериода>][, <КонецПериода>][,<Периодичность>][,
<Соединение>][,
<Условие>][,
<Измерение>][,<Ресурс>]
) [as <Алиас>]

$РегистрОстаткиОбороты.<ИмяРегистра>([<НачалоПериода>][, <КонецПериода>][, <Периодичность>][,<МетодДополнения>][,
<Соединение>][,
<Условие>][,
<Измерение>][,<Ресурс>]
) [as <Алиас>]

Подробное описание работы следует. Пока можно попробовать работу с помощью консоли запросов. Консоль запросов Консоль
27. gildebrand 149 15.06.11 21:21 Сейчас в теме
28. здрасте 25.10.11 11:24 Сейчас в теме
Сайт j1C недоступен. Уже неделю. Надеюсь что временно и тема будет развиваться. Задумал пошшупать, а тут такая засада.
29. gildebrand 149 30.10.11 11:34 Сейчас в теме
28 Сайт заработал, можно смотреть.
33. andrey314 14 25.11.14 10:39 Сейчас в теме
(29) А можно как то заполучить потестировать вашу разработку? А то сайт не работает...
35. f13 26.03.15 14:46 Сейчас в теме
(33) andrey314, если уж так интересно, можно покопаться в http://web.archive.org/web/20100704020117/http://j1c.ru/j1c/
dreadlord; +1 Ответить
30. compil7 80 25.10.12 21:29 Сейчас в теме
А что с сайтом j1C? Сейчас не доступен?
31. vit_ms 27.01.13 18:20 Сейчас в теме
Хотел купить эту разработку, но сайт j1C недоступен с 2011 года... так проект закрыт или нет?
И система покупки какая-то сложная, скажите, сколько я должен за нее заплатить и все, не нужны мне в нагрузку другие разработки. Советский Союз какой-то - хотите купить хорошую книгу, купите еще 2 ненужных.
Аватар еще пришлось какой-то искать обязательно, что за усложнения жизни?!
dreadlord; +1 Ответить
32. awk 741 02.02.13 00:13 Сейчас в теме
34. tindir 21.01.15 10:06 Сейчас в теме
Судя по последним комментариям загнулась тема...а жаль...было бы очень полезно использвать такую библиотеку для веба и разработки мелких фронтов для разездных товарищей. Хотя, есть же 8.3...проснулись, отряхнулись...
36. Alakbar33 15.10.15 08:51 Сейчас в теме
f13. К сожалению Ваша ссылка не работает "Page cannot be crawled or displayed due to robots.txt.". Очевидно авторы сайта ставили ограничение на архивирование сайта. Можно ли как-то в другом месте покопаться ? Тема не умерла - возможна реставрация 1С7.7 с помощью новых технологий, так бизнес-процессы, бизнес-логика, сами пользователи-бухгалтеры в компаниях остались те же. Буду признателен за ответ.
37. kozorez 8 01.03.16 01:17 Сейчас в теме
38. kozorez 8 01.03.16 15:32 Сейчас в теме
Документация и примеры находятся на сайте которого нет... наверное разработку можно удалять..
39. Alister 9 01.03.16 16:21 Сейчас в теме
Вообще печально с 7.7, столько разного интересного было придумано (1cpp, formex, openconf и т.п.), а теперь 7.7 это исключение, везде уже 8-ка.
dreadlord; +1 Ответить
40. Antoska 17 23.03.16 14:56 Сейчас в теме
(39) Alister, Не везде! Очень много специализированных конфигураций на 7.7 написано. У меня на предприятии до сих пор такая конфа работает. И я её поддерживаю :) Вот только, конкретно эта разработка, мне не пригодилась.
dreadlord; +1 Ответить
41. dreadlord 05.02.19 20:04 Сейчас в теме
На веб архиве есть только текст страниц нет зипов для загрузки... печаль... люблю 7.7 терпеть не могу 8! С 7-и скорее сменю род деятельности чем сяду на 8 (оч много своих малких конфигураций... 18-лет разработки), а с 8-кой не срослось, не знаю почему, перегорел наверно, 42 скоро.
Парни, если у кого есть архив даной разработки... dreadlord@rambler.ru ! Спасибо
42. radeoff 29.02.20 20:58 Сейчас в теме
(41) У меня тоже нет желания переходить на 8.х, просто потому, что все вопросы решаются с помощью клюшек и ВК. Базы компактные, БЫСТРЫЕ. В отличие от 8.3. И есть возможность быстро настраивать идеологию как мне нужно, а не так, как меня учат монструальные релизы на 8.х. Конечно, основное направление применения - это именно Управленческие решения, (которые имеют выгрузку, скажем, на БП 3.0). Данной разработкой не пользуюсь, но есть некий опыт на ВК, которым готов делиться.
43. пользователь 27.10.21 13:08
Сообщение было скрыто модератором.
...
Оставьте свое сообщение