Files
octopus/myproject/test_customer_preprocess.csv
Andrey Smakotin b201c71311 Улучшение импорта клиентов: предобработка данных, умное слияние, прогресс-бар
- Добавлена предобработка email перед валидацией:
  * Исправление типичных опечаток (mail ru -> mail.ru, .ry -> .ru)
  * Удаление пробелов и двойных @@
  * Умное добавление @ для популярных доменов
  * Исправление доменов без точки (gmail -> gmail.com)

- Улучшена нормализация телефонов:
  * Умное добавление кода страны (+375, +7, +380)
  * Конверсия старого формата 8XXXXXXXXXX -> +7XXXXXXXXXX
  * Проверка длины номера (10-15 символов)
  * Поддержка локальных белорусских номеров (9 цифр)

- Реализована идемпотентность импорта:
  * Notes не раздуваются при повторных импортах (метод _append_unique_note)
  * ContactChannel не дублируется для одного клиента
  * Проверка существования альтернативных контактов по customer+type+value

- Добавлен прогресс-бар и защита от закрытия:
  * Визуальный прогресс-бар с анимацией и динамическим текстом
  * Блокировка формы во время импорта
  * Предупреждение браузера при попытке закрыть страницу

- Создана команда clear_anatol_customers для тестирования

- Добавлен тестовый файл test_customer_preprocess.csv с примерами исправляемых ошибок
2026-01-03 14:30:18 +03:00

931 B

1ИмяEmailТелефонЗаметки
2Тест1test @gmail com8 029 123-45-67Пробелы в email и старый формат телефона
3Тест2user@@mail.ru375291234567Двойной @@ и белорусский без +
4Тест3contact.ry+7 (921) 555-44-33Опечатка .ry вместо .ru
5Тест4infogmail380501234567Нет @ но есть gmail и украинский номер
6Тест5admin/com291234567Слэш вместо точки и 9 цифр (Беларусь)
7Тест6user@mailru7 921 555 44 33Домен без точки и российский формат
8Тест7test ya ruПробелы в домене (нет телефона)
9Тест88 (029) 999-88-77Нет email (только телефон 8...)
10Тест9invalid123ОШИБКА: оба невалидны
11Тест10good@test.by+375291111111Валидные данные (контрольная)