Ошибка при загрузке прайс-листов поставщиков

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Ошибка при загрузке прайс-листов поставщиков, Ошибка при загрузке прайс-листов поставщиков
 
Добрый день!

При загрузке прайс-листов поставщиков столкнулись со следующей проблемой: бывает такое, что в одном прайс-листе есть одинаковые позиции с одинаковыми каталожными номерами. Естественно, сейчас обработка падает с ошибкой о дублирующихся записях РС. Подскажите, как решить проблему.
 
Конфигурация ААА, релиз 22
 
В конфигурациями с которыми я работал приходилось полностью менять принцип загрузки. Если рарусу интересно могу сюда выложить код.
 
Цитата
Евгений Шульц пишет:
Если рарусу интересно....
Интересно. Методы работы с прайс-листом есть куда оптимизировать..
 
Работаю в основном с дилерами поэтому прайсы достаточно большие и приходят в mdb.
Менял несколько процедур. Все мои изменения подписаны ремарками, т.е. видно как было и как стало.
Релиз Альфа-Авто: Автосалон+Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.06)
В прикрепленных файлов тексты модулей
Основная идея изменений в следующим.
Рарус написал так:
1. Читается запись из файла и если нет такой записи в большой таблицы то создается запись в большой таблицы
2. Запись большой таблицы в один проход
В первом пункте проблема в том что после 500 000 записей поиск по этой таблице занимает несколько десятков секунд, а сам прайс у меня был примерно 1 500 000 почти уникальных артикулов
Во втором пункте проблема в том что за один проход даже в регистр сведений затолкать такую таблицу и записать это все достаточно большая проблема даже для мощного сервака на SQL.

у меня идея такая:
1. Читаем все записи и запихиваем без всяких проверок в большую таблицу
2. Сортируем таблицу по артикулу
3. Дробим таблицу на кучу маленьких таблиц и записываем каждую таблицу отдельно. Как ни странно но 10 таблиц по 1 000 запишутся быстрее чем одна на 10 000. При дроблении при обходе большой таблицы сразу и проверяем на уникальность артикулов благо после сортировки это сделать достаточно просто.

Все это писал до появление временных таблиц в запросе. Сейчас бы реализовал через временную таблицу в запросе и в итоге запись уже готовый таблицы из запроса. Но механизм уже отлажен и не хочется трогать то что работает.
По времени получил примерно следующее. До изменений загрузку прайса ставили на ночь и сутра смотрели либо на загруженный прайс либо на ошибку о нехватки памяти. Это примерно часов 12. После изменений загрузка стала происходить днем за минут 40 - час. При этом все остальные пользователи могли спокойно работать.
 
Оказывается, не у одних нас такая проблема, внесу как пожелание к будующим релизам - учесть ситуацию, когда каталожные номера в прайс-листе поставщика повторяются.
 
Цитата
Алексей Клюквин пишет:
Оказывается, не у одних нас такая проблема, внесу как пожелание к будующим релизам - учесть ситуацию, когда каталожные номера в прайс-листе поставщика повторяются.
Стандартно эта ситуация и так учтена, только не очень оптимальна.
 
Цитата
Евгений Шульц пишет:
Цитата
Алексей Клюквин пишет:

Оказывается, не у одних нас такая проблема, внесу как пожелание к будующим релизам - учесть ситуацию, когда каталожные номера в прайс-листе поставщика повторяются.

Стандартно эта ситуация и так учтена, только не очень оптимальна.

Не очень понял. Может разъясните, как, используя типовую обработку загрузки прайс-листов поставщиков, загрузить прайс-лист с повторяющимися позициями?
 
Цитата
Алексей Клюквин пишет:
Не очень понял. Может разъясните, как, используя типовую обработку загрузки прайс-листов поставщиков, загрузить прайс-лист с повторяющимися позициями?
Так там ничего делать и не надо она сама должна проверять. Просто грузите и все. Ну разве что поставить галочку ключ в соответствии полей.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С