Меню

Автообмен 1с как настроить

Примеры реализации автоматического обмена данными

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

Использование командной строки

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

Этот метод использует пользовательский параметр командной строки ( /C ). Значение этого параметра может быть проанализировано в режиме 1С:Предприятия, и на основе полученной информации могут быть выполнены некоторые действия.

Описание параметра запуска

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

Структура параметра запуска:

Кратко опишем назначение каждого из элементов:

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

Реализация

В процедуре ПередНачаломРаботыСистемы() выполняется обработка параметра запуска, которая собственно и инициирует обмен данными в соответствии со значением параметра запуска. В случае если значение реквизита ПараметрЗапуска глобального контекста 1С:Предприятия не пустая строка — вызывается процедура ВыполнитьКомандыЗапуска() . В качестве единственного параметра ей передается строка — значение реквизита ПараметрЗапуска . После выполнения процедуры обработки происходит завершение работы программы путем установки параметра Отказ в значение Истина .

Процедура ВыполнитьКомандыЗапуска() выполняет разбор переданной строки при помощи объекта ЧтениеXML . По мере разбора получаемая информация анализируется, и распознанные команды выполняются. В демонстрационной конфигурации для команды ReadChanges будет вызвана процедура чтения сообщения обмена для указанного узла плана обмена — ПрочитатьСообщениеСИзменениями() , для команды WriteChanges — вызывается процедура записи сообщения обмена — ЗаписатьСообщениеСИзменениями() . Описание реализации данных процедур можно найти в демонстрационной конфигурации «Обмен данными».

Обмен

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

Например: автоматическая загрузка и выгрузка сообщения обмена для информационной базы, расположенной в каталоге c:\IB . Обмен будет произведен по плану обмена УдаленныеОфисы для узла Офис1 . Для удобства указания параметров используется файл с параметрами, путь к которому указывается при вызове платформы 1С:Предприятие

При этом файл параметров parameters.txt может выглядеть следующим образом:

После создания командного файла его выполнение необходимо поставить в очередь планировщика (например, стандартного планировщика ОС Windows).

Использование объекта COMСоединение

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

Для примера напишем программу на языке VisualBasic для выполнения обмена аналогичного описанному в пункте «Использование командной строки»:

В данном примере используются те же процедуры узлов плана обмена УдаленныеОфисы , что и в реализации обмена с использованием командной строки.

Аналогично пункту «Использование командной строки» полученный исполняемый модуль может быть поставлен в очередь планировщика.

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • 1С:Предприятие 8.2. Настраиваем автообмен. Часть 2.

1С:Предприятие 8.2. Настраиваем автообмен. Часть 2.

В нашей прошлой статье мы рассмотрели настройку автообмена для адаптированных конфигураций платформы 8.2 (Бухгалтерия 2.0), сегодня мы рассмотрим автообмен в конфигурациях на основе управляемого приложения. Сразу скажем — ничего нового из данного материала вы не узнаете, принципиальных отличий от адаптированных конфигураций нет. Если вы успешно настраивали автообмен для прошлых конфигураций, то без труда разберетесь и с управляемым приложением. Данный материал в первую очередь рассчитан на тех, кто настраивает автообмен первый раз и сразу делает это на управляемом приложении.

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

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

Основным отличием интерфейса управляемого приложения является его возможность автоматически адаптироваться для определенных условий применения, в зависимости от прав пользователя, функциональных опций, персональных настроек и т.п. интерфейс будет отображать только необходимые элементы, скрывая неиспользуемые. Поэтому, прежде чем искать настройки автообмена, эту опцию необходимо включить. Это можно сделать в Администрирование — Настройка параметров учета — Обмен данными, не забудьте указать префикс для распределенной ИБ.

Теперь в боковом меню закладки Администрирование будет доступна опция Обмен данными, перейдя на эту страницу выберем пункт Обмены данными и в открывшемся окне создадим новый обмен в распределенной информационной базе.

После чего откроется мастер, который проведет нас через все шаги настройки обмена.

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

Далее укажите наименование баз, способ обмена и префикс второй базы.

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

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

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

Перед вами появится следующее окно, которое позволяет как выполнить обмен и проконтролировать результаты, так и внести изменения в настройку обмена.

Для автоматизации процесса выберите в списке Выполнение обмена данными пункт Настроить сценарии обмена данными и создайте новый сценарий с необходимыми вам событиями.

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

Для файловых баз данных необходимо дополнительно настроить выполнение регламентых заданий в отдельном сеансе. Для этого выберите Администрирование — Регламентные и фоновые задания — Настройка выполнения регламентых заданий (кнопка 2 на рисунке ниже) — Автоматически запускать отдельный сеанс для выполнения регламентных заданий.

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

Источник



Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • 1С Предприятие 7.7 Настройка автообмена через FTP

1С Предприятие 7.7 Настройка автообмена через FTP

По мере роста организации возникает необходимость оперативного обмена информацией бухгалтерского и оперативного учета. На базе 1С Предприятие данный вопрос решается при помощи стандартной компоненты управления распределенными информационными базами (УРИБ). В данной статье мы рассмотрим создание и настройку надежной системы автообмена на базе ftp-сервера.

Базовые возможности УРИБ предусматривают использование электронной почты, в частности требуется наличия MS Office Outlook, что не всегда приемлемо. Альтернативой может служить использование компоненты URBD4Mail, однако у нее иногда бывают проблемы совместимости. Кроме того при использовании электронной почты трудно достичь стабильной работы системы.

Во многом это связано с особенностями данного вида связи, такими как: ограничение максимального размера вложения, возможные задержки при передаче сообщения, ошибки в работе спам-фильтров, предельный размер почтового ящика (который может оказаться забит спамом). Более удобным и надежным способом способом организации автообмена будет использование ftp-сервера. Сервер может быть как корпоративным, так и внешним (провайдера интернет или хостинг провайдера).

Создаем распределенную БД

Первым делом нам необходимо создать распределенную БД, это делается стандартными средствами 1С Предприятия и требует наличия компоненты УРИБ. В нашем случае это будет конфигурация Торговля и Склад (ТиС). Для этого заходим в Конфигуратор, выбираем Администрирование — Распределенная ИБ — Управление, сначала создаем центральную ИБ (нажав соответствующую кнопку)

затем периферийные ИБ в необходимом количестве. В папке с базой не забываем создать два каталога с именами «PC» и «CP» на латинице («периферия-центр» и «центр-периферия» соответственно), в настройках автообмена следует установить автоматический режим для всех периферийных баз. После чего необходимо выгрузить данные для каждой периферийной базы (кнопка Выгрузить данные). Отдельно хотелось бы обратить внимание, что все пути к базам и названия папок баз должны быть только на латинице.

Теперь необходимо развернуть периферийную БД на целевой машине. Для этого нам потребуется файл выгрузки (находится в каталоге CP базы данных) и заготовка базы. Для создания заготовки необходимо скопировать из целевой базы все каталоги и необходимые файлы и библиотеки (V7Plus.dll, компоненты для работы с торговым оборудованием и т.п.), пример такой заготовки на рисунке слева. На удаленной машине подключаем папку с заготовкой базы и загружаем ее в Конфигуратор, далее Администрирование — Загрузить данные указываем файл выгрузки и загружаем в базу данные.

Осталось произвести окончательную настройку баз — установить префиксы БД (каждая база должна иметь свой уникальный префикс), откорректировать списки пользователей и, если необходимо, привести в соответствие печатные формы. Следует помнить, что все изменения конфигурации следует производить только в центральной базе, а печатные формы, списки пользователей и прочее содержимое каталогов Extforms и ExtDb следует изменять для каждой базы в отдельности (изменения этих каталогов при автообмене не учитываются).Также необходимо создать в каждой базе пользователя для автообмена с правами Администратора и обязательно задать для него пароль, имя пользователя обязательно должно быть на латинице.

Настраиваем автообмен

Для настройки автообмена через ftp можно использовать входящий в поставку Windows клиент ftp.exe, однако мы рекомендуем использовать для этих целей бесплатную программу WinSCP (скачать), к преимуществам которой можно отнести широкие возможности скриптового языка и работу по защищенным протоколам. Из папки с установленной программой нам необходим только один файл WinSCP.exe, который мы помещаем в отдельную папку, здесь же будут храниться все необходимые скрипты (В нашем примере C:\1c_bases\script). Сама процедура автообмена выглядит следующим образом:

  1. Загрузка с FTP сервера файлов автообмена и помещение их в необходимые папки базы данных.
  2. Запуск 1С в пакетном режиме для осуществления автообмена.
  3. Выгрузка файлов автообмена и загрузка их на FTP сервер.

Для пользователя процесс должен быть максимально простым и сводиться к запуску единственного ярлыка. Рассмотрим содержимое скриптов для центральной базы. Создадим текстовый документ следующего содержания:

Сохраним его как get.ini, это скрипт загрузки обмена с ftp, в данном файле мы использовали следующие обозначения:

  • mysite.ru— адрес вашего ftp-сервера
  • /tis/F9.zip — путь к файлу обмена на ftp-сервере (имена файлов можно посмотреть в настройках обмена, рис.2)
  • С:\1c_bases\DB\PC\F9.zip — путь к файлу обмена в БД

Для загрузки файлов на сервер создадим скрипт put.ini, который аналогичен get.ini и отличается от него одной строкой:

Для пакетного запуска 1С в режиме автообмена создаем следующий скрипт, и сохраняем его как autoexec.prm

Команда Output задает путь для вывода лог-файла в который будет выводится результат обмена. Для автоматического запуска наших скриптов создадим пакетный файл Avtoobmen.bat и напишем в него следующие строки:

Первая строка запускает загрузку автообмена с ftp-сервера, вторая запускает 1С в пакетном режиме, после ключа /D указывается в кавычках путь к БД так, как он прописан в окне запуска 1С, ключ /N указывает пользователя для допуска у БД, а ключ /P его пароль. Последний ключ /@ указывает путь к файлу autoexec.prm без кавычек. Обратите внимание, что между ключем и его параметром пробелы отсутствуют. Третья строка запускает загрузку на сервер. Если все пути и учетные данные указаны правильно, то по запуску bat-файла должно появиться черное окно консоли WinSCP, затем окно конфигуратора 1С, затем снова консоль WinSCP, которая закроется автоматически.

Для периферийной базы необходимо изменить get.ini и put.ini на загрузку / выгрузку файлов соответствующих базе. В нашем примере следует изменить следующие строки (будем считать, что пути к базам на обоих машинах одинаковы):

get.ini

put.ini

В окончание настройки следует внести коррективы в Avtoobmen.bat с учетом реальных путей файлам и параметров доступа к базе. В дальнейшем обмен осуществляется запуском пользователем ярлыка на Avtoobmen.bat.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Читайте также:  Как настроить вариатор снегохода буран