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

09.07.08

Интеграция - Перенос данных 1C

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

Скачать исходный код

Наименование Файл Версия Размер
Автообмен 1С
.1215157623 7,11Kb
288
.1215157623 7,11Kb 288 Скачать
Скрипт появился в результате мучений с утилитой 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С ТиС 9.2 в 1С БП 3.0 с дополнительными фильтрами по Фирме, Складу, Контрагенту, Проекту, Автору и Юрлицу

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Бухгалтерский учет Управленческий учет Абонемент ($m)

Обработка и правила обмена данными для выгрузки документов и всех связанных с ними справочников из 1С7.7 ТиС 9.2 в 1С8.3 БП 3.0 через файл XML. В типовых конфигурациях уже есть такое решение. Это немного доработанные правила и сама обработка выгрузки, добавлена возможность устанавливать отбор по выгружаемым документам по Фирме, Контрагенту, Складу, Проекту, Автору, ЮрЛицу. А также это внешняя обработка, что даёт возможность адаптировать её под нетиповую ТиС. Обработка и правила тестировались на платформах: 1С: Предприятие 7.7 и 1С: Предприятие 8.3.18.1334. На типовых конфигурациях: «Торговля + склад», редакция 9.2 (7.70 1004) и «Бухгалтерия предприятия» редакция 3.0 (3.0.96.30).

1 стартмани

13.08.2021    8592    53    Kuzya_brаtsk    8    

11

Переход с 1С:Комплексной 7.7 на 1С:УТ 10.3

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 1С:Управление торговлей 10 1С:Комплексная 7.7 Россия Управленческий учет Платные (руб)

Начните вести учет в УТ 10.3! Перенесите все свои данные в УТ 10.3 в любом месяце года и продолжите вести учет! Программа перенесёт любое количество баз с документами и остатками в больших количествах. Обработка выгрузки выполнит проверку исходных данных и сформирует отчет о найденных ошибках в справочниках и документах. Партии переносятся с себестоимостью. Штрихкоды номенклатуры загружаются. Цена переносится. Автор консультирует.

8400 руб.

17.03.2021    15635    5    13    

6

Обмен данными ЗУП 3.1 - Бухгалтерия 7.7

Зарплата Перенос данных 1C Программист Бухгалтер Бухгалтерский учет 7.7 Сложные периодические расчеты 1С:Бухгалтерия 7.7 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Как известно, Бухгалтерия 7.7 не имеет штатной возможности для обмена с ЗУП 3.1. Данная разработка пригодится тем, кто перешел с ЗиК 2.3 на ЗУП 3.1, но вынужден по каким-то своим причинам оставаться на Бухгалтерии 7.7.

18000 руб.

29.09.2020    13636    2    0    

5

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0. Переносятся остатки, документы и справочники

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Предоставляем техподдержку | Обновляем на новые релизы 1С | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - наши сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

45650 руб.

26.05.2020    34393    10    68    

16

Выгрузка данных из 1С 7.7. в формате EnterpriseData 1.6 (универсальный формат обмена) в конфигурации 8.3

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

6000 руб.

18.05.2020    22962    59    39    

36

Конвертация данных из 1С 8.3 в 7.7 (версия КД 2.1). Перенос данных из 8.3 в 7.7. Создание в современной 1С 8.3 XML в формате КД2. Инструкции и примеры переноса данных из любой современной 1С 8.3 в устаревшую конфигурацию 1С 7.7, через Конвертацию данных 2

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

При переходе на новую версию 1С в период параллельной эксплуатации может возникнуть необходимость обратной конвертации данных (по правилам КД версии 2.1) из 1С:Предприятие 8.3 в 1С:Предприятие 7.7 для переноса данных из 1С:Предприятие 8.3 в 7.7. Сделать это поможет следующая инструкция по КД2 о том, как создать новую конвертацию из 8.3 в 7.7, сохранить модуль и правила загрузки данных, сделать загрузку данных. КД2.

17.10.2019    14358    ksnik    0    

15

Загрузка адресов произвольного формата (КЛАДР и нестандартных "грязных" адресов) в ФИАС современных конфигураций из 1С 7.7

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19373    17    ksnik    12    

8

Перенос остатков и документов (обмен) из Комплексной конфигурации 7.7, редакция 4.5, в конфигурацию Управление предприятием ERP 2.0 (Комплексная автоматизация 2.0)

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная 7.7 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Абонемент ($m)

Разработка позволяет перенести остатки по всем счетам бух. учета из "1С:Комплексная конфигурация, редакция 4.5 (7.7)" в программу "1С:Управление предприятием ERP 2.0", на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Конфигурация "1С:Управление предприятием ERP 2.0" является полностью типовой.

5 стартмани

11.01.2019    15818    39    sulig    14    

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

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

Для локалки.
А разве нельзя в конфигураторе базы снять флажок "использовать электронную почту", а для файлов АО указать ту папку локалки, откуда вы собираетесь копировать?
Или у вас несколько периферийных баз, и для некоторых из них используется локалка, а для остальных почта?
6. Dolly_EV 269 10.07.08 09:47 Сейчас в теме
"Или у вас несколько периферийных баз, и для некоторых из них используется локалка, а для остальных почта? "
Да как раз так, один Центр, несколько периф к нему, и эти несколько периф - 4 штуки - по локалке, 3 - по Интернету
в том и проблема, что скрипт не умеет "тянуть" файл из указанного места... еще раз повторюсь локалка в пределах города через ADSL, соединение не надежное, периодически рвется, потому и требуется перед обменом файл положить на жесткий диск, а не по сети его тянуть уже в момент запуска обмена..
7. Dolly_EV 269 10.07.08 09:56 Сейчас в теме
А по структуре файла - визуально не удобно, когда все поля в одной длинной строке через ; , а блоки - это разные строки
ну и когда есть осмысленное наименование реквизита в самом файле (типа "PathAEin: D:\БлаБла\Блабла") - тоже легче - не надо в случае изменения лезть в шпаргалку, смотреть порядок реквизитов
но это - уже мелочи))
8. sml 41 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 Сейчас в теме
Я так понимаю, что работает это только на файловом варианте.(( Пичаль!
Оставьте свое сообщение