Автоматическая загрузка прайс-листов из почты в 1С:УНФ
Интеграция - Загрузка и выгрузка в Excel
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Задача
Поставщики присылают прайс-листы по email в виде Excel-файлов. Вручную переносить цены в 1С — долго и с риском ошибок. Нужно, чтобы 1С сама забирала актуальные цены из почты и создавала документ установки цен без участия менеджера.
Что делает расширение
Чтение почты. Регламентное задание подключается к ящику по IMAP, используя учётную запись, уже настроенную во встроенной почте УНФ. Перебираются письма за указанный период (константа, по умолчанию 14 дней). Письма, обработанные ранее, пропускаются — идентификатор каждого сообщения сохраняется в регистре сведений ЧАС_ОбработанныеПисьмаПрайсов.
Разбор Excel. Из письма берутся все вложения с расширениями xlsx, xlsm, ods. В файле автоматически ищется строка заголовка (среди первых 30 строк), содержащая одновременно три колонки: «Артикул», «Номенклатура» и «Цена для загрузки в 1С». Сравнение нечувствительно к регистру, пробелам, знакам препинания и визуально похожим латинским буквам (C/С, A/А и т.д.) — файл распознается корректно даже при минимальных отличиях в оформлении заголовков.
Поиск номенклатуры. Все артикулы из файла сопоставляются с базой одним запросом через временную таблицу — без цикличных обращений к справочнику. Если по артикулу найдено несколько позиций, используется та, что идёт первой по коду; в протокол записывается предупреждение.
Создание новой номенклатуры. Если артикул не найден, элемент создаётся с заполненными наименованием и артикулом в режиме ОбменДанными.Загрузка = Истина. Код устанавливается явно через УстановитьНовыйКод(). Номенклатура создаётся даже для строк с незаполненной ценой — чтобы позиция появилась в базе, даже если цену поставщик пока не прислал.
Строки с незаполненной или нечисловой ценой не попадают в документ установки цен, но фиксируются в протоколе. Поддерживается как числовое значение, так и текстовое (с запятой в качестве разделителя).
Документ установки цен создаётся один на каждый файл-вложение. Вид цены берётся из константы. Документ может быть записан или сразу проведён — настраивается константой.
Оповещение об отсутствии прайсов. Если с последнего успешного создания документа прошло больше N дней (константа, по умолчанию 7), пользователь получает три сигнала: тост при открытии обработки, запись в центр оповещений БСП (колокольчик в шапке) при входе в систему, запись уровня «Ошибка» в журнал регистрации при следующем срабатывании регламентного задания.
Состав расширения
Константы:
ЧАС_ВидЦеныЗагрузкиПрайсов— вид цены для документаЧАС_УчетнаяЗаписьПочтыДляПрайсов— учётная запись встроенной почтыЧАС_ПапкаПочтыДляПрайсов— папка IMAP (по умолчанию INBOX)ЧАС_ПериодАнализаПисемПрайсовДней— глубина просмотра ящикаЧАС_ГруппаНоменклатурыДляПрайсов— группа для создаваемой номенклатурыЧАС_ПроводитьУстановкуЦенПриЗагрузке— проводить или только записыватьЧАС_ДатаПоследнейЗагрузкиПрайса— служебная, устанавливается автоматическиЧАС_ПериодАлертаОтсутствияПрайсовДней— порог для уведомлений
Регистр сведений ЧАС_ОбработанныеПисьмаПрайсов — дедупликация писем.
Общие модули: ЧАС_ЗагрузкаПрайсов (разбор файла, поиск и создание номенклатуры, формирование документа), ЧАС_ЗагрузкаПрайсовИзПочты (IMAP, перебор писем, регистрация, оповещения).
Обработка ЧАС_ЗагрузкаПрайсЛистов — ручной запуск: выбор файла с диска, кнопка «Проверить почту», поле протокола, тост-оповещение при открытии.
Регламентное задание ЧАС_ЗагрузкаПрайсовИзПочты.
Требования
- 1С:УНФ (конфигурация с документом «Установка цен номенклатуры»)
- Платформа 1С:Предприятие 8.5
- Доступ к серверу IMAP (для Яндекса требуется пароль приложения, не пароль от аккаунта)
- Формат файла: xlsx, xlsm, ods. Старый формат xls (BIFF) не поддерживается платформенным ТабличныйДокумент.Прочитать — такие вложения пропускаются с записью в протокол
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.123
Вступайте в нашу телеграмм-группу Инфостарт
См. также
5490 руб.
12.08.2021 48503 654 71
6000 руб.
11.12.2019 68093 1163 3
12444 руб.
29.10.2014 237939 777 544
6000 руб.
26.11.2020 51315 865 4
6000 руб.
01.03.2021 13449 89 0