Программа обмена файлами
Задача.
Необходимо обеспечить обмен файлами между базами 1С. Эти базы делают выгрузки файлов каждая в свой каталог для выгрузки и загружают все файлы, попавшие в соответствующий каталог загрузки.
Каждый выгруженный файл в своём имени содержит код офиса и код юрлица. Если код офиса не равен нулю, тогда этот файл должен попасть только тем адресатам, у которых реквизит код офиса равен коду офиса указанному в файле или нулю. Тоже самое с кодом юрлица.
Пример.
Формат имени файла: ххх-ооо-ююю-ххх.txt где «ООО» - код офиса, «ююю» - код юрлица.
Реестр адресатов:
id наименование Код региона Код юрлица
1 Лукойл 000 001
2 Газпром 000 002
3 Татнефть 000 003
4 Север 001 000
5 Юг 002 000
6 Восток 003 000
7 Запад 004 000
1. Лукойл выдаёт файл в свой каталог выгрузки с именем ххх-000-000-ххх.txt. Этот файл нужно доставить по всем остальным шести базам, т.к. коды офиса и юрлица не заданы в файле
2. Лукойл выдаёт файл в свой каталог выгрузки с именем ххх-001-000-ххх.txt. Этот файл нужно доставить в базу Север, т.к. у этой базы совпал код региона с тем, который в файле, и в базы Газпром и Татнефть, т.к. у этих баз код равен нулю
3. Юг выдаёт файл в свой каталог выгрузки с именем ххх-003-002-ххх.txt. Этот файл нужно доставить в базы Восток и Газпром
4.
В каждую локальную сеть ставится программа, которая обслуживает базы в пределах локальной сети и обменивается по электронной почте с другими аналогичными программами в других сетях. Выгружаемый файл отправляется в эту программу, которая по имени файла определяет, куда его переправлять. Если база 1С находится в пределах локальной сети, тогда программа сама копирует файл обмена в каталог загрузки базы. Если база расположена в другой сети, тогда программа отправляет электронное письмо с приаттаченным файлом обмена на соответствующий адрес.
Программа регулярно проверяет входящую почту. При наличии там писем, он их скачивает, вытаскивает из них файлы обмена и складывает в каталог загрузки базы.
Так же клиент постоянно сканирует каталог выгрузки и при наличии там каких либо файлов он отправляет их адресатам по почте либо прямым копированием.
Настройки программы:
- электронный адрес для входящих сообщений
- POP3
- SMTP
Реестр участников обмена (адресатов)
Реквизиты адресата:
- id
- код офиса
- код юрлица
- режим работы внутрисетевой (каталог обмена)/ удаленный (электронный адрес)
- каталог входящих сообщений
- каталог исходящих сообщений
- электронный адрес
Реквизиты базы офисов:
- код
- наименование
Реквизиты юрлица:
- код
- наименование