Что необходимо для автоматического обмена данными, без внесения изменений в конфигурацию:
1) Обработка "Универсальный обмен данными в формате XML" , которая входит в состав большинства типовых конфигураций. Если её там не оказалось, то её легко найти на диске ИТС или на просторах интернета. В конфигурации она обзывается "УниверсальныйОбменДаннымиXML"
2) Правила обмена данными. Создаются с помощью "Конвертации данных". Работу с которой вам придётся освоить. Есть и видеокурсы и учебные пособия. Например: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Внешняя обработка , содержащая процедуры загрузки/выгрузки. Займемся её созданием:
Создаётся внешняя обработка в модуле объекта которой будет нижеприведённый текст (подставляете свои данные по базам и пользователям). Желательно создать отдельного пользователя с полными правами для обмена данными. Назовём обработку, к примеру, "ОбменДанными.epf".

Если ПараметрЗапуска = "Выгрузка" Тогда Обработка=Обработки.УниверсальныйОбменДаннымиXML.Создать(); //Задаём необходимые для выгрузки параметры (необязательные для редактирования) Обработка.РежимОбмена="Выгрузка"; Обработка.ЗагружатьДанныеВРежимеОбмена=Истина; Обработка.ЗаписыватьРегистрыНаборамиЗаписей=Истина; Обработка.ЗапоминатьЗагруженныеОбъекты=Истина; Обработка.ИспользоватьОтборПоДатеДляВсехОбъектов=Истина; Обработка.ВыгружатьТолькоРазрешенные=Истина; //!Задали необходимые параметры для выгрузки //Данные параметры необходимо перезаполнить ОБЯЗАТЕЛЬНО //Устанавливаем ограничения на выгрузку по датам объектов Обработка.ДатаНачала = ТекущаяДата() - 60*60*24*2; Обработка.ДатаОкончания = "00010101"; //Если хотим выгружать данные в файл - ставим Ложь, Если Истина - будет произведена выгрузка в базу-приёмник Обработка.НепосредственноеЧтениеВИБПриемнике=Истина; //Если база-приёмник выгружаемых данных является серверной, то Ложь. Если файловая - Истина Обработка.ТипИнформационнойБазыДляПодключения=Истина; //!Обязательные параметры перезаполнили //Если выгружаем данные в файл Если Не Обработка.НепосредственноеЧтениеВИБПриемнике Тогда Обработка.ИмяФайлаОбмена = "C:\Inbox\ОлегА\Конвертация\выгрузка.xml"; //Если выгружаем даннные в базу Иначе Обработка.ПарольИнформационнойБазыДляПодключения="Админ"; Обработка.ПользовательИнформационнойБазыДляПодключения="суперкрутой"; Обработка.АутентификацияWindowsИнформационнойБазыДляПодключения=Ложь; //Если приёмник данных - серверная база Если Обработка.ТипИнформационнойБазыДляПодключения = Ложь Тогда Обработка.ИмяСервераИнформационнойБазыДляПодключения="MainServ"; Обработка.ИмяИнформационнойБазыНаСервереДляПодключения="Buhia"; //Если приёмник данных - файловая база Иначе Обработка.ВерсияПлатформыИнформационнойБазыДляПодключения="V82"; Обработка.КаталогИнформационнойБазыДляПодключения ="C:\Inbox\ОлегА\Клиенты\Зевс БП20\Зевс БП20"; КонецЕсли; КонецЕсли; //Действия над регистрацией при выгрузке по планам обмена Обработка.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки=0; // 0 - не снимать регистрацию, // 1 - снимать регистрацию Обработка.ЗагрузитьПравилаОбмена(); //ЕСЛИ НУЖНО ВЫГРУЖАТЬ ПО ПЛАНАМ ОБМЕНА, ТО ВКЛЮЧАЕМ ЭТОТ БЛОК И ПОДСТАВЛЯЕМ СВОЙ УЗЕЛ ПЛАНА ОБМЕНА //Для Каждого Стр Из Обработка.ТаблицаПравилВыгрузки.Строки Цикл // Стр.Включить=1; // Для Каждого Стр1 Из Стр.Строки Цикл // Стр1.Включить=1; // Стр1.СсылкаНаУзелОбмена=ПланыОбмена.Полный.НайтиПоКоду("БП20"); // КонецЦикла; //КонецЦикла; Обработка.ВыполнитьВыгрузку(); ЗавершитьРаботуСистемы(Ложь); ИначеЕсли ПараметрЗапуска = "Загрузка" Тогда ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать(); ОбработкаОбмена.ИмяФайлаОбмена = "C:\Inbox\ОлегА\Выгрузка.xml"; ОбработкаОбмена.РежимОбмена = "Загрузка"; ОбработкаОбмена.ОткрытьФайлЗагрузки(Истина); ОбработкаОбмена.АрхивироватьФайл = Ложь; ОбработкаОбмена.ВыполнитьЗагрузку(); ОбработкаОбмена = Неопределено; ЗавершитьРаботуСистемы(Ложь); КонецЕсли;

4) Bat файл выгрузки , который будет запускать 1с и внешнюю обработку с параметром запуска под пользователем, который предназначен для обмен данными. Файл необходимо создать к примеру в notepad++ с кодировкой OEM(MS-Dos), иначе работать не будет. Файл назовём, например "BatVygruz.bat". Текст будет следующим:

Если база файловая:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3" /N"РоботОбменаДанными" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ОбменДанными.epf" /C"Выгрузка"
Пояснения:

б) C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3 - ваш путь к файловой базе, из которой будем выгружать данные
в) РоботОбменаДанными - Имя пользователя, под которым запускам 1С для обмена данными
г) pass - пароль пользователя
д) /DisableStartupMessages - закрываем всплывающие окна при старте 1С
е) /RunModeOrdinaryApplication - запуск в обычном режиме толстый клиент
ж) C:\Inbox\ОлегА\ОбменДанными.epf - путь к нашей обработке, которая запустится при старте
з) Выгрузка - передаём параметр запуска 1С, сообщает, что надо выгружать данные

Если база серверная:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"РоботОбменаДанными" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ОбменДанными.epf" /C"Выгрузка"
Пояснения:
а) C:\Program Files (x86)\1cv82\common\1cestart.exe - ваш путь к стартеру 1С
б) Server1C/DataBase - ваш сервер на котором находится база и имя самой базы из которой выгружаем данные.
Остальные параметры аналогичны файловому варианту bat файла

5) Bat файл загрузки (при необходимости). Если вы решили выгружать данные в файл, а не напрямую в базу. То этот пункт нам тоже понадобится (обычно необходим).
Создание Bat файла загрузки аналогично файлу выгрузки, но отличается лишь параметр запуска, вместо "Выгрузка", мы ставим "Загрузка"

6) Задать расписание запуска наших Bat файлов загрузки/выгрузки на сервере. Для этого надо зайти в администрирование панели управления на сервере и в планировщике заданий создать новое задание запуска файла выгрузки на 23 часа каждый день и задание на загрузку с указанием Bat файла загрузки(если надо) на 04 часа к примеру.

При ведении нескольких рабочих баз 1С порой возникает необходимость обмена данными между ними. Существует 2 способа переноса данных:

  1. Перенос данных с использованием правил обмена и обработки «Обмен данными XML». Правила обмена создаются с помощью конфигурации 1С:Конвертация данных.
  2. Перенос данных между похожими информационными базами обработкой «Выгрузка и загрузка данных XML».

Рассмотрим второй вариант, т.е. выгрузку и загрузку данных из/в конфигураций, в которых имеются одни и те же (идентичные), нужные нам объекты. Для этого воспользуемся внешней обработкой «Выгрузка и загрузка данных XML», которую можно .

Условие использования этой обработки следующее: В информационной базе, из которой выгружаются данные, должны присутствовать такие же объекты и с такими же реквизитами (наименование и тип данных), как и в базе, в которую производится загрузка данных.

Рассмотрим пример с переносом данных этой обработкой. Предположим, нужно перенести документы «Платёжное поручение входящее» и «Платёжное поручение исходящее». Решение этой задачи будет следующим.

Открываем внешнюю обработку «Выгрузка и загрузка данных XML» через главное меню: Файл? Открыть… На вкладке «Выгрузка» указываем файл XML, в который мы будем сохранять данные.

Затем нужно указать период, за который будем выгружать объекты данных из базы 1С и сами объекты. Нужные нам для выгрузки документы помечаем галочкой в поле структуры объектов конфигурации в столбце «Данные для выгрузки». Если в выгружаемых документах есть ссылки на элементы справочников, которых нет в другой конфигурации, то имеет смысл проставить галочки в столбце «При необходимости», чтобы эти элементы тоже выгрузились вместе с документами.

Теперь на данном шаге нужно решить, выгружать ли вместе с документами их движения по регистрам или перепровести эти документы уже в другой базе? Для перепроведения выгружаемых документов уже в другой базе можно воспользоваться обработкой «Групповая обработка справочников и документов». Если алгоритмы проведения в данных информационных базах чем-то отличаются, то галочку напротив «Выгружать с документом все его движения» ставить не следует.

Вот и всё, настройка выгрузки закончена, здесь всё просто! Нажимаем кнопку «Выгрузить данные» и ждём пока данные сохраняться в файл XML. Для более сложных выгрузок можно задавать отбор на выгружаемые объекты не только по периоду.

После выгрузки переходим во вторую базу 1С и открываем там эту же обработку. Переходим на вкладку «Загрузка» и указываем здесь тот же файл XML, в который мы выгрузили данные.

На этой вкладке ставим одну единственную галочку напротив «Продолжить загрузку объектов в случае возникновения ошибки» и нажимаем на кнопку «Загрузить данные». Остальные функции, например, использование итогов мы не рассматриваем, хотя эта функция может значительно ускорить загрузку объектов (записей по регистрам).


Обработка "Универсальный обмен данными в формате XML" предназначена для загрузки и выгрузки данных в файл из любой конфигурации, реализованной на платформе 1С:Предприятие 8


Обработка имеет четыре закладки

Выгрузка данных

Для осуществления выгрузки данных необходимо указать имя файла, в который будет осуществляться выгрузка данных и выбрать файл правил обмена. Правила обмена для любых конфигураций могут быть настроены в специализированной конфигурации "Конвертация данных, редакция 2".


Для выгрузки документов и записей независимых периодических регистров сведений необходимо указать период - "Дату начала" и "Дату окончания". Результирующий файл с выгруженными данными может быть сжат.


На закладке "Правила выгрузки данных" можно выбрать те типы объектов, которые должны выгружаться, настроить отборы для выборки объектов, либо указать узел обмена данными, для которого нужно выгружать данные.


На закладке "Параметры выгрузки" можно указать дополнительные параметры выгрузки данных.


На закладке "Комментарий" можно написать произвольный текст-комментарий, включаемый в файл обмена.

Для осуществления загрузки данных необходимо указать имя файла, из которого будет осуществляться загрузка данных.


Есть возможность настроить загрузку данных в транзакции. Для этого необходимо взвести флажок "Использовать транзакции" и указать количество элементов в одной транзакции при загрузке.

Дополнительные настройки

Закладка служит для тонкой настройки выгрузки и загрузки данных.


"Режим отладки" - флажок определяет режим выгрузки и загрузки данных


"Количество обработанных объектов для обновления статуса" - параметр служит для определения количества обработанных элементов перед изменением строки состояние загрузки/выгрузки


"Настройки выгрузки данных" - позволяют определить количество элементов обрабатываемых в одной транзакции при выгрузке данных, выгружать и обрабатывать только те объекты на которые есть права доступа, настроить тип изменения регистрации для выгруженных объектов через планы обмена


"Протокол обмена" - позволяет настроить вывод информационных сообщений в окно сообщений, ведение и запись в отдельный файл протокола обмена.

Удаление данных

Закладка нужна только для разработчиков правил обмена. Позволяет удалять из информационной базы произвольные объекты.

Отладка выгрузки и загрузки данных

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


Включение режима отладки обработчиков выгрузки производится на закладке "Выгрузка данных" установкой флажка "Режим отладки обработчиков выгрузки". Соответственно, на закладке "Загрузка данных" включение режима отладки загрузки производится установкой флажка "Режим отладки обработчиков загрузки".


После установки режима отладки обработчиков станет доступной кнопка настройки отладки. По нажатию на эту кнопку откроется окно настройки.


Настройка отладки обработчиков выполняется в четыре шага:

Шаг 1: Выбор режима отладки алгоритмов

На первом шаге необходимо определиться с режимом отладки алгоритмов:



    Без отладки алгоритмов


    Вызывать алгоритмы как процедуры


    Подставлять код алгоритмов по месту вызова

Первый режим удобно использовать, когда мы точно знаем, что ошибка в обработчике не связана с кодом какого-либо алгоритма. В этом режиме код алгоритмов не выгружается в модуль отладки. Алгоритмы выполняются в контексте оператора "Выполнить()" и их код недоступен для отладки.


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


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

Шаг 2: Формирование модуля отладки

На втором шаге необходимо произвести выгрузку обработчиков нажатием на кнопку "Сформировать модуль отладки выгрузки (загрузки)". Сформированные обработчики и алгоритмы будут выведены в отдельное окно для просмотра. Содержимое модуля отладки необходимо скопировать в буфер обмена нажатием на кнопку "Копировать в буфер обмена".

Шаг 3: Создание внешней обработки

На этом шаге необходимо запустить конфигуратор и создать новую внешнюю обработку. В модуль обработки необходимо вставить содержимое буфера обмена (модуль отладки) и сохранить обработку под любым именем.

Шаг 4: Подключение внешней обработки

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


Примечание: Возможность отладки глобального обработчика конвертации "После загрузки правил обмена" не поддерживается.

Практически во всех конфигурациях 1С 8 существуют предопределенные обмены между другими типовыми релизами, например с: » 1С Управление торговлей 8″, » 1С ЗУП 8″, » 1С Розница 8″. Однако что делать, если вам необходимо произвести обмен между различными конфигурациями с совершенно разной структурой метаданных? В данном случае поможет обработка «Универсальный обмен данными в формате XML » , которую можно бесплатно скачать для и

Для работы с данными обработками нам потребуются файл правил в формате xml. В нем описывается каким именно образом данные из одной информационной базы переносятся в другую. Он создается при помощи специализированной конфигурации «Конвертация данных», которая поставляется на диске, либо на сайте ИТС. Как его создать мы рассмотрим в следующей статье, а пока представим, что у нас уже он есть.В обработке существует 4 вкладки. Рассмотрим все их по порядку:

Выгрузка данных

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

После того как будет указан файл правил, в закладке «Выгружаемые данные» отобразятся объекты метаданных, по которым будут сохраняться данные. Также здесь можно указать период за который будет происходить выборка. Во вкладке «Параметры выгрузки» можно указать соответственно дополнительные значения. Вкладка комментарий говорит сама з а себя

Загрузка данных

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

Дополнительные настройки

Вкладка дополнительные настройки позволяет более тонко настроить выполнение обработки

  • Режим отладки позволяет не останавливать процедуру выгрузки или загрузки при возникновении какой-либо непредвиденной ошибки. После выполнения операции будет выведен детальный отчет.
  • Для мониторинга процесса обмена можете установить флажок «Вывод информационных сообщений».
  • Количество обработанных объектов для обновления статуса- определяет количество обработанных элементов после которых будет обновлены сведения в информационном окне.
  • «Использовать оптимизированный формат для обмена данными (V8 — V8, версия обработки не ниже 2.0.18)» — специализированный формат,предполагающий наличия в заголовке сообщения тэг «ИнформацияОТипахДанных», позволяющий ускорить процесс выполнения.
  • Использовать транзакции при выгрузке для планов обмена –при установке данного флага выгрузка будет выполняться в одной транзакции(неделимой,логически свзянной последовательности)
  • Количество элементов в транзакции- определяет количество элементов, которые будут выгружены/загружены в одной транзакции. Если установлен 0, то вся процедура пройдет в одной транзакции. Такой вариант является рекомендуемым, так как сохранятся гарантия логической связанности данных.
  • Выгружать объекты на которые есть права доступа- флаг,на основании которого определяются объекты для выгрузки на которые у текущего пользователя есть права доступа.
  • Автоматически удалять недопустимые символы из строк для записи в XML – при установке данного пункта все записи в сообщении проверяются на валидность XML 1.0 и удаляются символы несоответствующие стандарту.
  • Изменения регистрации для узлов обмена после выгрузки – определяет метод работы с регистрацией изменений данных после окончания выгрузки данных (не удалять регистрацию, полностью удалить регистрацию, удалить регистрацию только для выгруженных метаданных).
  • Имя файла протокола обмена — указывается имя файла для ведения логов процедуры обмена.
  • Протокол загрузки (для COM — соединения) — имя лог файла при обмене через COM-соединение.
  • Дописывать данные в протокол обмена — при установке данного флага, лог файл будет дописываться,а не затираться.
  • Вывод в протокол информационных сообщений — в лог файл будут добавлены не только информация об ошибках, но и информационные сообщения.
  • Открывать файлы протоколов обмена после выполнения операций — флаг говорит сам за себя

Удаление данных