Особенно актуально для компаний, которые получают десятки прайс-листов от поставщиков с огромной номенклатурой в 50-100-200 тысяч товаров и более. Совместно с нашими покупателями программы, в результате проработки над задачами было найдено идеальное решение.
ПРИЧИНЫ ПОЯВЛЕНИЯ
1) Абсолютно все конфигурации 1С (УТ, УНФ, КА, ERP, Розница и так далее) содержат функционал ценообразование через так называемую "Установку цен номенклатуры" (документ) и регистр "Цены номенклатуры". Тут вроде как ничего сложного, хотя с формулами целая история, чтобы там не делали - все время нужного функционала не хватает. А чем сложнее там делают, тем сложнее многим добавить свой нужный.2) При большой номенклатуре и объемах данных штатный функционал желает лучшего. Все делается через документ "Установка цен" из которого следует, что его надо сначала заполнить, потом выполнить расчеты из заполненного. Либо где то рассчитать, а потом заполнить уже готовое, но штатные расчеты работают только когда вы его наполнили товарами.
3) Документы в 1С необходимо проводить, а эта процедура не из простых, и достаточно медленная. А с учетом что вы постоянно меняете цены, а регистр периодический, все это дело накапливается и накапливается.
4) В 1С есть ограничения! Не более 100 000 строк в документе. Превышение невозможно - будут кривые данные и резко возрастает нагрузка. Вы скажете - "да у нас меньше номенклатуры, всего 50 тысяч". Но есть ньюанс о котором вы не знаете. То что вы увидите открыв документ не соответствует действительности! Вы там увидите товары строками и цены колонками. Если у вас 2 вида цены плюс закупочная, то вы увидите 3 колонки. Но ньюанс - то что вы видите одно, фактически же в самом документе (внутри) каждая цена - отдельная строка, то есть на каждый товар с видом цены отдельная строка. Итого если 4 цены - 4 строки. Фактически вы можете разместить с такой переоценкой только 25 000 товаров на один документ.
А как вы будете заполнять установку с делением по 25 000? Вы никогда не сможете понять что вы заполнили в каком количестве, где начало, где конец.
Конечно это все можно решить своими средствами и разработками.
В целом картина печальная. Штатный функционал требует работы с документом, с его проведением. Все это очень медленно и долго. Естественно Мегапрайс поддерживает всю эту штатную работу и учитывает особенности.
5) Ряд наших пользователей по специфике работы, работают с большими объемами данных - много прайс-листов поставщиков и большой каталог номенклатуры. ТОП пользователей ежедневно загружают 150-200 прайсов каждый. У многих конечно меньше - десятки штук. Но важно не только наличие прайсов как и объем всего общего каталога. Тут данные разнятся - в среднем это 10-30 тысяч товаров, но часть пользователей работаем с объемом в 100-300 тысяч номенклатуры, а если особые пользователи с миллионами строк.
Мегапрайс не простая разработка, я изначально создал собственную таблицу в 1С (регистр) и все прайсы грузятся в нее (включая то что невозможно даже никак загрузить в штатном функционале, например остатки поставщиков). Я максимально оптимизировал эту загрузку и она замечательно отрабатывает на объемах. В моем распоряжении опыт загрузки прайса в 7 миллионов строк, который загружался в несколько минут.
ТАК ВОТ. В силу ранее описанной мне ситуации с проблемными местами в штатном функционале у этих пользователей огромные проблемы. Практически штатный функционал для них не пригоден для использования. С учетом того что прайсы поставщиков обновляются ежедневно, меняются цены, а остатки еще быстрее - все это записывать штатно, а главное еще и рассчитывать и записывать свои цены с установкой цен - становится не выполнимой задачей. Ваша 1С просто будет висеть. Не помогут даже супер дорогие сервера (очень не дешево), а у многих просто нет таких средств чтобы их покупать.
Открою секрет. Есть компании которые добились огромной автоматизации в этой работе. Но они это сделали не на 1С, это все было сделано собственными разработками СУБД (баз данных) и программируется на других языках (питон, делфи и так далее). В штате работает несколько дорогостоящий программистов, без которых эта система не сможет работать. Они на постоянно основе находятся в штате и работа там не прекращается никогда!
ЗАДАЧА
Каждый день загружаются десятки прайсов поставщиков. Необходимо чтобы внутри 1С происходило ценообразование - сравнивались прайсы и формировалась цена.В любом случае сравнение (анализатор) можно сделать когда все прайсы загрузятся, а их может быть десятки штук. Поэтому пока не произойдет полная загрузка прайсов вы не можете формировать свою цену через анализатор и установку цен, иначе может получится ситуация бесконечных установок цен и в это все время цены будут плясать. Если конечно у вас не обозначены эталонные прайсы основных поставщиков.Присутствуют различные факторы.
1) В некоторых прайсах могут быть рекомендованные цены, но конечная цена может не равняться им. Либо она должна также сравниваться с расчетной ценой.
2) Могут быть различные условия, определенная наценка на конкретного поставщика, различные условия внутри прайса - по группам, видам, производителям.
С учетом всех условий по фильтрации прайсов, обработке номенклатуры, сопоставление производителей и так далее - генерировать цены продажи на базе всех прайс-листов. После чего моментально генерировать свой прайс (выгрузку) для различных покупателей с разными условиями (для конкретных покупателей может быть своя цена).
Все это должно отрабатывать максимально быстро при любом объеме номенклатуры.
РЕШЕНИЕ
Решение состоит из двух этапов в рамках Мегапрайса.ЭТАП ПЕРВЫЙ. Генерация ВИРТУАЛЬНЫХ ЦЕН. Вы загружаете прайсы и в них прям сразу генерируете ЦЕНЫ (три цены продажи). Генерация происходит с помощью готовых встроенных в загрузку настроек или алгоритмов.
Все это дело загружается в таблицу Мегапрайса вместе с закупочными ценами поставщиков и их остатками. Без каких либо документов установки цен (но в загрузке она есть). В итоге мы получаем записи по всем прайсам поставщиков, остаткам, закупочным ценам и также ценам продажи (РРЦ или виртуальные). Кстати РРЦ может участвовать в формуле - например вы делаете свои расчеты, но сравниваете с РРЦ.
ЭТАП ВТОРОЙ. Генерация своего прайса и выгрузка. В Мегапрайс встроен целый справочник "Выгрузка данных" (выгрузок и рассылок может быть любое количество с разными настройками). Выгрузка напрямую берет данные Мегапрайс и формирует ваш прайс - номенклатура, остатки (ваши) + остатки поставщиков ПЛЮС цены. Но не закупочные цены поставщиков, а виртуальные цены которые вы рассчитали и загрузили одновременно с прайсом.
Выгрузка самостоятельно анализирует какие цены лучшие и выдает их в результат. Загрузка с помощью Мегапрайса поддерживает высочайшую скорость загрузки прайсов, не имеющей аналогов. Скорость загрузки 100 000 строк данных составляет менее 1 минуты в полном цикле (чтение файла, полная синхронизация, запись в базу).

