Универсальный перенос из Access через ADO в 1С 8.2 управляемое приложение

Публикация № 69115

Разработка - Системная интеграция - Внешние источники данных

Перенос из Access в 1С 8.2. Делалось под конкретную задачу, но сделал так, чтобы было универсально. Мало ли когда еще пригодится. К тому же ADO позволяет обращаться не только к данным MDB но и к другим поставщикам данных имеющим драйвера поддерживающие данную технологию :-)

Идея проста как мир и используется во всех конвертациях данных.

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

  • Справочники
  • Документы
  • Регистры сведений

При переносе устанавливаются соответствия по:

  • кодам справочников
  • наименованиям
  • произвольным (но индексированным в 1С) полям справочников
  • значениям перечислений
  • по владельцу

Все это сделано в управляемом приложении с передачей импортируемой информации между клиентом и сервером по порциям, т.к. переносилась информация примерно объемом 300-400 тысяч записей.

Если интерес есть, то я напишу эту статью дальше с описанием как-же это было сделано, а пока пару картинок.

И наверное то, что вызывает наибольшие трудности у начинающих. Это кусочек кода для подключения базы данных как COM объекта к 1С.

	 &НаКлиенте
Функция СчитатьТаблицуMDB(ИмяТаблицы)
 
 // Open connection
    strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+СокрЛП(Объект.ФайлДанных);
    Cnxn = Новый COMОбъект("ADODB.Connection");
    Cnxn.Open(strCnxn);    
    rst = Новый COMОбъект("ADODB.Recordset");  
    rst.Open(ИмяТаблицы, Cnxn,1);    
 
    //считываем структуру полей таблицы
    ИменаПолей=Новый СписокЗначений; 
    Для Каждого тПоле Из rst.Fields() Цикл
       ИменаПолей.Добавить(тПоле.Name);  
    КонецЦикла; 
 
    rst.MoveLast();
    МаксЗапись=rst.RecordCount; 
    rst.MoveFirst();   
 
    Объект.ИмяТаблицы=ИмяТаблицы;
    ЭтаФорма.ОбновитьОтображениеДанных(); 
	 ...

Ну и далее по тексту уже идет загрузка значений из внешнего объекта/таблицы в список значений и передача его на сервер. На сервере этот список обрабатывается согласно правилам из справочника и пишется в объекты БД.

Я выложил код с примером - чего уж жмотиться !!!

Если кто-то доделает до ума - то плиз, не продавайте, а отдайте так же - бесплатно.

Если не забудете, то копию мне пришлите :-) того что получиться.

Я не планирую это развивать и превращать во что-то законченное, т.к. занят другим. Это лишь маленький кусочек, который как мне показалось может быть интересен и полезен.

Пока это черновик статьи - не судите строго.

Если будет интерес то я:

1) Допишу статью

2) Возможно выложу каркасную конфигурацию с примером переноса, по сути это готовое решение которое может использоваться в рабочих условиях.  Я, к примеру, видел как за аналогичную работу франчи брали чуть ли ни по 50-100 часов :-), это конечно не очень порядочные франчи. Не очень хочется кормить таких людей. Так, что я на этот счет пока в раздумьях.  

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

Наименование Файл Версия Размер
Access2_1c82
.zip 86,37Kb
08.09.14
344
.zip 86,37Kb 344 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Re:аниматор 425 16.04.10 12:34 Сейчас в теме
на сайте есть обработки с интеграцией Access ... на 8.1, но от 8.2 отличий нет. смысл ремейка?
2. Душелов 16.04.10 12:51 Сейчас в теме
(1) Может весь смысл в управляемом приложении?
4. Re:аниматор 425 16.04.10 14:54 Сейчас в теме
(2) не вижу сложности в управляемом приложении
7. mpkfa 21.04.10 09:24 Сейчас в теме
(4) может ты просто еще не видел :) его в полном объеме, марафет да работает а вот дальше :))) все интереснее и интереснее ;)
3. serg_info 116 16.04.10 14:49 Сейчас в теме
(1) Вы правы, такое на 8.1 есть и реализовано более законченно наверное.
Я выложу пример (конфигурацию) и MDB.

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

Это все для одного проекта и для себя.

И как правильно заметил (2) на 8.2 в управляемом режиме, так что на код посмотреть кому-то будет очень интересно. Т.к. считать данные из файловой системы мы можем только на клиенте, а записать в базу только на сервере.

ТОЛСТЫЙ КЛИЕНТ - под 8.2. не интересен и оставлен как я понимаю для совместимости.
5. Re:аниматор 425 16.04.10 14:56 Сейчас в теме
(3) ясно, просто уже перешел полностью на 8.2, как то уже не задумываюсь о 8.1
6. serg_info 116 16.04.10 15:22 Сейчас в теме
(5) Везет Вам !

А у меня еще мозг кипит. Все мне кажется что перемудрили с объектной моделью.
Слишком много объектов для доступа к одной сущности данных. Ну в связи с клиент сервером - 2-ва объекта бы сделали один на чтение другой на запись, а то аж по 5 наворотили. Такое ощущение что разработчикам объектной модели платили по кол-ву объектов / методов / свойств.

А ты тут сиди разбирайся.

Кстати может подскажете есть ли в нормальном виде описание этой модели, ну чтобы типа графа, что-ли. Какой объект из какого и каким методом порождается....
А то пока все ново, то такое кол-во в голове не укладывается. Видимо нужна практика и время....

8. serg_info 116 21.04.10 11:57 Сейчас в теме
О народ стал качать, буду ждать коментов.

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

Вынести правила переноса во внешний файл и вообще всю обработку.
Я наверное мог бы доделать, но сейчас траблы со временем.

Кто-нибудь возьмется доделать до ума?
Может потом и со мной поделитесь.
9. oldje 04.05.10 00:53 Сейчас в теме
10. serg_info 116 04.05.10 13:34 Сейчас в теме
(9) Хотел причесать обработку, но времени не хватило. Выложу старый "непричесанный" вариант, но он тоже рабочий.
11. oldje 05.05.10 19:44 Сейчас в теме
Спасибо, здесь когда-то публиковалась обработка формирования ХМЛ правил переноса из произвольного источника по АДО для любой конфигурации, интересно было бы что-нибудь аналогичное
12. Boruh 16.06.11 10:55 Сейчас в теме
Помогите,
Не могу импортировать данные из Access ,пишет :
поизошла исключительная ситуация (Microsoft JET Database Engine)Ошибочный пароль.
13. Sekletcov 28.09.11 09:40 Сейчас в теме
Там в обработке в строке подключения есть Login= и Pasw= там надо прописывать, а если нет, тогда самому внести эти строки...
14. user979692 21.05.18 19:55 Сейчас в теме
Здравствуйте. У меня программа Склад (составлена лет 15-20 местным программистом). База данных открывается через Microsoft Access. Нужно перенести в 1С 8.3 Управление сервисным центром. Как это сделать, сколько стоит и тд?
15. МихаилМ 21.05.18 21:22 Сейчас в теме
(14)
ошиблись разделом. Вам раздел тендеры https://infostart.ru/project/
Оставьте свое сообщение

См. также

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Использование хранимых процедур MS SQL Server в 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf MS SQL Абонемент ($m) Внешние источники данных

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

1 стартмани

03.12.2019    6080    3    Dedushka    26       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Вебхук. Путь Телеграма

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) Внешние источники данных Интеграция

Долгое (на самом деле нет) и нелегкое путешествие телеграма к неведомым (из за РКН) конфигурациям 1С. Памятка себе.

1 стартмани

03.10.2019    10529    8    platonov.e    14       

Получение изображения с IP-камеры

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Внешние источники данных

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    6988    22    sivin-alexey    8       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Описание формата внутреннего представления данных 1С в контексте обмена данными

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    11942    10    Dementor    29       

Согласование задач из Outlook

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    5306    11    duhh    17       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

Обмен большими данными между клиентом и сервером

Статья Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Внешние источники данных

В статье рассматривается вопрос передачи больших объемов данных, превышающих теоретический лимит сеансовых данных (4Гб за вызов) (они же временное хранилище) как с клиента на сервер, так и в обратном направлении.

1 стартмани

27.08.2019    9635    2    logos    24       

Телеграм 1С – почти коробка

Инструменты и обработки Программист Пользователь Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    8324    20    zfilin    59       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Расширение Бром для интеграции с 1С

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Внешние источники данных WEB

Из этой статьи вы узнаете, как можно быстро и просто синтегрироваться с любой конфигурацией 1С при помощи расширения Бром.

1 стартмани

06.08.2019    3578    5    itworks    13       

Конфигурация для обмена данными (интеграционная шина)

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных WEB

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

4 стартмани

08.07.2019    6316    20    miha-28    16       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Интеграция 1С с Битрикс CRM через REST API

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Внешние источники данных

На фоне неутихающего обострения «бизнеса» по внедрению СРМ-систем остро встают вопросы обмена данными с уже существующими системами. В статье рассматривается выгрузка контактов, товаров и сделок из 1С в Битрикс CRM через REST API, приложена обработка для тестирования.

1 стартмани

28.06.2019    13124    15    muzipov    7       

Почта России - отправка и отслеживание, интеграция с Документооборот 8

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 ДО Россия Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Выгрузка почтовых отравлений в личный кабинет отправки Почты России; отслеживание почтовых отправлений через Почту России; расширение для интеграции Документооборот 8 с Почтой России

5 стартмани

04.06.2019    4946    40    wtlz    13       

Время учиться: до 3 апреля скидки на курсы до 40%! Промо

Для тех, кто решил провести самоизоляцию с пользой, Инфостарт запускает акцию «Время учиться». С 30 марта до 3 апреля 2020 года наши курсы и видеозаписи докладов INFOSTART EVENT 2019 INCEPTION продаются со скидкой!

Шаблон http-сервиса для вашего проекта

Инструменты и обработки Программист Архив с данными v8 v8::Mobile 1cv8.cf Абонемент ($m) Внешние источники данных WEB Мобильная разработка

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

3 стартмани

04.05.2019    12471    64    MarkoSokolov    47       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Обмен через XML WEB Разработка

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    23295    25    riposte    63       

WhatsApp чат для 1С

Инструменты и обработки no Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Внешние источники данных

WhatsApp чат для 1С. Расширение конфигурации, подходит для любых конфигураций 1С (управляемые формы).

5 стартмани

15.04.2019    6257    20    ManyakRus    19       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть

Инструменты и обработки Бухгалтер Расширение (cfe) v8 ERP2 БУ Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Подключаемое расширение к конфигурации ERP с функционалом отправки дополнительных реквизитов 1С ЭДО для Татнефть (№ и дата договора, подразделение, автор, примечание) в электронных документах Счет-фактуры и ТОРГ-12 Проверялось на 1С:ERP Управление предприятием 2.4.6.160.

2 стартмани

07.04.2019    6065    10    sapervodichka    6       

Аутентификация на внешних сервисах посредством OAuth

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Информационная безопасность Внешние источники данных

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    12555    14    binx    11       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Формирование xml файла ЭДО (СБИС, Диадок, Такском и т.п.) для типовых документов (счета-фактуры, накладные)

Инструменты и обработки Программист Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 1cv8.cf Документооборот и делопроизводство Абонемент ($m) Внешние источники данных Обмен через XML

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

4 стартмани

30.03.2019    19887    136    capitan    64       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Декларации по формам 11 и 12 алкогольной продукции, интеграция с ПО Декларант-Алко

Отчеты и формы Бухгалтер Архив с данными v8 Розничная и сетевая торговля (FMCG) Россия БУ Розничная торговля Абонемент ($m) Регламентированная отчетность Внешние источники данных

Конфигурация на обычных формах, платформа 1С 8.2.19.130 и выше, с помощью которой можно сформировать Декларации по формам 11 и 12 алкогольной продукции, гибрид/интеграция с ПО Декларант-Алко версии 4.31.05 и выше.

1 стартмани

25.03.2019    5441    8    independ    6       

Работа с Active Directory из 1С (загрузка / выгрузка данных)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Внешние источники данных

Загрузка данных из Active Directory / Изменение информации пользователя в AD из 1С.

1 стартмани

26.02.2019    8102    60    Смешной 1С    7       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Статья Программист Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать.

1 стартмани

26.02.2019    10811    10    alexlx    29       

Универсальное расширение 1С для Google Таблиц и Документов

Статья Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Внешние источники данных

Эта статья для тех, кто использует G Suite и 1С. Готовое решение для выгрузки отчетов и печатных форм из баз 1С в Google Диск в формате Google Таблиц и Google Документов. Информация по его внедрению. Описание создания и настройки проекта в GCP.

1 стартмани

31.01.2019    11087    24    Maria18    19