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

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

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

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

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

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

Скорее всего просто не учитывает что эти 600 поставщиков каждый поставляет какую то малую часть всего каталога.
98 Вафель
 
13.08.21
22:20
Это цены клиентов, а не поставщиков
99 johnnik
 
13.08.21
23:54
(0) Начните с публикации резюме на hh.ru :)
А если серьезно, то надо бы глянуть, а точно все эти 120.000 товаров используются, может какие-то уже давно неактивны
100 Guk
 
13.08.21
23:55
нельзя так с ценообразованием поступать. чревато это...
101 Aleksey
 
14.08.21
02:30
(10) У одного скидка на карандаши 5%, у другого на фломастеры 4%, а у третьего и на карандаши и фломастеры, но 3%. Но в целом да, все торгуют по прайсу.
В реальности групп получается ненамного меньше контрагентов, так как в рамках товарных групп у разных клиентов разные скидки наценки и группировать не очень то получается
102 Мимохожий Однако
 
14.08.21
06:58
(0) Не верю. Самое простое-спросить у заказчика, а как он работал с подобным расчетом цен до планируемого внедрения. ИМХО, ТС неправильно понял задачу.
103 Хосе
 
14.08.21
09:29
(102) они работали по одной цене, делаю каждому контрагенту свою скидку (свой процент). Но недовольны, т.к. условно говоря на бытовую химию можно больше дать скидку, чем на продукты. Я предложил было ввести коэффициент скидки на каждый товар.

т.е. если контрагенту дают скидку 10%, то на продукты коэфф 1, скидка 10, а на химию коэфф 1.8, скидка 18%, пока думают.

(На самом деле продукты и химия это условно, по моему супермаркетному прошлому, они торгуют другими товарами)
104 Вафель
 
14.08.21
09:37
(103) разные скидки на сегменты (группы)
105 Чинухов
 
14.08.21
10:06
(103) Это же типовой функционал, и это не значит, что у каждого контрагента свои цены.
106 ДедМорроз
 
14.08.21
10:07
Если правила сложные,то проще,чтобы сайт обращался в 1с за ценами для контрагента,когда он заходит в личный кабинет.
Ну или,как у многих,рассчитывать скидки только на товары,добавленные в корзину,а на все в списке показывать цену по прайсу.
107 HeKrendel
 
14.08.21
12:09
(103) в чем проблема сделать так как просят?
108 HeKrendel
 
14.08.21
12:10
(0) 120к  товаров, это запчасти, метизы.или электронные компоненты. Что ты тут шифруешься?
109 vvspb
 
14.08.21
12:13
(108) ставлю на з/ч и автохимию
110 HeKrendel
 
14.08.21
12:15
(109) ты анализ вакух сделала?
111 vvspb
 
14.08.21
12:18
(110) нет :) а что там? Я 5 лет протусила в том зоопарке
112 HeKrendel
 
14.08.21
12:19
(109) ставлю что геня даже не читал описание конторы
113 HeKrendel
 
14.08.21
12:19
(111) значит не надо $-)
114 vvspb
 
14.08.21
12:22
(113) надо... Но не любой ценой
115 HeKrendel
 
14.08.21
12:29
(114) эээ, не понял тебя?
116 Хосе
 
14.08.21
12:34
(108) ну можно считать, что запчасти.
117 Хосе
 
14.08.21
12:49
В общем, я предложил регистр правил расчета цен в 1С и на сервере реализовать и из 1С скидывать только регистр правил.
Я даже готов им функцию на PHP по расчету цены вместо регистра скидывать.
Посмотрим.
118 HeKrendel
 
14.08.21
20:19
Держи нас в курсе
119 Ненавижу 1С
 
гуру
18.08.21
20:11
Скидками все решается обычно
120 vvspb
 
18.08.21
20:14
(119) тут м. б. накидка
121 Хосе
 
18.08.21
22:19
(118) в общем пока прогибаю вроде успешно на регистр правил вместо выгрузки миллиона цен.
(119) я посмотрел у них в 1С там миллион скидок типовых на сегменты контрагент + номенклатура, как они не заблудились в них, не знаю.
122 Гений 1С
 
гуру
28.09.21
18:12
(0) кое-какие новости по теме
клиенты в 1С используют механизм скидок 1С и хотят его повторить на сайте.
Сейчас проверяется, есть ли возможность формализовать (упростить) все разнообразие скидок в КА, чтобы на сайте это можно было посчитать.
так что Big Data отменяется.
123 Ненавижу 1С
 
гуру
28.09.21
18:21
(122) и хотят его повторить на сайте

Это дублирование логики
124 sitex
 
naïve
28.09.21
19:54
(0) Или все хранить SQLи от туда тянуть и потом выдать в обратное куда нужно. в 1Стакое точно хранить нах надо .
125 Гений 1С
 
гуру
28.09.21
21:16
(123) да, КЭП, а что?
126 acht
 
28.09.21
21:19
(123) Сереженька просто пытается обеспечить себя работой до пенсии, не надо его критиковать =)
127 Гений 1С
 
гуру
28.09.21
22:13
(126) тю... я вот думаю скоро повышать цены опять, слишком много желающих нанять Гения
128 Совсемне1сник
 
30.09.21
04:18
(127) так много желающих, что ты ни ремонт сделать в хате не можешь, ни ипотеку закрыть
129 Гений 1С
 
гуру
30.09.21
15:05
Все же посмотрел их хотелку, они хотят расчет цен в 1С повторить на сайте.
Имхо, не взлетит.
130 PLUT
 
30.09.21
15:09
(129) подними API на стороне 1С, пусть сайт за ценой в 1С обращается :) заказов то поди один заказ в час