Имя: Пароль:
1C
1С v8
Как ускорить подбор товара?
0 oleg_prg
 
04.08.14
18:17
Уважаемые форумчане, добрый вечер. Подскажите пожалуйста как ускорить подбор товаров в 1С? Есть не типовая конфигурация, файловый вариант, в номенклатуре примерно 33000 элементов,  остатки в подборе считываются с РН ОстаткиТоваров и РС ЦеныПартии. Подскажите пожалуйста как ускорить подбор, сейчас подбор открывается за 1 сек, если пользователей 5, то открывается за 3 секунды, но есть юзеры на розничных кассах и для них эта скорость неприемлима. Рассматриваю не популярные варианты, как например использовать внешний источник данных, или dbf файл остатков, который будет обновляться при списании товара... Подскажите пожалуйста, может кто сталкивался с подобной задачей, буду рад любому совету. Заранее спасибо.
1 Злопчинский
 
04.08.14
18:20
для чего на розничных кассах окрывать СПИСОК? у вас на кассах - торгуют..?
2 acsent
 
04.08.14
18:20
файловая чтоли?
3 acsent
 
04.08.14
18:21
(1) например продажа обуви, посмотреть какие размеры есть
4 thezos
 
04.08.14
18:21
(0) Сперва надо оптимизировать код и запрос. А потом перейти на клиент-серверный вариант и нормальное железо. 33к номенклатуры это НЕ то значение, при котором должно тормозить.
5 Bober
 
04.08.14
18:22
(0) толстый клиент или упр формы?
6 Злопчинский
 
04.08.14
18:22
на кассах отказаться от остатков и цен. че принесли на кассу - то и пробить. цены - фиксированы (???) можно подумать о том, чтобы цены ПРОДАЖИ не хранить среди других цен, а записать в некое место мгновенноебыстроедля извлечения.
.
я не спец.. ща набегут умные
7 oleg_prg
 
04.08.14
18:23
(1) на кассах торгуют, это аптека
(2) - да, лицензия дорого
(4) - запрос пустяковый регистр остатков и цена
8 Злопчинский
 
04.08.14
18:24
(3) на кассе? или на РМ продавца-манагера зала?
9 acsent
 
04.08.14
18:24
Если 8.3 то для цен необходимо включить итоги. Скорее всего это и есть узкое место
10 Злопчинский
 
04.08.14
18:24
(7) терминалка!
11 Garykom
 
гуру
04.08.14
18:24
(0) Сделать веб клиента в файловом варианте )) на кассах...
12 thezos
 
04.08.14
18:25
(7) Хех, пусть тогда поумерят хотелки) если дорого
13 Garykom
 
гуру
04.08.14
18:25
(11) но встанет проблема ФР ))
14 thezos
 
04.08.14
18:25
(10) Сказали же - дорого!
15 oleg_prg
 
04.08.14
18:26
на кассе удаленный раб.стол, к компу подрублена касса
16 oleg_prg
 
04.08.14
18:26
(10) она самая )))
17 oleg_prg
 
04.08.14
18:27
(9) 1С 8.2
18 thezos
 
04.08.14
18:27
Оптимальный вариант в данной ситуации - переходить на таблицы опен офис) или ломанный эксель. Там сразу в табличке товаров цена показывается)
19 thezos
 
04.08.14
18:27
(18) + И главное бесплатно!
20 Garykom
 
гуру
04.08.14
18:28
Еще перепиши на ws
т.е. база крутится на "типа сервере", а остальные работают в своих базах в которых только номенклатура а остатки и цены берутся по запросу из "типа сервера" (для выбранного элемента) или периодически синхронизируются в момент простоя полностью
21 acsent
 
04.08.14
18:29
(20) так сказали же денег нет. А ты перепиши, перепиши
22 Garykom
 
гуру
04.08.14
18:30
(21) гыгыгы без денег чтобы само залетало ))

типа галочку там поставьте и все будет ок да?
23 Garykom
 
гуру
04.08.14
18:31
да КД бесплатна? если да то можно сделать ))
24 Злопчинский
 
04.08.14
18:33
ну.. представляя себе как пишутся конфы для лекарств.. я бы для начала посмотрел на адекватность данных требуемым задачам и правильность написания запросов/кода...
25 Garykom
 
гуру
04.08.14
18:34
(24) нуна нуна эти больные постоянно спрашивают если ли ЛС такое или аналог и скоко стоит ((
26 Михаил Козлов
 
04.08.14
18:35
Попробуйте организовать справочник номенклатуры, так чтобы в группах ("папках") было не слишком много товарных позиций: в старых версиях УТ определение остатков производилось по списку товаров в группе.
27 oleg_prg
 
04.08.14
18:37
Есть деньги только на разработку, на софт уже не выделят. Но на разработку времени нет
28 acsent
 
04.08.14
18:38
(27) переходи на 8.3
29 Злопчинский
 
04.08.14
18:38
нуссс с учетом того что аптеки редко когда держат большой складской запас в нсекольо партий - пихать цену партии в карточку товара...
30 oleg_prg
 
04.08.14
18:39
(24) Вам могу в личку отдельно скинуть эту грустную историю ))))
31 Злопчинский
 
04.08.14
18:39
(27) тогда пропить.. на оставшиеся в родной аптеке купить антипохмелин
32 Garykom
 
гуру
04.08.14
18:39
кстати еще одна "гениальная" идея заюзать фоновые задания ))

типа остатки и цена показываются только при бездействии n сек для выбранной позиции
33 Злопчинский
 
04.08.14
18:40
(30) e.meil@mail.ru
кидай, интересно вспомнить молодость.
распространять не буду.
поржу м.б. только.
34 Злопчинский
 
04.08.14
18:42
(32) м.б. ну и открывать не весь список а подходящие позиции только..?
если спросили аспирин - то втаптываем "аспирин" и получаем список аспиринов и похожих на аспирины... и уже для них тянем остатки и цены..
35 oleg_prg
 
04.08.14
18:43
(30) как будет своб. минутка скину )))
36 Garykom
 
гуру
04.08.14
18:43
(34) ага и еще на линукс перейти )) там терминалка бесплатная есть ))
37 Злопчинский
 
04.08.14
18:44
перейти на клюшки и прямые запросы - еще не предлагали..? ;-)
38 oleg_prg
 
04.08.14
18:45
(32) сейчас так и сделано. Есть строка для ввода наименования, оно же для аналогов и прочего. Запрос выдает не весь справочник, а только (в 90% случаев) то что ПОДОБНО ХХХ%
39 Злопчинский
 
04.08.14
18:45
(35) не, ты давай ща кидай, а то потом от вас фиг дождешься...
40 Garykom
 
гуру
04.08.14
18:47
(38) понятно тогда или сервак или делим базу по кассам и обмен между ними и "типа сервером" периодически

ЗЫ придется забить на проблему одновременного пробития одной последней упаковки ЛС на двух кассах ))
41 BuHu
 
04.08.14
18:49
(0)>> Есть не типовая конфигурация...
надо в код смотреть , структуру регистров , индексы в конце концов (хотя вроде маленькая база)
42 Злопчинский
 
04.08.14
18:51
(40) какой сервер в аптеке на две-три кассы...? этож жлободромия сплошная...
.
раньше розница в принципе имела неплохую наценку, после того как г-в-о стало закручивать ценовую политику - хз во что это превратилось...
43 palpetrovich
 
04.08.14
18:51
конфа нетиповая, почему не сделать форму подбора с допТабличкойТолькоВыбранныхТоваров - и именно в ней показывать остатки  и цены?
44 oleg_prg
 
04.08.14
18:52
У меня идея такая, создать например dbf, при первом запуске или еще при какой ситуации туда слить все остатки с ценами, сериями и т.д. затем этот файл использовать для подбора, и при продаже менять в нем количество.
45 oleg_prg
 
04.08.14
18:54
(42) Core i5 4gb
46 BuHu
 
04.08.14
18:54
(44) а че не в экселе?
как часто итоги рассчитываются? регистры закрываются?
47 Фатих Ридванов
 
04.08.14
18:54
(0) Если конфига на УФ, то опубликовать базу на веб сервере, если нужно совсем быстро реализовать, то использовать для этого 1C Link, подключаться к ней через тонкий клиент, чтобы использовать торговое оборудование.
48 Garykom
 
гуру
04.08.14
18:54
(44) дык еще можно памяти побольше на кассы )) и в ТЗ хранить на форме эти ваши остатки ))
легче реализовать чем через внешнюю дбф ))
49 palpetrovich
 
04.08.14
18:56
(44) фиговая идея, лучше создай, к примеру, справочник или РС СерииЦеныОстатки и туда сбрасывай
50 Garykom
 
гуру
04.08.14
18:56
(48)+ хотя насчет памяти это я загнул 33 тыщ позиций это фигня но лучше посчитать (строка место Кб х 33 = ? Мб) или потестить
51 acsent
 
04.08.14
18:56
(44) лучше мускуль тогда
52 acsent
 
04.08.14
18:57
ибо дбф -это блокировки, битые индексы и прочий геморой
53 Garykom
 
гуру
04.08.14
18:58
(51) мускуль не надо он тормоз на больших запросах )) лучше постгри он расово верен по 1С ))
54 palpetrovich
 
04.08.14
18:58
+ (49)  хотя тоже фиговая, если нормально построены РС-ы + нормально заточен запрос + железо не прошлого века - все и так должно работать
а воообще - лучше см. (37) :)
55 acsent
 
04.08.14
18:59
(53) на чтение - мускуль зе бест. А транзакции тут и не нужны
56 Garykom
 
гуру
04.08.14
19:00
(55) а тип и длина primary key какая? ))
57 Garykom
 
гуру
04.08.14
19:01
(56)+ советую попробовать сделать гуид(36) или хотя бы код строковый в 12 символов и потестить...
неприятно удивитесь ))

из-за этого тормоза пришлось на постгри проект переводить
58 acsent
 
04.08.14
19:02
(56) тут вообще примари не нужен абсолютно
59 Garykom
 
гуру
04.08.14
19:03
(58) WTF?

а обновлять при включении? синхронизация с 1С то как?
60 Злопчинский
 
04.08.14
19:14
народ ну че там в может тормозить-то?
30 тыс позиций, макисмум 1 (редко 2 парптии на товар). чему там тормозить?
самим управляемым формам?
.
сделать самый простой терминал и работать.
61 глазковыколупыватель
 
04.08.14
19:28
(0) Цену хранить в РН. Платформу - последнюю стабильную. Показывать остатки только по товару. При активизации строки списка товаров - по сериям. http://i.imgur.com/dfIA51P.png
Ну и запрос покажи.
62 Pasha
 
04.08.14
19:31
(0) Оптимизировать алгоритм подбора не пробовали?
63 Torquader
 
04.08.14
23:44
Мне кажется, что 30тыс позиций вообще можно поднять в память в Т.З. и обновлять остатки фоновым заданием (у которого строго ограничить время) - тормозить не должно.
Только нужно понимать, что динамическое заполнение Т.З. на форме тормозит только из-за того, что поднимает в память все данные, причём, если форма закрывается и открывается, что всё начинается заново.
64 NS
 
04.08.14
23:47
Для начала - SQL Profiler и замер производительности.
65 NS
 
04.08.14
23:47
Файловая? Тогда просто замер производительности. Что он показывает?
66 Злопчинский
 
04.08.14
23:57
(65) наверное что с замером производительности тормозит еще больше...???
67 Torquader
 
05.08.14
00:13
Я бы ещё исключил иерархию как класс, так как на построение иерархии тратится очень много времени (рисование дерева в памяти).
68 Torquader
 
05.08.14
00:18
Потом также полезно понять, что ищут в справочнике - например - полнотекстовый поиск по строкам и т.п., а также грамотно "объединить" товары по группам, чтобы пользователям было проще найти то, что нужно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший