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

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

Разработка - Обмен данными 1С - Распределенная БД (УРИБ, УРБД)

скрипт периодически мониторит папку с файлами автообменов и при появлении в ней нового файла подгружает и отправляет автообмен
скрипт универсальный, список баз и пакетных файлов прописывается в текстовый файл с именем файла скрипта и расширением .lst
Скрипт появился в результате мучений с утилитой nncron, которая использовалась для этих целей. Из-за того, что крон многопоточен, часто случалось, что одновременно стартовало обновление 2 баз - при этом загадочным образом слетали базы из реестра и обновление подвисало на окне ввода пути базы. Если этого не удавалось заметить вовремя, то по принципу домино слетали пути и следующих пришедших автообменов (АО). Кроме того, иногда крону срывало крышу и он начинал запускать подгрузку и отправку автообменов по 2 или 3 (выбранным по его усмотрению) базам непрерывно.
Скрипт на удивление прост - работает уже почти год как часы. Данные об обрабатываемых базах скрипт берет из файла списка с расширением lst.
Пример строки файла списка:
C:\\obmen\\BS21.zip;C:\\obmen\\BS20.zip;\\\\sb-file2\\bases\\Бухгалтерия\\2006\\Бухгалтерия Саратов 2\\;Администратор;1702;c:\\packet\\Bbs2.


Механизм работы АО следующий:
1. Приходит АО по почте. В качестве почтового клиента используется Бат.
2. Бат сортирует письмо в нужную папку и сохраняет файл АО в каталог C:\\obmen\\ (для этого надо настроит правила фильтрации в Бате)
3. Скрипт периодически обрабатывает список баз (одноименный файл с расширением lst).
4. Скрипт мониторит все папки из спика баз и при этом сравнивает время создания файлов входящего и исходящего АО.
5. Если какой-либо из файлов АО не найден, об этом пишется инфа в лог.
6. Если входящий АО свежее, то стартует 1С с пакетным файлом. Опять же, если нет пакетника или базы в реестре, то скрипт ругнется об этом в логе. В пакетнике прописано принять и отправить АО.
7. Скрипт ждет завершения работы 1С с пакетником и переходит к обработке следующей строки списка баз.
8. Скрипт засыпает на 5 минут до следующей проверки.

Если надо добавить еще одну базу, то прописываем ее в 1С (окно старта), добавляем при необходимости правило сортировки в Бат, создаем пакетный файл и добавляем строку для этой базы в файл списка баз. Первые 2 АО (туда-сюда) придется сделать руками, чтобы появились оба файла АО. // Это что касается отдельной базы

Скрипт о своих действиях пишет лог-файл за текущий день (также хранится лог и за предыдущий день)

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

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

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

Наименование Файл Версия Размер
Автообмен 1С

.1215157623 7,11Kb
288
.1215157623 7,11Kb 288 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VV 09.07.08 15:35 Сейчас в теме
1. Зачем проверять Бат? В описании вообще про то, что в скрипте используется почтовый клиент, не написано.
2. Почему не удаляются файлы после удачного обмена?
2. sml 36 09.07.08 17:33 Сейчас в теме
Ой, про Бат я совсем забыл.
Бат установлен почтовым клиентом, а чтобы АО был наверняка отправлен, проверяется, что он работает. У кого АутлЭкспр в кач-ве клиента - посмотрите в процессах название, и поменяейте вместо Бата
Бат выбран из-за того, что у него есть фильтр входящей почты, который позволяет отсортировать письма с АО по папкам (Торговые, Зарплатные, Бухгалтерские) и сохранить вложения в папку на компе.
Аутглюк не советую использовать - он курочит файла АО 1С.

Файлы удалять нельзя, поскольку сравниваются время создания файлов входящего и исходящего АО. Пакетник стартует лишь когда входящий АО свежее исходящего.
3. Dolly_EV 10.07.08 06:57 Сейчас в теме
Вот еще бы прописать, чтобы входящий файл сначала ЗАБИРАЛСЯ по указанному пути (локалка),
и только потом СРАВНИВАЛСЯ, если надо - АО, и ОТПРАВЛЯЛСЯ ОБРАТНО по указанному пути
У меня половина баз - удаленные (по почте), половина - в локальной сетке, но сетка на ADSL, поэтому нельзя сделать общий каталог, надо файлик сначала скопировать
А так, несомненный "+"!
4. Dolly_EV 10.07.08 07:01 Сейчас в теме
и еще хотелка:
структуру файла баз сделать поудобочитаемей
1. каждое поле в отдельной строке, с наименованием (имя:значение)
2. между блоками (относящимися к одной базе) - какойнить разделитель
вобщем что-то типа prm'а 1С-ного
5. sml 36 10.07.08 09:12 Сейчас в теме
dolly_ev
структуру файла менять? А зачем?
У меня в этой структуре отсортированы отдельно зарплатные, отдельно бухгалтерские базы. При добавлении новой базы достаточно добавить лишь одну строку. Да и зарплатные от бух баз видно сразу, где отделены (у них различные каталоги файлов АО) - первый параметр строки отличается.

Для локалки.
А разве нельзя в конфигураторе базы снять флажок "использовать электронную почту", а для файлов АО указать ту папку локалки, откуда вы собираетесь копировать?
Или у вас несколько периферийных баз, и для некоторых из них используется локалка, а для остальных почта?
6. Dolly_EV 10.07.08 09:47 Сейчас в теме
"Или у вас несколько периферийных баз, и для некоторых из них используется локалка, а для остальных почта? "
Да как раз так, один Центр, несколько периф к нему, и эти несколько периф - 4 штуки - по локалке, 3 - по Интернету
в том и проблема, что скрипт не умеет "тянуть" файл из указанного места... еще раз повторюсь локалка в пределах города через ADSL, соединение не надежное, периодически рвется, потому и требуется перед обменом файл положить на жесткий диск, а не по сети его тянуть уже в момент запуска обмена..
7. Dolly_EV 10.07.08 09:56 Сейчас в теме
А по структуре файла - визуально не удобно, когда все поля в одной длинной строке через ; , а блоки - это разные строки
ну и когда есть осмысленное наименование реквизита в самом файле (типа "PathAEin: D:\БлаБла\Блабла") - тоже легче - не надо в случае изменения лезть в шпаргалку, смотреть порядок реквизитов
но это - уже мелочи))
8. sml 36 10.07.08 10:12 Сейчас в теме
предлагаю установить на один из компов ФТП и использовать бач-файл содержащий строку:
ftp -ivs:in_base.txt ftp.ueh.ru
и периодически его запускать из планировщика. В in_base.txt содержатся команды ФТП:
ldb - это логин к ФТП
ldbldb436 - это пароль
lcd c:\obmen - это путь, куда тянуть файл
cd Obmen - Это выбор папки на ФТП (чувствительно к регистру, если ФТП на линухе)
mget MB3C.zip - это сама команда получения файла с ФТП
quit - завершение сеанса ФТП
9. Соня 4 28.09.11 11:33 Сейчас в теме
Я так понимаю, что работает это только на файловом варианте.(( Пичаль!
Оставьте свое сообщение

См. также

Получение измененных документов в 1С: 7.7

Распределенная БД (УРИБ, УРБД) v7.7 1cv7.md Абонемент ($m)

Оперативное получение списка измененных документов 1С: 7.7 (любая конфигурация).

2 стартмани

14.04.2016    13155    11    BackHand001    4    

Выгрузка/загрузка данных распределенной базы 1C: Предприятие 7.7. Торговля+Склад

Распределенная БД (УРИБ, УРБД) v77::ОУ 1С7:ТиС Россия Абонемент ($m)

Программа для загрузки/выгрузки данных распределенной базы 1С: Предприятие 7.7. Торговля+Склад

1 стартмани

11.03.2014    17020    13    OneLive    1    

Универсальный Бат файл для Автообмена через FTP

Распределенная БД (УРИБ, УРБД) Внешние источники данных v7.7 1cv7.md Россия Абонемент ($m)

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

1 стартмани

28.05.2013    20806    48    Dima_    14    

Удаление УРБД в 1С:Предприятие 7.7

Распределенная БД (УРИБ, УРБД) v7.7 Абонемент ($m)

Небольшая программулина для преобразования информационной базы УРИБ (Управление Распределенными Информационными Базами) в обычную для файлового варианта 1С:Предприятие 7.7.

1 стартмани

15.05.2013    12455    24    khvalera    1    

Модификация стандартного механизма УРБД в 1С 7.7

Распределенная БД (УРИБ, УРБД) 1С7.7<->1C7.7 v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

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

7 стартмани

15.12.2012    23259    16    axxell    3    

Поиск в движениях регистров битых ссылок на документы (<объект не найден>) и их пометка, как измененных, в другой базе для переноса по УРБД.

Распределенная БД (УРИБ, УРБД) Поиск данных 1С7.7<->1C7.7 v7.7 1cv7.md Россия Абонемент ($m)

Обработка предназначена для поиска в движениях регистров оперативного учета битых ссылок на документы (<объект не найден>), записи ID этих документов в файл и их пометки, как измененных, в другой (не поврежденной) базе для переноса в исходную с помощью УРБД.

1 стартмани

29.10.2012    17263    31    evgeniybel    3    

Восстановление периферийной базы 1С 7.7 SQL

Распределенная БД (УРИБ, УРБД) v7.7 1cv7.md Казахстан Абонемент ($m)

Обработка поможет восстановить периферийную базу из центральной, для объектов с вариантом миграции "Место создания и центр".

1 стартмани

07.09.2012    14045    30    dark_avenger    3    

Перезапись документов 1С7

Распределенная БД (УРИБ, УРБД) Обработка документов v77::ОУ v77::БУ 1cv7.md Россия Абонемент ($m)

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

1 стартмани

11.02.2012    16159    23    fixin    2    

Просмотр идентификатора объекта в 1С7

Инструментарий разработчика Производительность и оптимизация (HighLoad) Распределенная БД (УРИБ, УРБД) v77::ОУ v77::БУ 1cv7.md Абонемент ($m)

Обработка позволяет посмотреть внутренний идентификатор объекта (документа, справочника, счета) в 1С7. Универсальная.

1 стартмани

11.02.2012    16970    13    fixin    4    

Поиск и восстановление битых ссылок (объект не найден) в реквизитах документов с помощью УРБД 1с 7.7

Распределенная БД (УРИБ, УРБД) Тестирование и исправление v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Данная обработка выполняет два действия: 1. Ищет в реквизитах документов битые ссылки по фразе "<Объект не найден>" и записывает результаты в файл LostIn1c.txt на диск D. 2. С помощью данных в сохраненном файле в связанной через УРБД базе (предполагается, что в этой базе с данными все нормально) находит эти реквизиты и регистрирует их на выгрузку. Ну а дальше достаточно сделать обмен в УРБД между базами, чтобы ссылки восстановились.

1 стартмани

30.11.2011    17898    91    roms6    5    

Редактор автообмена с фильтром

Распределенная БД (УРИБ, УРБД) 1С7.7<->1C7.7 Инструментарий разработчика v7.7 1cv7.md Абонемент ($m)

Обработка, позволяющая "вскрыть черный ящик" стандартного обмена УРБД 1С 7.7, файловой и sql версий

1 стартмани

23.09.2011    13381    68    Guinnbleid    3    

Расширение возможностей УРБД (1С 7.7) + исходники на С++

Распределенная БД (УРИБ, УРБД) 1С7.7<->1C7.7 v77::ОУ 1cv7.md Абонемент ($m)

Обработка позволяет настроить правила выгрузки из центральной базы в периферийные.

1 стартмани

27.05.2010    19487    269    Izosin    23    

Подсчёт числа документов по базам в РИБ

Статистика базы данных Распределенная БД (УРИБ, УРБД) v7.7 1cv7.md Абонемент ($m)

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

1 стартмани

28.02.2010    13188    52    Pim    2    

Программа для автоматического обмена между информационными базами 1С 7.7 (версия 1.8)

Распределенная БД (УРИБ, УРБД) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Программа предназначена для автоматизации обмена в распределенных базах 1С, размещенных в одном сегменте сети.

1 стартмани

22.12.2009    16897    319    ketr    4    

Обрезание распределённой базы по OLE

Свертка базы Распределенная БД (УРИБ, УРБД) 1С7.7<->1C7.7 v77::ОУ v77::БУ 1С7:Бух Россия БУ Абонемент ($m)

В качестве комментария к http://infostart.ru/public/22060/ Позволю себе выложить своё творение 2004 года того же назначения. Выкладывал в обсуждение разработки Dr.HiHi, но оттуда качается коцаный архив. Поэтому выкладываю отдельной программой. Этой обработкой, кстати, сворачивалась большая база. Более 100 Гбайт. Свёртка выполнялась в периферийных базах. Весь процесс занимал не более двенадцати часов.

1 стартмани

31.10.2009    19921    167    Трактор    9    

Замена пароля пользователям на периферийных базах без участия администратора

Распределенная БД (УРИБ, УРБД) Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Оно конечно ежели, но всё же Что касательно, то и относительно И ничего не бывает так чтобы что-нибудь да и случилось, А случись оно, вот тебе и пожалуйста ...

1 стартмани

28.09.2009    8534    39    nick_f1982    4    

Транспорт файлов между удалеными базами

Распределенная БД (УРИБ, УРБД) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Транспорт файлов между удалеными базами с авто поддержкой УРБД, МОД работает через внешнюю SQL базу. Гарантирует полное скачивание файла (в отличие от FTP).

1 стартмани

07.11.2008    23209    353    vde69    14    

СМИТ Восстановление Периферийной Базы 1С 7.7

Сервисные утилиты Распределенная БД (УРИБ, УРБД) v7.7 1cv7.md Россия Абонемент ($m)

Обработка "СМИТ Восстановление Периферийной Базы" предназначена для "стимуляции" Центральной базы РБД к ПОВТОРНОЙ выгрузке образа какой-либо из Периферийных баз

1 стартмани

25.08.2008    15210    207    itsmith    10    

Всем, "обрезавшим" огромные базы 7.7 посвящается...

Свертка базы Распределенная БД (УРИБ, УРБД) v77::ОУ v77::БУ 1С7:Бух 1С7:ТиС Россия Абонемент ($m)

Всем, "обрезавшим" огромные базы 7.7 посвящается... Здесь лежит конфигурация, сама статья находится по адресу http://infostart.ru/articles/277/

1 стартмани

19.12.2007    23476    1268    Dolly_EV    18    

АвтоОбмен:Обмен через FTP

Распределенная БД (УРИБ, УРБД) v7.7 1cv7.md Россия Абонемент ($m)

Обработка Автообмен позволяет дозваниваться и обмениваться файлами выгрузки УРИБ через FTP. Никаких внешних компонент. Всё средствами 1С и Windows.

1 стартмани

03.05.2006    20270    430    Valet    16