|
Розница, файловая. При записи номенклатуры невозможно провести чек | ☑ | ||
---|---|---|---|---|
0
empafe
22.05.15
✎
14:46
|
Добрый день!
такой вопрос.. Есть магазин который работает на 1с Розница 1. Работа ведется как кассиров так и операторов в одной базе. Последнее время при записи номенклатуры у кассиров начинает висеть касса при пробитии чека. Сделал замер производительности процедуры записи номенклатуры и наткнулся на следующие процедуры..Время выполнения запроса по поиску на ссылки номенклатуры в регистрах занимает ~10-15 сек Я так понял, что из за этого кассы и висят Если я прав, то можно ли как-то оптимизировать это? Зачем, например, проверять номенклатуру, которая только что создалась? Понятное дело по ней не будет движений.. Может нужно сделать на это условие? или есть подводные камни? Если Не Услуга И Ссылка.ЕдиницаХраненияОстатков <> ЕдиницаХраненияОстатков И ПолныеПрава.Номенклатура_СуществуютСсылки(Ссылка, СуществуютСсылки) Тогда ТекстСообщения = "Единица """ + СокрЛП(Ссылка.ЕдиницаХраненияОстатков) + """ является единицей хранения остатков для """ + Наименование + """ |и уже участвует в товародвижении. |Изменить эту единицу уже нельзя!"; ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, Отказ); КонецЕсли; Функция Номенклатура_СуществуютСсылки(Ссылка, СуществуютСсылки) Экспорт Если НЕ ЗначениеЗаполнено(Ссылка) Тогда Возврат Ложь; ИначеЕсли СуществуютСсылки <> Неопределено Тогда Возврат СуществуютСсылки; // уже было рассчитано КонецЕсли; Запрос = Новый Запрос(); Запрос.УстановитьПараметр("ТекущийВладелец", Ссылка); ТипНоменклатура = Тип("СправочникСсылка.Номенклатура"); Запрос.Текст = ""; Для Каждого РегистрНакопления Из Метаданные.РегистрыНакопления Цикл Для Каждого РеквизитРегистра Из РегистрНакопления.Измерения Цикл Если РеквизитРегистра.Тип.СодержитТип(ТипНоменклатура) Тогда Если Запрос.Текст <> "" Тогда Запрос.Текст = Запрос.Текст + " |ОБЪЕДИНИТЬ ВСЕ |"; КонецЕсли; Запрос.Текст = Запрос.Текст + " |ВЫБРАТЬ ПЕРВЫЕ 1 | 1 КАК Результат |ИЗ | РегистрНакопления." + РегистрНакопления.Имя + " КАК Рег |ГДЕ | Рег." + РеквизитРегистра.Имя + " = &ТекущийВладелец |"; КонецЕсли; КонецЦикла; КонецЦикла; Возврат Не Запрос.Выполнить().Пустой(); КонецФункции // СуществуютСсылки() |
|||
1
Лефмихалыч
22.05.15
✎
14:49
|
гениально...
надо что-то сделать, чтобы этот копрокод не вызывался |
|||
2
ВРедная
22.05.15
✎
14:51
|
(0) Для чего кассир на кассе записывает номенклатуру?
|
|||
3
empafe
22.05.15
✎
14:52
|
(2) кассир только чеки пробивает
номенклатуру записывает оператор |
|||
4
Лефмихалыч
22.05.15
✎
14:53
|
(2) кассир - ни для чего. Кто-то другой записывает в другом сеансе и, судя по всему, база файловая и клиенты дохлые
|
|||
5
Лефмихалыч
22.05.15
✎
14:55
|
+(4) запрос из (0) - тяжелый, как баржа с утюгами, т.к. шерстит все движения без периода. Транзакция при записи номенклатуры лочит всю таблицу справочника и запускает этот скребучий запрос. А, по скольку, проведение чеков - это тоже транзакция, чтение в ней не может быть сырым, вот все кассиры и ждут, пока грузовой запрос не завершится.
Не используйте файловых баз |
|||
6
Лефмихалыч
22.05.15
✎
14:57
|
ну, или, раз уж на то пошло, выделите этих номенклатурщиков в отдельную почку УРБД. Один фиг - кассирам не нужна в онлайне номенклатура, которую создают прямо сейчас
|
|||
7
ДенисЧ
22.05.15
✎
14:58
|
Эй... А как вы сслыки-то вставляете, ироды??
|
|||
8
Лефмихалыч
22.05.15
✎
14:58
|
(7) шо?..
|
|||
9
empafe
22.05.15
✎
15:01
|
(5) Не использовать файловую конечно хороший вариант, но ну уж как есть. Предлагал такое, но им как раз хочется все в онлайне. Короче сделаю тогда:
Если Ссылка.ЕдиницаХраненияОстатков.Пустая() Тогда //НафигПроверку КонецЕсли; |
|||
10
Лефмихалыч
22.05.15
✎
15:02
|
(9) кассиры могут начать продавать товар сразу, как только его создали?
|
|||
11
empafe
22.05.15
✎
15:07
|
(10) Ага. Более того, они хотят его продавать, когда его еще даже создать не успели, потому что оператор прохлаждался, а товар уже на полках. В итоге крики/драки и оператор в панике забивает накладные
|
|||
12
empafe
22.05.15
✎
15:10
|
И да, спасибо. С названием темы я немного опечатался..)
|
|||
13
Лефмихалыч
22.05.15
✎
15:10
|
(11) хотим, чтобы был учет, но не хотим его вести и в гробу видали вас с вашими бищнес процессами и проче ё*банью заумной, мы деньги зарабатываем (с)
ну, тогда - снимай с поддержки и правь конфу |
|||
14
Новый участник
22.05.15
✎
15:11
|
(11) Передайте собственнику, что онлайн-консультант считает безусловное прменение бизнес-геля неоправданным в этом случае.
|
|||
15
ВРедная
22.05.15
✎
15:12
|
(9) (13) В актуальном релизе УПП уже стоит заглушка:
Если мЭтоНеНовый И НЕ ЭтоГруппа Тогда Возможно, нужно обновить розницу |
|||
16
empafe
22.05.15
✎
17:23
|
(15) Посмотрел, и правда, тут тоже стоит
Но после первого возврата 1с присваивает единицу измерения и пишет элемент еще раз. И в этот раз он уже не новый. Странно конечно как-то.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |