Общее описание:
Ищем исполнителя для решения задачи автоматизации обновления данных о товарных остатках поставщиков. В первую очередь рассматривается поиск и адаптация существующего готового решения. Если готового решения, соответствующего ключевым требованиям, не найдется, рассматривается разработка расширения с нуля.
Основная цель — настроить стабильную и автоматическую загрузку остатков. Дополнительной (опциональной) задачей является настройка загрузки прайс-листов. Возможен рассмотрение отдельно или в комплексе.
Конфигурация 1С:
Программа: Business Automation Software for small company. PROF
Версия: 1.6.21.3
Требование: Решение должно быть реализовано исключительно в виде расширения, без внесения изменений в основную конфигурацию.
Подход к реализации (Важная заметка для исполнителей):
Мы открыты к вашим предложениям! Если у вас есть:
Готовое расширение, которое частично соответствует требованиям — предлагайте его с описанием необходимых доработок.
Своё видение или альтернативный подход к реализации — мы с радостью его рассмотрим. Наша цель — получить эффективный рабочий инструмент, и мы готовы быть гибкими в способах её достижения.
Основные требования к функционалу:
1. Получение данных:
- Письма с прямыми вложениями (файлами).
- Письма, в теле которых содержится прямая ссылка для загрузки файла (без необходимости ввода логинов/паролей на сторонних порталах).
Фильтрация вложений: Возможность указать "маску" имени файла или расширения для каждого поставщика (например, *stock*.xlsx), чтобы система автоматически игнорировала другие вложения в письме (счета, картинки с подписями, PDF-каталоги).
Форматы файлов: Excel (.xls, .xlsx), CSV, XML.
2. Настройка и обработка данных:
Необходимо реализовать гибкий интерфейс настройки для каждого поставщика отдельно.
Логика сопоставления номенклатуры: Сопоставление товаров должно происходить строго по артикулу.
Обработка несопоставленных позиций: Если артикул из файла не найден в базе 1С, система не должна создавать новую номенклатуру. Вместо этого, должен формироваться отчет с перечнем таких позиций для дальнейшего анализа менеджером.
Обработка неполных файлов: Система должна корректно обрабатывать файлы, содержащие только остатки (без цен) или только цены (без остатков), обновляя в 1С только те данные, которые присутствуют в файле.
Оптимизация работы с памятью: Парсинг больших Excel-файлов должен происходить максимально оптимизировано (например, чтение через табличный документ на стороне сервера или с помощью специализированных библиотек), чтобы избежать аварийного завершения 32-битной клиентской программы из-за нехватки оперативной памяти.
Единицы измерения и валюты (опционально): Возможность указать валюту входного файла (с автоконвертацией) и задать коэффициент упаковки для корректного расчета базовых единиц измерения.
3. Логика загрузки данных:
Основное задание: Загрузка остатков
Это ключевая и обязательная часть функционала.
Критическое требование к очистке: Очистка предыдущих остатков конкретного поставщика должна происходить исключительно после успешного считывания и полной валидации нового файла. Если файл поврежден, пустой или изменилась структура колонок — старые остатки не удаляются, а система просто генерирует ошибку. Это необходимо для избежания случайного обнуления базы и гарантии наличия данных.
Дополнительное (опциональное) задание: Загрузка прайс-листов
Эта функциональность будет преимуществом, но не является обязательной на первом этапе.
Статические цены: Возможность загружать цены в три определенные типа цен в 1С: "Закупочная", "VIP цена", "Розничная".
Расчетные цены: Необходимо предусмотреть гибкий механизм расчета цен по формулам, который настраивается для каждого поставщика. Например:
Вариант А: Базовой является розничная цена из файла, а закупочная и VIP рассчитываются как процент от неё.
Вариант Б: Базовой является закупочная цена, а розничная и VIP рассчитываются с помощью наценки.
Должна быть возможность задавать базу расчета и формулу для каждого типа цен.
4. Хранение и отображение данных в 1С:
Хранение: Рекомендуется хранить данные в новом Регистре сведений. Однако, мы открыты к вашим предложениям, если вы видите более оптимальный архитектурный подход.
Отображение: Актуальная информация об остатках должна отображаться в следующих интерфейсах:
Форма документа "Заказ покупателя".
Форма "Подбор товаров".
Форма карточки номенклатуры.
Важно: Если один и тот же артикул имеется у нескольких поставщиков, в интерфейсе должно быть четко видно остаток по каждому из них отдельно (например, отдельная информационная панель, всплывающее окно при наведении или дополнительные колонки).
5. Автоматизация:
Загрузка должна выполняться автоматически с помощью серверного регламентного задания (или другого более оптимального подхода).
Должна быть возможность настроить разное время запуска для разных поставщиков (например, 8:00, 10:00).
Обязательно должна быть возможность ручного запуска процесса загрузки.
Система уведомлений: В случае возникновения критических ошибок во время автоматической загрузки (отсутствие файла в письме, неизвестный формат, ошибка чтения), система должна генерировать уведомление для ответственного менеджера (в виде задачи в 1С, сообщения или email).
Результат работы:
Файл расширения (.cfe), или инсталляционный пакет готового решения.
Инструкция пользователя по настройке и использованию.
P.S. Примеры подобных доработок :
1) https://ingenum.ua/analiz-praysov-postavshikov-dlya-bas-ili-1c
2) https://pdk.com.ua/ua/features/dev/monitor_zagruzki-detail/
3)https://nct.ua/catalog/raboty_dlya_1s_8/Automatic-loading-of-price-lists-of-suppliers-and-the-balance-of-goods-from-suppliers/