Вход | Регистрация
    1  2   

Как выгружать цены на 120.000 товаров * 600 контрагентов? 72 млн цен!

Как выгружать цены на 120.000 товаров * 600 контрагентов? 72 млн цен!
Я
   Хосе
 
13.08.21 - 16:53
Клиент хочет расчитывать индивидуальные цены по сложным правилам только в 1С и выгружать их на сайт.
Получается где-то 72 млн цен.
1С столько не сможет хранить. Если даже и сможет, то если регулярно это все обсчитывать, цены будут не очень оперативно обновляться.
Думаю, выход в том, чтобы в 1С формировать только правила расчета цен, и выгружать их на сайт, а там чтобы скрипт на лету вычислял цены.
Но что-то админы этого сайта могут не осилить.
Или как?
   mikecool
 
1 - 13.08.21 - 16:53
это тебе к Маньяку
   Garykom
 
2 - 13.08.21 - 16:54
(0) как часто цены/правила меняются?
   Garykom
 
3 - 13.08.21 - 16:55
Для начала сократить и вместо контрагентов использовать их группы, для которых цены одинаковы
   Garykom
 
4 - 13.08.21 - 16:56
Во вторых использовать РС и регламентные с фоновые в много потоков
Т.е. поменяли правила - запустился пересчет цен в фоне
   Пиняев
 
5 - 13.08.21 - 16:56
(0) 1С столько сможет хранить. Считай цены в промежуточной базе и оттуда выгружай на сайт.
   Хосе
 
6 - 13.08.21 - 16:56
(2) Не думаю, что прям каждый час. Там измения цен связаны с маркетинговыми акциями. Но может быть и случай: "Вася, счас тебе скидос сделаем", а это счас будет через 8 час, если 1с будет такие объемы пересчитывать. Хотя по одному контрагенту, наверное, можно пересчитать быстро.
   Хосе
 
7 - 13.08.21 - 16:57
(3) конечно, в правилах используются сегменты товаров и контрагентов, но на сайт по идее должно все грузиться в сыром виде.
   Kassern
 
8 - 13.08.21 - 16:57
(0) Есть определенные индивидуальные соглашения, в которых своя цена на товары указана. Есть скидки/наценки по гибким правилам. Есть множество видов цен номенклатуры. Чем из этого пользуетесь и что из этого хотите грузить?
   Garykom
 
9 - 13.08.21 - 16:57
В третьих сказать клиенту что нужен новый сервер, причем не виртуалка для 1С и SQL
Ну и вперед говнокодить
72000000/48 потоков = ? думаю за пару суток пересчитает
   butterbean
 
10 - 13.08.21 - 16:58
(0) обычно для таких целей вводят группы клиентов, штук 4-5. И уже только на эти группы делают цены по формулам. Нафига прям каждому-то своя цена?
   Garykom
 
11 - 13.08.21 - 16:58
(7) На сайт выгружать напрямую из SQL
   Хосе
 
12 - 13.08.21 - 16:58
(5) кстати, да. Это вариант, чтобы писать непосредственно в базу MySQL, общую для сайта и не сайта. Но остается вопрос объема. Если через OLE грузить, это умрет выгруза на 72 млн
   Хосе
 
13 - 13.08.21 - 16:59
(8) ну вот чтобы не париться, админы сперва и предложили - грузить товар + контрагент = цена. Но я сперва не подумал, потом спросил про объемы, тут мы и призадумались. Проект пока на стадии согласования ТЗ
   Garykom
 
14 - 13.08.21 - 16:59
(12) какое к черту оле?
   Хосе
 
15 - 13.08.21 - 16:59
(11) так саму таблицу цен обсчитывать замудохаешься в 1С если
   Garykom
 
16 - 13.08.21 - 16:59
(15) см (9)
   Хосе
 
17 - 13.08.21 - 16:59
(14) ну даже если новомодные внешние таблицы использовать, все равно 72 лимона это 72 лимона
   Garykom
 
18 - 13.08.21 - 17:00
(16)+ надо тестить
   Garykom
 
19 - 13.08.21 - 17:00
(17) ВИД говно
используй ВК
   Хосе
 
20 - 13.08.21 - 17:00
(16) ну параллелизация это хорошая идея, спасибо, но не панацея
   Garykom
 
21 - 13.08.21 - 17:00
Но имхо надо не в линейном на сайт выгружать а все же чтобы там считалось
   Пиняев
 
22 - 13.08.21 - 17:01
(7) В каком, нафик, сыром виде? Вы там сумасшедшие совсем?
   Garykom
 
23 - 13.08.21 - 17:01
(20) Тебе кто то мешает прикупить кластерок на EPYC
   Garykom
 
24 - 13.08.21 - 17:02
Для начала посчитай сколько эти 72 ляма займут места при выгрузке
Если id использовать
   Пиняев
 
25 - 13.08.21 - 17:05
(24) Из этих 72 лямов 90% цен будут совпадать :) Иметь для всех 600 контрагентов разные цены на всю номенклатуру это полная шизофрения.
   Kassern
 
26 - 13.08.21 - 17:05
(0) а можно пример сайта, которым вдохновлялся заказчик?)
Обычно грузят индивидуальные соглашение, может несколько видов цен. На сайте логика кому какой вид цен показывать. Но прям для каждого свою портянку со всеми ценами грузить - первый раз такое вижу.
   Garykom
 
27 - 13.08.21 - 17:07
(25) Это нормально если использовать коэффициенты например по дальности/стоимости доставки
И доставка включена в цену
   Kassern
 
28 - 13.08.21 - 17:07
(25) такое же ощущение складывается
   Kassern
 
29 - 13.08.21 - 17:08
(27) можете живой пример указать? Представляю себе, человек взял такой набил корзину с товарами, нажал кнопу купить, выбрал адрес доставки и вместо пересчета стоимости доставки у него цены в товарах пересчитались))
   Garykom
 
30 - 13.08.21 - 17:09
Как бы сделал я:

1. Поднял на Golang + NoSQL базу для хранения и пересчета цен, с внешним API по заливке номенклатуры, контрагентов и правил. А так же API для получения результата для сайта.
2. Из 1С заливал бы номенклатуру, контрагентов и правила
3. Внутри по MapReduce считается
4. Сайт по API получает актуальную цену
 
 
   Garykom
 
31 - 13.08.21 - 17:10
(30)+ но не все пока умеют в микросервисы
   Garykom
 
32 - 13.08.21 - 17:11
(29) И это нормально вполне, хотя и редкий кейс
   Kassern
 
33 - 13.08.21 - 17:11
(30) а попробовать убедить клиента в бредовости такой идеи? Ведь один и тот же клиент может заказывать под разными пользователями (одна сеть, но разные точки с юр адресами), так же возможно есть быстрая покупка и прочие фишки. По мне так это дело все загнется еще в зародыше и урежется в минимальную выгрузку.
   Garykom
 
34 - 13.08.21 - 17:11
(32)+ На практике тот же DNS разные цены в разных городах
   Garykom
 
35 - 13.08.21 - 17:12
(33) Почему бредовость если можно реализовать
Отдельный вопрос понять а оно точно нужно или есть другое решение
   Kassern
 
36 - 13.08.21 - 17:14
(34) да ладно? Только что потестил на нескольких товарах, что в Москве, что в Екатеринбурге, что во Владивостоке одна цена.
   Garykom
 
37 - 13.08.21 - 17:14
(36) ыыы
   Kassern
 
38 - 13.08.21 - 17:14
(35) да можно что угодно реализовать, но профита особого от этого не будет, а вот в железо ТС точно упрется.
   Garykom
 
39 - 13.08.21 - 17:15
   Garykom
 
40 - 13.08.21 - 17:15
(38) Это обычная BigData
На 1С и обычном реляционном упрется, но MapReduce намного шустрей
   Kassern
 
41 - 13.08.21 - 17:16
(39) может раньше было такое, но вот хороший пример, что от этого бреда отказались
   fisher
 
42 - 13.08.21 - 17:17
Ну не может быть, чтобы у всех 600 клиентов индивидуальные прайсы. Выгружать нужно клиентов, прайсы, и привязку прайса к клиенту.
   Kassern
 
43 - 13.08.21 - 17:17
(40) Ну и сколько готов хозя отвалить за эту бигдату? За сколько лет планирует отбить расходы?
   Garykom
 
44 - 13.08.21 - 17:17
(41) Не отказались
Они тебя идентифицировали, используй анонимайзеры и не на все товары и не все города/регионы разница
   Garykom
 
45 - 13.08.21 - 17:18
(43) Это не дорого, несколько дней работы спеца нужного
Железо обычное вполне потянет
Для разрабов сайта будет очень удобно как и для 1Сников
Только вот в случае изменений снова этого спеца звать
   Пиняев
 
46 - 13.08.21 - 17:19
(34) Не думаю, что там для каждого города хранилась своя цена :)
   Garykom
 
47 - 13.08.21 - 17:19
(46) Я хз но у них своя система не 1С, раньше 1С была отказались
   vvspb
 
48 - 13.08.21 - 17:20
(43) 600 клиентов не много... В чем между ними отличия для индивидуальных цен?
   Пиняев
 
49 - 13.08.21 - 17:20
(27) Я же говорю, шизофрения :)
   Garykom
 
50 - 13.08.21 - 17:21
(49) "Бесплатная доставка"
   Kassern
 
51 - 13.08.21 - 17:22
(44) ну вот, уже привязка к доп спецам по каждому чиху. Тут либо в штат брать, либо аутсорс. А вот сольется исполнитель, как думаете, скоро сможет хозя нового найти не в ущерб продажам, чтобы это дело поддерживать? Поэтому надо 10 раз подумать о целесообразности такого внедрения и какой профит оно принесет.
   Kassern
 
52 - 13.08.21 - 17:23
(50) обычно бесплатную доставку закладывают в пороговую стоимость заказа. Моржа от заказа примерно известна и можно не в убыток себе делать бесплатную доставку.
   Garykom
 
53 - 13.08.21 - 17:23
(51) Если есть исходники найти спеца на бирже на разовую задачу не проблема
   Kassern
 
54 - 13.08.21 - 17:23
(52) *маржа конечно)
   Kassern
 
55 - 13.08.21 - 17:24
(53) сейчас по 1с то тяжело найти спеца, а тут вам по бигдате подавай
   Garykom
 
56 - 13.08.21 - 17:24
(52) А если дикий разброс в стоимости доставки?
И хочется конкурировать?

Так клиент/покупатель вводит адрес свой сначала и сразу на сайте еще до заказа видит "правильные цены" что очень удобно для всех
   Пиняев
 
57 - 13.08.21 - 17:24
(50) Интересно, как будут выкручиваться, если у одного клиента 2 точки на расстоянии 1000 км :)
   Garykom
 
58 - 13.08.21 - 17:24
(55) БигДата она проще 1С
Она просто другая но проще чем все эти ОФ/УФ и прочие СКД/КД
   Kassern
 
59 - 13.08.21 - 17:24
(55) да еще разберись как реализовали прошлые спецы, полюбому без четкой документации своих внедрений. А если с ней, то ценник был бы на порядок выше.
   Garykom
 
60 - 13.08.21 - 17:25
(57) По максимальной
 
 
   Пиняев
 
61 - 13.08.21 - 17:25
(56) А если вводит адрес "самовывоз", тогда что?
   Garykom
 
62 - 13.08.21 - 17:25
(60)+ А можно усреднить или динамически от предыдущих заказов
   Garykom
 
63 - 13.08.21 - 17:25
(61) Точка самовывоза
   Пиняев
 
64 - 13.08.21 - 17:26
(60) Нахрен клиент поставщика с таким ценообразование пошлёт.
   aka MIK
 
65 - 13.08.21 - 17:26
(0) все верно думаешь. Ни в коем случае не выгружать все цены.

Админам сайта - напинать, чтобы подняли свои толстые задницы
   Garykom
 
66 - 13.08.21 - 17:26
(64) Не пошлет
Если у него цена будет лучше и удобней подбирать, не надо отдельно еще допом доставку считать и учитывать как у других
   Пиняев
 
67 - 13.08.21 - 17:27
(63) Цена какая будет? Этак можно договориться, что у каждого клиента будет насколько цен :))
   Garykom
 
68 - 13.08.21 - 17:27
(66)+ А то бывает "За морем телушка – полушка, да рубль перевоз"
   Пиняев
 
69 - 13.08.21 - 17:27
(66) Ну это врядли, иначе Геню бы не наняли :))
   Garykom
 
70 - 13.08.21 - 17:28
(67) Да и это нормально
В аптеках/фармацевтике одинаковый товар имеет разные цены! Особенности ценообразования
   Вафель
 
71 - 13.08.21 - 17:29
(65) ну они же админы, а не разработчики
   Пиняев
 
72 - 13.08.21 - 17:31
(70) А теперь представь себе, что оптовик возит лекарства в 50 аптек одного клиента по всему региону... Это сколько цен будет у одного клиента? 50х?
   vvspb
 
73 - 13.08.21 - 17:31
(0) Клиент хочет/// клиент озвучил сколько он готов на это потратить?
   Garykom
 
74 - 13.08.21 - 17:32
(72) Хехе. Там в клиент-заказе прайсы в которых для каждого клиента свои цены. И да один товар бывает несколькими строчками с кол-во сколько осталось.
   Пиняев
 
75 - 13.08.21 - 17:32
(73) Клиент платит 1800 в час :))
   Garykom
 
76 - 13.08.21 - 17:32
(74)+ еще в 2005 году в Протеке так было
   Kassern
 
77 - 13.08.21 - 17:33
(70) даже, если допустим, что нужно по городам грузить цены, то сразу попадаем на доработку сайта, вычисление клиента, чтобы город не менял, разбухает база сайта, усложняется логика. Если тот же ДНС может себе это позволить, то заказчик ТС - вряд ли. А тут блин не цены для крупных городов, а для всех клиентов свои цены хранить. Такое я ни у одного крупного сервиса даже не видел.
   Garykom
 
78 - 13.08.21 - 17:34
(77) В задаче ТС пофиг на города
Там просто номенклатура, контрагенты и цены
   Garykom
 
79 - 13.08.21 - 17:34
(78)+ Плиз не усложняй, задача пустяковая для спеца
   Kassern
 
80 - 13.08.21 - 17:37
(79) так вот и я не вижу смысла усложнять, по каждому клиенту это делать- бред. В крайнем случае сгруппировать. Делать внешнюю систему для этого дела не имея в штате спеца для поддержки - тоже бред. А профит от этого решения вообще призрачный, на вскидку не могу назвать ни одного сайта, где такая логика используется.
   Garykom
 
81 - 13.08.21 - 17:39
(80) По сути эта задача просто будет с 1Сников перекинута на разрабов сайта вот и все
А как они ее реализуют это вопрос
Но имхо по принципу (30) или похоже
   vvspb
 
82 - 13.08.21 - 17:40
(79) а как это все проверить тоже пустяковая задача? Я скорее согласна с (80) мало сделать. Нужно понимать как в последствии это будет использоваться
   Garykom
 
83 - 13.08.21 - 17:43
(82) тесты же
программно не проблема столько сгенерить и затестить, причем зная какая примерно нагрузка на сайт по одновременно онлайн клиентов
   BeerHelpsMeWin
 
84 - 13.08.21 - 18:10
(51) хозя уже нанял на работу геню
ты уверен, что он думает про "целесообразности внедрений" и "сложность поддержки"?
   vvspb
 
85 - 13.08.21 - 18:14
(84) ну я исхожу из того что об этом в первую очередь нужно думать... Но никакие бредовые идеи собственника никогда сразу не отметаю :)
   xXeNoNx
 
86 - 13.08.21 - 19:22
Видал я как-то такую херобору на клюшках: товарищ один приходящий почти уже запилил подчиненный справочник цен справочнику контрагентов и хотел херачить для каждого контрагента свои цены, погнал его ссаными тряпками
   acht
 
87 - 13.08.21 - 19:26
(56) Если ты будешь включать стоимость доставки в цену каждого товара, а не в заказ, то хрен у тебя кто что покупать будет.
   Garykom
 
88 - 13.08.21 - 19:36
(87) с али покупают, странно да?
   vvspb
 
89 - 13.08.21 - 20:06
(88) считаешь в (0) будущий конкурент али?
   Garykom
 
90 - 13.08.21 - 20:08
(89) считаю что в али и в прочих бигдата работают обычные люди а не суперпрограммисты
и на обычном железе

72 ляма цен это фигня, можно за час все пересчитать легко на обычном компе современном
   vvspb
 
91 - 13.08.21 - 20:12
(90) да я вот сижу думаю насчет злоупотреблений со стороны продажнтков....на мой взгляд это золотая жила...
   Юрий Лазаренко
 
92 - 13.08.21 - 21:23
(0) Пусть клиент продает прямо из 1С: https://digitcat.ru/demo/di-unf/ 600 клиентов для http-сервисов вполне норм, 1Ска переварит.
   Maniac
 
93 - 13.08.21 - 22:14
Легко. Я обрабатывал прайс в 15 миллионов строк. за 6 минут. Переоценял и генерировал новый.

https://subsystems.ru/solutions/parsery-praysov/price-mixer/
   Maniac
 
94 - 13.08.21 - 22:15
Он у меня кстати до сих пор есть для прикола. больше 1 гига.
   Maniac
 
95 - 13.08.21 - 22:16
   Кирпич
 
96 - 13.08.21 - 22:17
Нафига считать 72 миллиона. На сайте пересчитывать, в момент просмотра. А уж если считать, то не в 1с (если у вас конечно не датацентр с серваками 128 процессорными)
   Maniac
 
97 - 13.08.21 - 22:19
он считает что все 600 поставляют 120 товаров.

Скорее всего просто не учитывает что эти 600 поставщиков каждый поставляет какую то малую часть всего каталога.
   Вафель
 
98 - 13.08.21 - 22:20
Это цены клиентов, а не поставщиков
   johnnik
 
99 - 13.08.21 - 23:54
(0) Начните с публикации резюме на hh.ru :)
А если серьезно, то надо бы глянуть, а точно все эти 120.000 товаров используются, может какие-то уже давно неактивны
   Guk
 
100 - 13.08.21 - 23:55
нельзя так с ценообразованием поступать. чревато это...
  1  2   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.