Как сделать автообмен в 1с

Обновлено: 03.07.2024

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

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

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

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

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

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

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

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

Реализация

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

Обмен

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

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

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

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

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

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

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

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

Часто компании в своей работе используют больше одной программы 1С и испытывают сложности с настройкой регулярного обмена данными между ними. Хорошо, когда все программы 1С находятся на поддержке, оперативно вами обновляются и для этих программ существует типовая синхронизация данных. Но во многих случаях программа для автоматизации управленческого учета имеет значительные доработки и не обновляется. При этом на другой стороне обмена может находиться бухгалтерская программа, полностью типовая. И изменения в бухгалтерскую программу вносить категорически не рекомендуется. Как тогда настроить автоматический обмен между базами 1С?

Или может возникать необходимость постоянного обмена данными на время перехода со старой учетной программы на новую, например, при переходе с КА 1.1 на КА 2. В переходный период учет ведется в обеих программах. Часть отделов компании уже ведут работу в новой программе, а часть - только готовятся к переходу. Чтобы решить эту проблему на этапе тестовой эксплуатации новой программы 1С есть смысл необходимые данные переносить автоматически из старой программы 1С в новую.
Знакомая ситуация? И как ее решить?

Решение есть.

Решать эту задачу можно разными способами. Можно разработать свой план обмен, попробовать обмен через формат Enterprise Data или дорабатывать бухгалтерскую программу через расширения. Однако все эти способы весьма трудозатраты и часто чреваты сложностями в дальнейшем сопровождении ваших баз 1С. Наша компания разработала для автоматизации обменов специальную программу: МС:Автообмен.

Что она делает?

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

Использовать программу очень просто:
Достаточно заполнить настройки, указать путь к правилам и базам, и морально подготовиться к цифровой магии, где вы ничего не редактируете вручную!

Презентация новой версии МС:Автообмен, ред.1.4 (видео со звуком):

Видеодемонстрация прошлой версии МС:Автообмен, ред.1.3 (без звука):

И вы получаете:

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

Особенности

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

Развитие и стоимость

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

Добавлен функционал в версии 1.4.х:

  • Выгрузка данных через подключение к базе-источнику через web-сервис (база должна быть на УФ, web-сервис подключается через расширение)
  • Добавлен выбор, какие объекты должны выгружаться из тех, что есть в правилах конвертации
  • Добавлен фильтр по организациям
  • Проведена работа по оптимизации производительности

Добавлен функционал в версии 1.3.х:

  • Обмен с помощью подключаемых правил конвертации, разработанных в 1С:Конвертация данных, ред.2.1
  • Автоматический запуск обмена по расписанию
  • Автоматическая настройка узла в базе-источнике для регистрации на нем изменений в процессе работы пользователей в базе 1С
  • Начальная регистрация изменений на узле начиная с выбранной даты

Требования

Необходима актуальная версия платформы 1С:Предприятие 8.3 (тестировалось на 8.3.15.1489).

Программы 1С подходят любые, между которыми у вас есть готовые правила конвертации данных.

Другие наши разработки

Причины купить

  • Самостоятельная разработка подобной программы займет десятки рабочих часов программиста.
  • Решение позволяет быстро запустить автоматический обмен между программами 1С только измененными объектами.

Достоинства

  • Простое, быстрое, недорогое решение для быстрой настройки обменов данными между вашими базами 1С.
  • Базы остаются на поддержки, никаких изменений в них не вносится.

Сравнение версий

08.10.2019 - разработка опубликована на Инфостарте.

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

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

Чего я только не перепробовал, а начинал я с «Обмена через файловый ресурс», на тот момент у меня было на вооружение 10 розничных точек находившихся в разных частях города. Из 10 точек в 8 был интернет, и там я установил чудесную программу «Dropbox», ее устанавливаем на сервер и на компьютор клиента , тогда мне очень помог планировщик 1с.

Что для этого нужно? А нужно нам зайти в сервис→ прочий обмен данными→ выполнить обмен данными → затем выбрать настройку обмена


Затем нужно перейти в вкладку "Интерактивный обмен", поставить галочку "Выполнить обмен данными под полными правами"


Затем переходим в вкладку Автоматический обмен

Здесь выбираем свою настройку или добавляем


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

Чтобы не потерялсь каждый день, в появившимся окне "Расписание", ставим 1" Повторять каждый день"


Переходим на закладку "Дневной", там я поставил 7200 секунд. Это означает, что обмен будет запускаться каждый день, каждые 2 часа. После этого нажимаем "Ок".


Следуем дальше. Переходим на закладку "Обмен по событиям"

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

Ну вот и разобрали мы первый вариант

Вариант номер 2

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

Потому что, при реализаци автообмена для 30 и выше точек, при выполнение задачи стандартным планировщиком 1с, он повисает(((

1)Для начала надо убрать галочку использовать расписание для выполнения обмена

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

"anyserv". Хочу заметить, что программа открывается под правами Администратора, иначе могут возникнуть сложности на Win7,windows server .

В первом поле вводим полный путь к исполнительному файлу приложения, которое будет запускаться как служба. В графе "Имя службы" указываем как будет называться наша служба. В "Описание службы" - любое понятное вам описание нового сервиса. Далее можно проставить нужные галочки:

  • Взаимодействие с рабочим столом - отметьте, если приложение имеет иконку в системном лотке;
  • Автозапуск службы - отметьте, если хотите, чтобы сервис запускался автоматически
  • Запустить сразу после создания - отметьте, если хотите, чтобы служба запустилась сразу после ее создания;
  • Но для нашей ситуации галочки ставить не надо!

Как пример работы утилиты, попробуем запустить в виде системной службы 1с

После заполнения всех необходимых полей, нажимаем кнопку "Создать"

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

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

Дальше нам нужно будет проследовать HKEY_LOCAL_MACHINE →SYSTEM→CurrentControlSet→services→ здесь мы ищем название своей службы →Parameters→ Application

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

Файловый→"C:\Program Files\1cv82\8.2.17.153\bin\1cv8.exe" ENTERPRISE /F"путь к файловой базе\" /N"пользователь" /P"пароль"

SQL→ "C:\Program Files (x86)\1cv82\8.2.17.153\bin\1cv8.exe" ENTERPRISE /s"имя сервера\имя базы"\" /N"пользователь" /P"пароль"

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

net start имя службы

timeout 240

net stop имя службы

exit

где net start *это запуск службы

timeout 240 * таймаут (Можете увеличить или уменьшить количество секунд, в зависимости от надобности, но мне вполне хватает)

net stop * остановить службу

exit * выход

Так как у меня розничных точек свыше 30 прикладываю батник

После этого, заходим в пуск, и в окне поиска прописываем команду: cmd для вызова командной строки. В командной строке, прописываем такую команду: Schtasks /Create /tn "Запуск cmd" /tr cmd.exe /sc daily /st 08:00 /ri 60 /du 24:00 и нажимаем enter

schtasks /create /tn - имя задания, /tr - выполнение задания, /sc ежеминутно [ /mo ] ,[ /st - время запуска, /sd - дата запуска, /ed - дата окончания, /s компьютер, /u - домен, пользователь /p - пароль, /ru <[ домен \] пользователь | "System" > [ /rp пароль ]]

Затем заходим в планировщик операционной системы: пуск → все программы → стандартные → служебные → планировщик заданий

Нам нужно найти наше задание. Открываем его.

Ставим галочку "Выполнять с наивысшими правами", затем переходим на вкладку

Действие→Нажимаем кнопку создать →обзор и указываем путь на наш батник, затем жмем "ок"

Жмем "ок ", затем в планировщике нажимаем кнопку выполнить. Заходим в сервис "активные пользователи", и видим, что наш обмен идет по истечению установленного времени. Служба закроется, и проверить прошел ли обмен, мы можем через монитор обмена. Надеюсь, вам моя статья пригодиться!

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

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

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

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

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

1cv82-avtoobmen-2-001.jpg

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

1cv82-avtoobmen-2-002.jpg

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

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

1cv82-avtoobmen-2-004.jpg

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

1cv82-avtoobmen-2-005.jpg

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

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

1cv82-avtoobmen-2-007.jpg

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

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

1cv82-avtoobmen-2-009.jpg

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

1cv82-avtoobmen-2-010.jpg

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

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

1cv82-avtoobmen-2-011.jpg

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

Читайте также: