Имя: Пароль:
1C
1С v8
1С и Агент+
,
0 gamar20
 
26.09.17
13:33
Привет, ребята.
Вопрос в работе 1С и Агента + (мобильная торговля).
Смотрите какая у нас ситуация.
Имеется 1С сервер, на достаточно мощном сервере, с SSD дисками. Торговля 8.3, конфигурация 10.3
Имеется 35 торговых представителей. С утра менеджеры ставят на выгрузку и этот процесс идет очень долго. на одного торгового уходит около 10 мин. тормозит именно на этапе "номенклатуры". в настройках показывает, что 95 папок(номенклатуры).
на сервере папки выгрузки весят от 1.3 мб до 2 мб.

У вас как происходит обмен данными? так же долго?

просто мне один 1с_ник сказал, что у них оптимизирован этот процесс и выгрузка на одного торгового уходит ДО 40 секунд.
1 Лефмихалыч
 
26.09.17
13:34
позовите 1Сника, чтобы он опитмизировал
2 MSOliver
 
26.09.17
13:36
(0) там запрос(ы) в цикле
3 MSOliver
 
26.09.17
13:38
Если всем выгружать одинаковые данные, то можно сократить выгрузку в разы (кратное количеству агентов)
4 УспешныйЧел
 
26.09.17
13:39
я даже знаю этого человека, его зовут Mikeware, я угадал?
5 gamar20
 
26.09.17
14:11
ну давайте по делу, пожалуйста.
выгрузка у всех одно и тоже. все остатки товара, по многим позициям.
У нас сейчас все с первого до последнего по очереди выгружает и в это время 1С можно сказать зависает по пользователя, ничего нельзя делать, пока не закончится. а этот процесс длится около 4-5 часов.
6 Лефмихалыч
 
26.09.17
14:12
мм, а база файловая, да?
7 gamar20
 
26.09.17
14:13
> мм, а база файловая, да?

нет, база SQL, держится на MSSQL2016
8 УспешныйЧел
 
26.09.17
14:15
сделайте выгрузку для одного агента, а потом тупо скопируйте результат другим, делов то.
я бы переделал выгрузку в хр процедуры скуля, но это нарушение лицензии 1С, зато быстро :)
9 Cyberhawk
 
26.09.17
14:15
1. Сколько тебе платят за решение вопроса?
2. А ты там кем?
10 Лефмихалыч
 
26.09.17
14:20
(7) Надо пройти всего три простых шага, которые на форуме за тебя ни кто не пройдет (ну - бесплатно так уж точно):
1. отладчик в зубы и выясняй, что именно тормозит.
2. Потом думай - почему.
3. Потом думай - что с этим делать.
11 Лефмихалыч
 
26.09.17
14:21
сюда имеет смысл ходить с конкретными вопросами: "оно тормозит вот тут, вот так, потому-то, чо с этим делать, чтобы не тормозило".

С сабжем - пустая трата времени
12 gamar20
 
26.09.17
14:21
Лефмихалыч, я же написал, что тормозит формирование номенклатуры.
13 nicxxx
 
26.09.17
14:33
(12) "Формирование номенклатуры" - это не абстрактный процесс, а вполне конкретный, который можно разбить на какие-то шаги и выяснить, какой именно шаг тормозит.
14 gamar20
 
26.09.17
15:16
Ну а у вас то как? какой обьем и за какое время выгружается?
Я хочу выяснить все же это норма или нет? как у вас происходит?
15 opus70
 
26.09.17
15:42
сделайте в выгрузке кеш остатков номенклатуры и берите от туда данные а не рассчитывайте их каждый раз как делает штатная выгрузка от Агента (все равно погрешность остатков не ильно обычно важна если торговля идет не с колес )
16 opus70
 
26.09.17
15:44
можно пойти дальше перед выгрузкой один раз все остатки скинуть в какйнибуть регистр сведений и от туда брать, так же поступить с взаиморасчетами (которые обычно дольше выгружаются чем остатки)

вариантов как оптимизировать много
17 gamar20
 
26.09.17
15:50
я бы не сказал, что так уж много.
в номенклатурах около 95 папок, там все наши бренды/категории товаров, которые нужны всем. день один раз точно надо делать полную выгрузку, чтоб у торговых были все остатки. А бывает, что после обеда еще ставим на выгрузку, когда получаем новый товар.
Ну второй раз можно как то кастомизировать адачу, сделать выборочный каталог (бренд), по приходнику. Но а основная задача остается.
18 d4rkmesa
 
26.09.17
19:38
(0) Надо переписывать, там почти все запросы неоптимальны. Кроме запроса там еще повсюду чтение реквизитов через ссылку. У нас максимум 1,5 минуты - если на клиенте, в ручном режиме. Фоновое задание шарашит не дольше 1-й минуты - это если полная выгрузка. Если ответ на запрос какой-нибудь, то порядка 20 секунд.
19 d4rkmesa
 
26.09.17
19:52
Можете на первом этапе как раз убрать обращения через ссылку к значениям реквизитов (номенклатуры). Добавляете свой запрос для чтения реквизитов, выгружаете в таблицу значений, индексированную по ссылкам, при выгрузке через НайтиСтроки читаете нужные реквизиты. У меня в свое время в 1,5-2 раза только этот момент ускорил процедуру. А так, через замер посмотрите, на что время уходит.
20 Fram
 
26.09.17
21:17
(0) ты бы сразу писал, что ты не программист 1с и тебя интересует решается ли проблема "расставлением галочек".. сэкономил бы время людям
21 MSOliver
 
27.09.17
01:56
Костыль в (8) - но работает
22 VladZ
 
27.09.17
04:06
С Агент+ не работал. А вот Мобильную Торговлю от Систехов оптимизировал. 1Сй код переписал, логику поправил. В итоге полная выгрузка занимала в пределах 2х минут.
23 big
 
27.09.17
05:34
"... Имеется 1С сервер, на достаточно мощном сервере, с SSD дисками. Торговля 8.3, конфигурация 10.3. MSSQL2016..."

Всё новое, всё современное, а ***ть всё равно не работает.

Убиться об это всё и уже не мучиться
24 Мелифаро
 
27.09.17
05:40
Перепиши запросы. Они там корявые. Натыкался уже на эти грабли.
25 УспешныйЧел
 
27.09.17
05:53
зато хомячкам нравится, про юзабилити на кпк вообще молчу.
26 Мелифаро
 
27.09.17
06:10
С юзабилити все в порядке.

Щаз опять реклама агентоида начнется, да?
27 УспешныйЧел
 
27.09.17
06:37
а смысл? когда народ на ломанном а+ сидит.
28 Dmitrith
 
27.09.17
08:16
Ставьте полную выгрузку на ночь регламентным заданием. В течении дня выгружайте только остатки/цены
29 gamar20
 
27.09.17
08:22
да, я не программист 1С и не занимаюсь этим делом. Меня первый очередь интересует момент истины - это нормально или нет? чтоб знать кому обратится, тех.поддержку агент+, или программистам 1С? они у нас на аутсорсе просто, в штате нет таких специалистов.
Уже понял, что поставлением галочками не решать задачу. Но хочу выяснить вообще это решаемая задача или нет?
У нас всего 35 торговых, на выгрузку уходит 5 часов. Получается если будет 60 клиентов, то за один рабочий день не сможем выгрузить, а на следующий день эти данные уже не актуальны - соответственно работа будет парализована.
30 Mankubus
 
27.09.17
08:32
(29) нет нерешаемой задачи, были бы деньги.
уже способы решения описаны в ветке - (8) (10) (24) .
что еще нужно?
31 d4rkmesa
 
27.09.17
08:48
(29) Ну дык займите ваших аутсорсников, 3-4 запроса переписать и оптимизировать код - это максимум 1 человекомесяц.
32 d4rkmesa
 
27.09.17
08:50
(29) Задача решаемая. Если грамотно подойти, то выгрузка будет работать быстрее на порядок, без преувеличения.
33 VladZ
 
27.09.17
08:57
(29) "это нормально или нет?" Тут вопрос нужно ставить по-другому: Устраивает ли это вашу компанию?

Тормознуто работать неоптимальному коду - это нормально.

По поводу "к кому обращаться". Сначала - в тех.поддержку Агент+. Вполне возможно, часть проблем можно на этом этапе решить.

Если не поможет - подтягивать программистов.
34 vde69
 
модератор
27.09.17
08:57
(29) >>>У нас всего 35 торговых, на выгрузку уходит 5 часов

сделайте выгрузка параллельно...

для каждого узла отдельное регламентное задание, узел передавайте через параметр... доработок на первый взгляд на 1 час работы...

правда во время выгрузки сервер может просесть, по этому запускайте партиями и пробуйте
35 gamar20
 
27.09.17
09:01
Mankubus - 8 вариант не устраивает, так как ручной надо все перекидывать. Это уже не дело.
10 - я уже сказал какой процесс тормозит.
24 - какие запросы? где они находятся?
36 Mankubus
 
27.09.17
09:11
(35) Включите замер производительности и все увидите. А лучше пригласите программиста, все равно не разберетесь
37 rozer76
 
27.09.17
09:17
(15) + 100

сделан кеш для выгрузки номенклатуры, ежедневная выгрузка около 200 торговых в три потока около 5 часов, без кеша было часов 12 (
38 Лефмихалыч
 
27.09.17
10:05
(12) когда узнаешь, какой конкретно код занимает больше всего времени, тогда приходи за советами.
39 Лефмихалыч
 
27.09.17
10:07
(29) да, это решается. Проблема не в Агентплюсе, а в коде выгрузки из 1С. Для этого нужен программист. Обращаться надо к тем, кто 1С у вас поддерживает.
40 vde69
 
модератор
27.09.17
10:57
(37)для таких систем можно делать двухступенчатый обмен,

создаем 10 РИБ узлов и настраиваем полный обмен с центром каждые 10 мин, и от каждого узла делаем по 20 выгрузок в конечные точки....
41 УспешныйЧел
 
27.09.17
11:52
(40) мощно!
42 Мелифаро
 
27.09.17
11:53
(40) Бугыгы.
Великолепная идея %)
43 gamar20
 
27.09.17
12:40
Лефмихалыч , а вы сможете это исправить? после ваших манипуляций за какое время будет выгружаться?
44 opus70
 
27.09.17
12:44
тут практический все могут это исправить, и обычно спрашивают тут в каком направлении капать или не копать
45 VladZ
 
27.09.17
12:44
(43) Странный ты. Никто заранее результат не скажет.
46 УспешныйЧел
 
27.09.17
12:50
(43) сможет, но вашей компании придется взять кредит для оплаты его услуг :)
47 opus70
 
27.09.17
12:58
самый правильный вариант , найти программиста на месте объяснить ему что выгрузка не оптимальна нужно переделать
ии вот не забыть хорошо заплатить гораздо дороже чем стоил сам агент+ , т.е. коробочные решения ни когда быстро не работают они не для этого
48 gamar20
 
27.09.17
13:00
почему странный ? ребята, у меня задача, описал входные данные.
Вы говорите, что можно делать, дело 1С программиста.
Вот и я хочу понять что в итоге получу. сейчас на 1 торговую уходит 10 мин. если после оптимизации станет 7-8 мин, это не считаю решением.
49 opus70
 
27.09.17
13:01
а то как в нашей жизни купили у дяди заплатили хх рублей круто мы много отдали будет все зашибись, но реальность такова что если не переписывать то что купили и потом
еще и не сопровождать это то (платить за переделки в случаее базового изменения или от 1с или от Агент+) тогда остается только ждать часами пока пройдет выгрузка
50 opus70
 
27.09.17
13:01
в идеале должно быть 2-3 минуты и не более на точку и идеал этот достижим
51 opus70
 
27.09.17
13:04
решение из коробки хорошо тем что оно работает и не зависит от конкретного васи или пети который что то перепишет, но пройдет время все забудут что сделал этот вася накатят штатное обновление и снова начинай сначала
52 d4rkmesa
 
27.09.17
13:30
(48) В 2 минуты должно получиться уложить. Если количество SKU исчисляется десятками тысяч, придется дополнительно что-то вроде кэша делать.
53 ProxyInspector
 
27.09.17
13:43
Ты сначала напиши количество номенклатуры, количество цен. Какая информация выгружается. Взаиморасчеты грузятся.
   У нас порядка 25 агентов 120 позиций номенклатуры. 100 клиентов на агента. У каждого клиента свои цены. Размер файла выгрузки около 2 мб в несжатом виде.
  На оченььь плохом сервере время выгрузки около 5 мин, на хорошем в районе 1 мин.
  На УТ10 время выгрузки должно быть < 1 мин на агента. Уж больно логика простая в УТ10.
54 gamar20
 
27.09.17
13:49
У нас 95 номенклатур, наименование около 15 тыс.
Все клиенты получают одно и тоже.
55 УспешныйЧел
 
27.09.17
13:58
15 тыщ позиций в а+? да там пустые формы еле открываются..жесть.
56 kovalev_oleg
 
27.09.17
14:26
(54) выгружай только изменения.
57 gamar20
 
27.09.17
14:29
>выгружай только изменения.
А как это делать? в 1С надо настроить или в модули 1С ?
58 rozer76
 
27.09.17
14:38
(56) это ему на до добавить план обмена и зафигачить кучу кода. По дефолту для номенклатуры передается KILLALL = 1 в а+
59 kovalev_oleg
 
27.09.17
15:06
(58) кому сейчас легко?
60 kovalev_oleg
 
27.09.17
15:08
(57) тут надо смотреть не только выгрузку , (как выше заметили нужен план обмена) но и загрузку.
61 ProxyInspector
 
27.09.17
16:00
Если все клиенты получают одно и тоже, тогда
делай одну выгрузку для всех. Надо программно немного немного подправить код в модуле выгрузки.
62 Лефмихалыч
 
27.09.17
16:36
(43) если готов переходить к каким-то конкретным предложениям, то перестань, ибо я этим заниматься не буду. Не интересно.

Помимо этого, вакансии на Мисте платные, по этому развитие темы в этом ключе приведет к закрытию оной темы.
63 Лефмихалыч
 
модератор
27.09.17
16:37
пардон, китель забыл натянуть
64 opus70
 
28.09.17
08:55
(61) полностью согласен работы на пару часов медленно попивая кофе
65 Мелифаро
 
28.09.17
08:59
(64) Меньше. По сути, в случае ТС там достаточно поправить несколько строк, чтобы исключить индивидуальную выгрузку для каждого агента, а также (по крайней мере, год назад так было) исправить рукож@пный запрос выборки номенклатуры с остатками.
66 УспешныйЧел
 
28.09.17
09:08
пишут, что там (а+) 80 человек работает, чем они там занимаются?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс