Загальний опис:
Шукаємо виконавця для вирішення задачі автоматизації оновлення даних про товарні залишки постачальників. В першу чергу, розглядається пошук та адаптація існуючого готового рішення. Якщо готового рішення, що відповідає ключовим вимогам, не знайдеться, розглядається розробка розширення з нуля.
Основна мета — налаштувати стабільне та автоматичне завантаження залишків. Додатковою (опціональною) задачею є налаштування завантаження прайс-листів. Можливий розгляд окремо чи в комплексі.
Конфігурація 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/