На предприятии работала интеграция между ERP и 1С через прямые SQL-запросы к базе данных. Это создавало риски:
необходимость иметь действующую лицензию на MSSQL;
зависимость от обновлений и поддержки со стороны Microsoft;
риски зависимости от иностранного вендора.
Задача: заменить прямой доступ на обмен через файлы формата DBF, полностью сохранив существующий функционал синхронизации справочников и документов. Считывание файлов работает медленнее, чем прямой запрос в SQL. На большом объёме данных это будет заметно. Таким образом, потеря функциональности по скорости будет присутствовать.
Стратегическое решение – переход на DBF:
Решение заменить прямой SQL-доступ на обмен через файлы формата DBF, обусловлено некоторыми преимуществами:
не требует лицензирования;
не зависит от внешних поставщиков;
позволяет организовать обмен последовательно, через файловый каталог;
легко контролируется и подлежит аудиту.
Почему выбран формат DBF?
DBF выбран из-за требований к обратной совместимости с существующей ERP-системой, которая на момент старта проекта умела выгружать данные только в DBF. Замена формата потребовала бы доработки ERP, что было невозможно в рамках бюджета и сроков. Переписывание модуля выгрузки в ERP потребовало бы:
остановки производственного процесса;
привлечения разработчиков ERP;
повторного тестирования всей интеграции.
1. Переработали архитектуру выборки данных под DBF:
реализовали программные связи (эмуляция JOIN);
переписали логику для всех ключевых объектов: номенклатура, контрагенты, приходные/расходные накладные, приходные выписки, Банки, БанковскиеСчета, РТУ, СФ, ПТУ, ПоступлениеНаРасчетныйСчет, СчетНаОплатуПокупателю.
2. Адаптировали код под изменяющиеся требования заказчика:
динамический путь к каталогу DBF;
поиск файла по данным, выведенным в наименование файла до его открытия (вместо проверки значения реквизита после открытия файла).;
3. Сохранили возможность отката к синхронизации через SQL
4. Обеспечили отладку без доступа к ERP.
В ходе анализа выявились ключевые ограничения, не очевидные на старте:
|
Что планировали |
Что обнаружили |
|
Файлы DBF соответствуют названиям |
Реальное содержимое файлов не совпадало |
|
Доступ к ERP для проверки |
Доступ отсутствовал. Каждый документ проверялся через цикл: создать через новую обработку → удалить → создать через старую → сравнить |
|
Для каждой вкладки (ТЧ) будет свой файл |
Предоставили несколько папок с файлами для каждой вкладки |
|
|
Отличное количество файлов в DBF от запроса в SQL для ТЧ объектов |
Технические результаты
Произведена полная замена источника данных: с прямого SQL-доступа на обмен через набор DBF-файлов в заданном каталоге;
Весь ранее разработанный функционал синхронизации сохранён в полном объёме;
Реализована программная логика связей между DBF-файлами, эмулирующая SQL JOIN;
Настроены динамические маски поиска и путь к файлам по требованию заказчика;
Код очищен от лишних фрагментов.
Рисунок 1- Архитектура «до» и «после»
|
Критерий |
MSSQL (прямой доступ) |
DBF (файловый обмен) |
|
Зависимость от вендора |
Да (Microsoft) |
Нет |
|
Лицензирование |
Платное, под санкциями |
Бесплатно |
|
Безопасность |
Требует прав на базу |
Доступ только к папке с файлами |
|
Аудит изменений |
Сложно |
Просто (файловая система) |
|
Отказоустойчивость |
Зависит от сети и сервера |
Не требует постоянного соединения |
|
Поддержка в РФ |
Прекращена |
Полная (1С, любые российские ОС) |
Лицензионная чистота;
Независимость от западных вендоров;
Соответствия трендам импортозамещения;
Сохранения функционала обмена при любых изменениях внешней среды.
Наш сайт использует файлы cookie для обеспечения удобства пользователей сайта, его улучшения, сбора статистики и предоставления персонализированных рекомендаций.
Для получения дополнительной информации о целях, сроках и порядке использования файлов cookie вы можете ознакомиться с нашей Политикой обработки файлов cookie