Com1C v1.6 - работа с 1С:Предприятие 8.x через COM-интерфейс

08.01.11

Интеграция - Перенос данных 1C

Выкладывается с исходниками (Delphi 6). Работайте, учитесь, совершенствуйте:)

Внешнее приложение для Windows, позволяет динамически сформировать строку подключения COM к 1С 8.x (на 1С 8.2 строку подключения в исходниках необходимо изменить: поменять V81 на V82 - говорим спасибо SirYozha) для файлового и клиент-серверного варианта.

Показан пример работы с 1С 8.x через COM в Delphi 6 с использованием русского (!) языка.
1. Выборка метаданных
2. Выполнение простых запросов к данным
3. Вывод данных справочника "Сотрудники организации" для 1С:ЗиУП 2.5

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

Когда-нибудь попробую использовать Firebird Embedded для хранения некоторого заранее полученного набора данных из 1С для дальнейшего формирования отчетов - получится нечто вроде локальной базы 1С:Firebird:)

При разработке используется компонента для Delphi "nextgrid_d6" (дистрибутив находится в директории с исходными кодами Delphi) и PivotCubeVCL (тоже внутри, уже распакован).

Планы:
1. Планируется доработка для работы с 1С:Предприятие 7.7 через OLE
2. Решение проблемы (для меня) - ускорение обращения к ссылочным объектам 1С:Предприятия 8.1.

Внимание! Выложено две версии: с использованием ActiveX OLAP и без него.

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Com1C v1.6 - source (D6) - 2011-01-09 - 01-00.zip
.zip 3,19Mb
149
149 Скачать (1 SM) Купить за 1 850 руб.
Com1C v1.5 - source (D6).zip
.zip 3,44Mb
130
130 Скачать (1 SM) Купить за 1 850 руб.
Com1C_v1_5 - source (D6) without OLAP.zip
.zip 3,44Mb
27
27 Скачать (1 SM) Купить за 1 850 руб.
Com1C v1.5.1 - source (D6) - 2010-09-09 - 22-20.zip
.zip 3,18Mb
40
40 Скачать (1 SM) Купить за 1 850 руб.


КОМУ ЭТО НУЖНО:

1. Программистам - для обучения в большей степени, для автоматизации обмена между ИБ, ну и т.д. Лишним в копилке не будет

2. Компаниям, которые имеют желание использовать отчетность отдельно от приложения 1С (соответственно, без затрат на лицензии 1С)


Основная область применения подобных решений - работа с OLAP-отчетами (или другой системой отчетности - не суть важно) без постоянного подключения к 1С. Сохранил отчет - и можно ехать в командировку, нужные данные будут рядом (не забывайте об их актуальности)

См. также

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166462    333    277    

373

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141516    798    297    

419

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    24017    169    51    

127

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51249    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36586    94    66    

89

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56207    59    105    

61

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171173    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186875    589    509    

526
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mirco 74 07.08.10 21:00 Сейчас в теме
"Компаниям с ограниченным количеством лицензий 1С" - 1С обидится :D
2. cleaner_it 209 07.08.10 21:08 Сейчас в теме
(1) Да пусть обижается:) От нее не убудет:)
6. Stety 153 08.08.10 16:54 Сейчас в теме
(1) Если бы их эта уязвимость действительно заботила, уже давно была бы заглушка и лицензии продавались бы двух видов: нормальная - подороже и "рид-онли" - подешевле.
3. _LEV_ 07.08.10 21:59 Сейчас в теме
По-моему извращение какое-то 8-)
4. cleaner_it 209 07.08.10 22:18 Сейчас в теме
(3) А по делу? Идея в целом неплохая, если развить.
5. Abadonna 3968 08.08.10 02:32 Сейчас в теме
За Дельфи - плюс не глядя ;)
7. markers 277 09.08.10 07:19 Сейчас в теме
Эх, мож кто ткнёт пальцем где можно взять пример (желательно готовый), как писать COM Объекты? Чтоб из 1С можно было подключатся... Честно гуглил, чё-то пытался сделать но не получалось... Буду весьма благодарен! Пишу на Delphi 7.
По теме: У меня при подключении ругнулось на несоответствие версий.
8. cleaner_it 209 09.08.10 07:31 Сейчас в теме
(7) Несоответствие версий COM-объектов? Какая платформа 1С установлена?
ActiveX - это продолжение COM. Пример небольшой могу накидать на D6 или D2010
11. markers 277 09.08.10 07:50 Сейчас в теме
(8) насчёт платформы понял, у меня видимо на компе просто старая стоит :) Ссорь!
Пример? Было бы здорово, самый простецкий, а то просто не могу малость понять.... Спасибо!
14. cleaner_it 209 09.08.10 08:30 Сейчас в теме
(11) Лучше проверь наличие COM-объекта, иногда бывают глюки с его установкой
15. cleaner_it 209 09.08.10 09:36 Сейчас в теме
(11) Пожалуй, лучше статью сделаю, оно так быстрее усвоится
10. Арчибальд 2709 09.08.10 07:47 Сейчас в теме
12. qwertor 09.08.10 07:56 Сейчас в теме
" Без желания тратить лицензии 1С... " - каким образом ?
13. cleaner_it 209 09.08.10 08:17 Сейчас в теме
(12) Таким, что лицензия занимается COM-объектом только на момент обращения к данным. При окончании выборки разрушаем экземпляр объекта (соединение), и имеем на руках данные для отчета и одну незанятую лицензию 1С
16. cleaner_it 209 09.08.10 09:44 Сейчас в теме
17. Serg7Z 09.08.10 11:55 Сейчас в теме
выдает ошибку, "Класс не зарегистрирован" как его зарегить?
18. Abadonna 3968 09.08.10 13:25 Сейчас в теме
OLE создает нормально, вроде коннектится.
Однако Меню - Основная форма: см.рис.
Чаво хочет?
Может nextgrid_d6 в СИСТЕМЕ не хватает?
Прикрепленные файлы:
19. cleaner_it 209 09.08.10 15:07 Сейчас в теме
(18) nextgrid_d6 нужен только для Delphi. Про ошибку - может OLAP не установлен http://infostart.ru/public/64385/ ? Он у меня находится на следующей закладке формы "Основная форма"
20. Abadonna 3968 09.08.10 15:10 Сейчас в теме
(19)
Про ошибку - может OLAP не установлен

Дык ясен арафат не установлен ;) Ты б хоть в описалове это как-то указал
22. cleaner_it 209 09.08.10 15:12 Сейчас в теме
(20) Виновен :oops:
Abadonna; Арчибальд; +2 Ответить
21. cleaner_it 209 09.08.10 15:11 Сейчас в теме
Посмотрите у себя закладку "OLAP-отчет" (картинка "Встроенный ActiveX-объект: OLAP-отчет") - есть там что? Если вам не нужен OLAP, удалите в Delphi компонент
25. Abadonna 3968 09.08.10 15:21 Сейчас в теме
(21) Тут видишь в чем штука: чтобы перекомпилить, мне надо nextgrid_d6 на Дельфи поставить, а неохота - у меня и так там компонент море. Ты бы положил еще вариант экзюка без OLAP, и было бы счастье;)
Да и D7 у меня, может и не скушать компонент
23. Abadonna 3968 09.08.10 15:14 Сейчас в теме
По опыту: описалова лишнего не бывает. Потом меньше вопросами терроризируют ;)
24. cleaner_it 209 09.08.10 15:19 Сейчас в теме
27. Арчибальд 2709 09.08.10 15:50 Сейчас в теме
(24) Поздно. Ты уже под катком :D
26. Abadonna 3968 09.08.10 15:46 Сейчас в теме
Если возникает ошибка "Класс не зарегистрирован" - это ничего страшного, просто не будет работать OLAP-отчет

К сожалению, не просто OLAP не работает. При нажатии ОК на мессадж-боске с ошибкой дальше просто ничего не происходит - форма таки не открывается
28. cleaner_it 209 09.08.10 16:20 Сейчас в теме
(26) Ок, перекомпилю экзешник без OLAP:) А вот без nextgrid_d6 сложнее, не хочется на стандартные компоненты переползать

(27) Каток - это неприятно:(
29. Abadonna 3968 09.08.10 16:22 Сейчас в теме
(28) Да просто экзюк сделай, чтобы хоть потестить.
30. Арчибальд 2709 09.08.10 16:33 Сейчас в теме
(28) Как сказать... Есть разные мнения, Абадонна в курсе :D
31. cleaner_it 209 09.08.10 16:33 Сейчас в теме
Добавил файлик "Com1C_v1_5 - source (D6) without OLAP.zip", тестируйте:)

Кстати, есть хорошая задачка для интересующихся: как получить из 1С не все данные справочника для отображения в таблице, а только те, которые нужно отобразить (а при движении вертикального ползунка "добирать" нужные данные). Если ее решить - тогда уж можно будет развернуться:)
32. tsd 105 09.08.10 20:28 Сейчас в теме

КОМУ ЭТО НУЖНО:
2. Компаниям с ограниченным количеством лицензий 1С. Без желания тратить лицензии 1С на сотрудников, которым для работы нужна только отчетность:)


Хм,
применение данного решения подразумевает наличие в штате специально обученного человека, либо постоянное обращение к оному если он за штатом.

Bнтересно, через какое время до руководства дойдет, что выгоднее один раз купить лицензии, чем постоянно платить зарплату :D
например, лицензия на 20 пользователей стоит 65 т.р., ну, плюс сервер 1С 42 т.р. = 107 т.р. Через сколько месяцев стоимость умельца сравняется со стоимостью лицензий?
34. cleaner_it 209 10.08.10 02:47 Сейчас в теме
(32) Предполагается наличие 1С-ника в штате:) Раз он есть - почему не воспользоваться ситуацией
(33) Спасибо!
36. Abadonna 3968 10.08.10 06:21 Сейчас в теме
(32) tsd, а ты не франч случайно? или аутсорсер? Фикси бы не написал
подразумевает наличие в штате специально обученного человек
, ибо фикси и есть специально обученный человек ;)
37. tsd 105 10.08.10 12:08 Сейчас в теме
(36) угу, уже давно франч. А за бытность свою был и фикси и фри (в общем как негра не назови ... :D ).

Фикси бы не написал
, ибо фикси и есть специально обученный человек


да ктож спорит то. Вот только с точки зрения бизнеса применение данного решения будет означать подсадку на иглу конкретного умельца. Могу привести пару-тройку реальных случаев когда после исчезновения такого умельца (неожиданно уволился, погиб в автокатастрофе) контора начинает иметь ну очень большую кучу гемороя достаточно продолжительный период времени. И начальная копеечная экономия выливается в вовсе не копеечные убытки. Но, кто ж об этом думает то вначале ;)

Кроме того, а какая выгода для фикси наваливать на себя кучу дополнительного гемороя из-за нобходимости постоянной поддержки данного решения?

ЗЫ: сексом лучше заниматься в большой удобной кровати, а не стоя в гамаке в натянутом на себя гидрокостюме ;)

38. Abadonna 3968 11.08.10 00:13 Сейчас в теме
(37)
сексом лучше заниматься в большой удобной кровати

Молодой еще ;) Мне вот в кровати уже и неинтересно. Но и в гидрокостюме не буду :D
Что касается данного решения, для меня оно интересно именно как решение, практического применения, если честно, не вижу
33. MMF 679 10.08.10 00:28 Сейчас в теме
"Кстати, есть хорошая задачка для интересующихся: как получить из 1С не все данные справочника для отображения в таблице, а только те, которые нужно отобразить (а при движении вертикального ползунка "добирать" нужные данные). Если ее решить - тогда уж можно будет развернуться"
Обычно в таких случаях делают на основе TVirtualStringTree - быстро получают первичные ключи и на их основе строят дерево-грид, а при прокрутке подкачивают отсутствующие поля по pk.
35. cleaner_it 209 10.08.10 04:21 Сейчас в теме
(33) Боюсь, что в качестве первичных ключей придется брать GUID, а их быстро получить не получится...
39. cleaner_it 209 11.08.10 01:52 Сейчас в теме
Главное - реализация идеи. А как ее применить - всегда найдем 8-)
40. SirYozha 224 16.08.10 12:31 Сейчас в теме
на 1С 8.2 не проверял, но на толстом клиенте должно работать

не сработает в строчке
V8 := CreateOLEObject('V81.COMConnector');// as IV8COMConnector;

в 8.2 вместо V81 пишется V82
41. cleaner_it 209 17.08.10 06:42 Сейчас в теме
(40) ок, добавлю явный выбор версии платформы
42. cleaner_it 209 09.09.10 16:16 Сейчас в теме
Обновлено до версии 1.5.1
Добавлено:
1. Обращение к метаданным
2. Выполнение простых запросов
43. cleaner_it 209 08.01.11 19:32 Сейчас в теме
Обновлено до версии 1.6
Изменения:
1. Добавлен явный выбор версии платформы 1С (8.1, 8.2, 7.7)
2. Разделены формы обращения к метаданным и построения OLAP-отчетов (для того, чтобы не выкладывать отдельно версию без OLAP-отчета)
44. hate86 09.10.11 11:24 Сейчас в теме
Спасибо:-) Удобное подспорье. Почерпнула пару новых моментов.
1С 7.7 через COM.connector не подключается? или у меня просто руки кривые?
45. Zoomby 09.10.11 12:33 Сейчас в теме
Спасибо, нужно будет посмотреть обработку. :)
46. Varies 02.11.11 18:10 Сейчас в теме
hate86
к 1С 7.7 нельзя подключиться через СОМ, туда только через OLE можно.

cleaner_it
пофикси для 1С 7.7 выбор COM/OLE коннектора, там практически ничего не отличается, только пара строчек при подключении изменится.
47. cleaner_it 209 03.11.11 02:22 Сейчас в теме
(46) У меня времени нет на это:) Ставить делфи 6 с компонентами, изменять... Программисты смогут сделать это самостоятельно, это нетрудно.
48. lees 24.11.11 14:02 Сейчас в теме
исходники Делфи я поюзал. Да, здорово! как реальный пример использовал , сделал обработку на основе этого тоже по Ком объекту, которая загружает данные из зарплатной базы в УПП, но обезличеннные! Круть! Ком-объекты рулят!
cleaner_it; +1 Ответить
Оставьте свое сообщение