gifts2017

1с77 + УРБД + DropBox

Опубликовал Антон (anton.fly7) в раздел Администрирование - Распределенная БД (УРИБ, УРБД)

Удачное решение полуавтоматического обмена УРБД через DropBox

Компания, в которой я работаю занимается розничной торговлей. У нас 6 магазинов + офис.

Все это работает на дописаной 1с77 ТиC + УРБД. В каждом магазине компьютер, на неи 1с77 ТиС + Самописным фронт + Торговое оборудование. Магазины небольшие - от 70 до 150кв.м. Кроме кассовых функций, 1с77 в магазине служит для оприходования товара, печати этикеток, инвентаризаций, и т.п.

DropBox уже третье решение по обмену файлами.

Первый был через электропочту. Файлы отправлял-получал обработкой, с помощью внешней компоненты. Плюсы в том что худо-бедно работало. Минусы: некоторые письма сервера резали как спам, иногда бывало подвиснет интернет и при пересылке большого файла (при обновлении конфиги 4,7мб) компонента не могла прокачать письмо и все повисало и т.п. проблемы

Второй способ обмен через FTP. Работало стабильно, но минусы теже. При пересылке большого файла работа магазина вставала... Или FTP сервер подвис и 1с его не видит, или в магазине интернет отпал... Файлы отправлял получал в самой 1с с помощью DialMail.dll

Была даже написана небольшая софтинка на VB.Net, она умела запускать конфигуратор с параметрами, переименовывать файлы обмена и отправлять-забирать их с FTP сервера. Но на магазинах она не прижилась... по некотрым причинам...

Ну и последний вариант это обмен с помощью DropBox

http://www.DropBox.com это сервис синхронизации информации одного компьютера с любым другим на котором запущен сервис с тем же логин\паролем. Также сервис позволяет синхронизировать одну папку одного аккаунта с другим аккаунтом (Share folder)

На хабре часто делятся не стандартными способами использования этим удобным сервисом http://habrahabr.ru/tag/dropbox/

 

Для каждого узла УРБД (офис и магазины) завел отдельный аккаунт в BropBox. В центральном акк сделал несколько папок (по числу распределенных узлов) и рашарил каждую папку центрального узла с соответствующим аккаунтом DropBox распределенного узла УРБД.

Можно было конечно использовать один и тот же аккаунт BropBox во всех магазинах, но в этом случае файл обмена каждого магазина грузился бы в каждый магазин. Если это вечерний файл обмена магазина, то размер примерно 1-2 Кб, и фиг бы с ним, пусть грузится по всем магазинам. Но если была изменена конфига (а она у меня в постоянном тюнинге :) то файл обмена уже 4,8Мб При 6 распределенных узлах это каждый магазин должен прогрузить 4,8Мб*6 при обновлении

В общем то сам алгоритм обмена:

При обмене Центр -> Переферийная база

  1. 1сЦентр генерирует файл параметров для запуска конфигуратора
  2. 1сЦентр генерирует cmd.bat для:
    1. запуска конфигуратора с файлом парамтеров из п.1
    2. переименования файла выгрузки (например 4050.zip -> pr_405_2010-06-30_12-00-05.zik) это делаю чтоб каждый файл обмена был уникальный и не потерялся при следующем обмене
    3. копирования файла pr_405_2010-06-30_12-00-05.zik в архив и в папку DropBox_а для конкретного узла
    4. удаления файлов параметров, cmd.bat, лога УРБД
  3. 1сЦентр запускает cmd.bat и закрывает сама себя. Практика показала что времени на закрытие 1с до запуска конфигуратора очень даже хватает

После того как обмен отработает и файл попадет в папку DropBox_а можно работать в 1сЦентр, а переферийный комп получит свой файл когда DropBox прокачает его. Даже если нет интернета в офисе или магазине, файл дойдет когда инет появится. В идеале через минут 5-10 можно звонить в магазин и просить чтоб нажали обмен.

Примерно так же настроен обмен папкой ExtForms из офиса в магазины

 

Если кто-то решит зарегистрироваться в DropBox, пожалуста, используйте мой реферал :) за это добавляют место на сервере (250Мб за каждого подписавшегося)

https://www.dropbox.com/referrals/NTU3NzE3ODk

 

Буду рад ответить на вопросы :)

UPD По поводу приложенной обработки:

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

2) в константы добавил КодУРБД, без миграции. Т.о. в центральной базе она равна "000", в переферийных коду УРБД из конфигуратора

3) в настройках автообмена УРБД указал общую папку выгрузки-загрузки КаталогИБ() + "Exch", внутри этой папки есть папка "Архив".

Для автоматической настройки этой опции пытался использовать скрипты, но пока ничего не получилось... попытки описаны тут: http://www.forum.mista.ru/topic.php?id=490386

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

Наименование Файл Версия Размер Кол. Скачив.
РаботаУРБД.ert
.ert 40,50Kb
21.02.12
41
.ert 40,50Kb 41 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. script Мальчинко (script) 03.07.10 00:06
URBDMaster + Сеть через VPN + Обмен каждые 5 мин.
Все летает несколько лет - 6 переф. баз.
Конечно с УРБД есть заморочки но они есть всегда при любых вариантах

Да кстати. Для кассовіх документов, что бы соблюсти сквозную нумерацию
На отдельном веб ресурсе лежит база на MySQL. При записи нового документа начер специальную ВК 1С обращается к этой базе и считывает из таблиц последний номер - прибавляет 1 получает новый номер документа и тут же его записывает обратно в эту же таблицу. И так далее... каждая переф. база перед выпиской кассовых доументов обращается на Веб ресурс в инете за номерами. Если инета нет тогда из переф баз звонят в центральную идалее выдача номеров по журналу.
Но все это уже позапрошлый век.....
2. Антон (anton.fly7) 03.07.10 10:03
(1) Я не утверждаю что это единственно верное решение обмена :) к тому же Ваш мастер - платная программа, а мой вариант требует только интеллектуальных вложений.
Главное удобство, с моей точки зрения, в том что обмен происходит независимо от наличия интернета в данный момент времени - DropBox прокачает файл когда будет on-line
3. Антон (anton.fly7) 04.07.10 13:27
Заранее всем спасибо за использование реферала )))
4. Арутюн (harutyunb) 05.07.12 17:45
очень интересная разработка, жаль сейчас не могу тестировать, у меня баз 9
5. Павел Силуянов (padlik07) 26.02.13 12:50
как жаль что раньше на статью не наткнулся =( пользуюсь дропбоксом уже давно но для решения данных целей и в голову не приходилось. обычно создавал виртуальную локальную сеть с помощью himachi и создавал общую папку. минус состоял в том что модемы использовались 3g и соединение было не стабильным, а после обновления смертельно долго было ждать пока все данные выгрузятся в обмен. осуществлял я это к тому же не на 7.7, а на 8.2 и фаил для обновления переферийного узла весил порядка 200 мб.
6. Дмитрий Воробьев (fieryfist) 28.05.14 14:50
Недавно стал использовать dropbox в обменах, столкнулся со следующей проблемой - если файл обмена очень большой (у меня был 400мб), то на компе где ХР вылетает 1С и дропбокс с ошибкой, когда 1с читает файл обмена, сервер 2008 просто виснет. Сначала не знал, по какой причине виснет, теперь уверен на 100% из-за дропбокса. Думаю может причина в том, что и дропбокс читает файл (синхронизирует) и 1С одновременно, но тогда почему виснет сервер... непонятно, файл обмена 1с не читает. специально закрывал все процессы
7. Виктор Сергиенко (nextkmv) 03.11.14 17:57
Встречал такие ошибки при обмене, лечил переводом обмена на FTP, благо сайт с FTP сейчас практически у каждой конторы. ИМХО FTP пока надежнее DropBox будет.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа