#766

Завантажені файли спершу лягають у робочу теку на комп'ютері (зазвичай C:\orders). Верстати з неї зазвичай не читають: їм потрібна мережева тека або підключений диск. Копіюванням туди займається синхронізація.

Коли вона запускається

  • після кожної перевірки замовлень — тобто щоцикл за розкладом;
  • після того як програма закінчила конвертацію файлів;
  • вручну — кнопкою «Перевірити зараз» на вкладці «Головна», вона проганяє весь цикл цілком разом із копіюванням.

Окремої кнопки «тільки синхронізувати» немає.

Що саме копіюється

Програма йде за правилами з файлу synchronize_folders.txt. Кожне правило — це пара «звідки» і «куди». Як вона влаштована, описано у статті Правила маршрутів: формат рядка й два режими.

Усередині правила програма обходить теку-джерело цілком, включно з вкладеними теками, і для кожного файлу вирішує, копіювати його чи ні:

  • Файл без номера замовлення у шляху пропускається. Номер шукається у структурі тек; якщо його немає, файл вважається стороннім і синхронізація його не чіпає.
  • SVG, який ще конвертується, пропускається. Інакше на верстат поїхала б заготовка замість готового файлу. Коли конвертація закінчиться, на диску залишиться вже EMF — його й скопіює наступний цикл.
  • Файл, який уже є в призначенні й того самого розміру, не копіюється повторно. Тому звичайний цикл проходить швидко навіть на великій теці: заново перекладаються тільки нові й ті, що змінилися.

Прибирання застарілих SVG у призначенні

Якщо в теці призначення поруч лежать ім'я.svg та ім'я.emf, SVG видаляється: він застарів, його замінив EMF. Це працює тільки для правил типу folder.

Якщо тека призначення недоступна

Програма пише помилку в журнал і переходить до наступного правила. Завантаження замовлень і конвертація при цьому не зупиняються — файли залишаються в робочій теці й поїдуть на верстат, щойно мережева тека знову з'явиться.

Замовлення, яких немає в базі програми

Якщо в робочій теці лежать файли замовлень, які ця програма не завантажувала (наприклад, залишилися від попереднього встановлення), у журналі з'явиться рядок виду «orders skipped (not in database)» з номерами замовлень і прикладом шляху. Такі файли не копіюються й не видаляються самі — як звільнити під них місце, написано у статті Скільки замовлень зберігати і як чистити диск.

Зворотний бік

Програма пам'ятає, які файли і куди вона скопіювала. Тому при видаленні замовлення вона прибирає не тільки робочу теку, а й скопійовані файли в призначеннях — див. Видалити замовлення й завантажити його заново.

Як перевірити, що все поїхало

Для цього є вікно «Звірка тек»: воно показує по кожному замовленню, скільки файлів у джерелі й скільки в призначенні.