|
УТ. РМК. По некоторым штрихкодам долго ищется номенклатура | ☑ | ||
---|---|---|---|---|
0
Wefast
02.12.20
✎
10:35
|
УТ. РМК. По некоторым штрихкодам долго ищется номенклатура
Собственно вбивается один шк - номенклатура подставляется мгновенно Вводишь другой - ищет секунд 20. В регистре записи идентичные на вид. |
|||
1
Wefast
02.12.20
✎
10:36
|
Перепутал, Розница
|
|||
2
Wefast
03.12.20
✎
15:17
|
Так. сделал замер производительности.
Долго тупит на строчке. Запрос.Выполнить().Выгрузить() Где тормозит - в итоговой таблице 3 строки, где не тормозит - 1 строка. Так что не думаю что дело в объеме данных. |
|||
3
Chameleon1980
03.12.20
✎
16:07
|
запрс покажи
|
|||
4
Wefast
03.12.20
✎
16:37
|
(3)
"ВЫБРАТЬ | ТаблицаНоменклатуры.Номенклатура КАК Номенклатура, | ТаблицаНоменклатуры.Характеристика КАК Характеристика, | ТаблицаНоменклатуры.Серия КАК Серия |ПОМЕСТИТЬ ТаблицаНоменклатуры |ИЗ | &ТаблицаНоменклатуры КАК ТаблицаНоменклатуры |ИНДЕКСИРОВАТЬ ПО | Номенклатура, | Характеристика, | Серия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | Т.Номенклатура КАК Номенклатура, | Т.Характеристика КАК Характеристика, | Т.Серия КАК Серия, | ВЫБОР КОГДА СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL | И СоответствиеНоменклатура.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) | КОГДА НЕ СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | СоответствиеСерии.АлкогольнаяПродукция | ИНАЧЕ | СоответствиеНоменклатура.АлкогольнаяПродукция | КОНЕЦ КАК АлкогольнаяПродукция, | | ВЫБОР КОГДА СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL | И СоответствиеНоменклатура.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | """" | КОГДА НЕ СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | СоответствиеСерии.АлкогольнаяПродукция.Код | ИНАЧЕ | СоответствиеНоменклатура.АлкогольнаяПродукция.Код | КОНЕЦ КАК КодАлкогольнойПродукции |ИЗ | ТаблицаНоменклатуры КАК Т | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыЕГАИС КАК СоответствиеСерии | ПО СоответствиеСерии.Номенклатура = Т.Номенклатура | И СоответствиеСерии.Характеристика = Т.Характеристика | И СоответствиеСерии.Серия = Т.Серия | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыЕГАИС КАК СоответствиеНоменклатура | ПО СоответствиеНоменклатура.Номенклатура = Т.Номенклатура | И СоответствиеНоменклатура.Характеристика = Т.Характеристика | И СоответствиеНоменклатура.Серия В (&ПустыеЗначенияСерий) |ГДЕ | ВЫБОР КОГДА СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL | И СоответствиеНоменклатура.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) | КОГДА НЕ СоответствиеСерии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА | СоответствиеСерии.АлкогольнаяПродукция | ИНАЧЕ | СоответствиеНоменклатура.АлкогольнаяПродукция | КОНЕЦ <> ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) |"); Запрос.УстановитьПараметр("ТаблицаНоменклатуры", ТаблицаНоменклатуры); Запрос.УстановитьПараметр("ПустыеЗначенияСерий", ИнтеграцияИС.НезаполненныеЗначенияОпределяемогоТипа("СерияНоменклатуры")); |
|||
5
Wefast
03.12.20
✎
16:50
|
Ну в общем там идет выборка из 1 регистра, сначала он получается 1500 строк и потом еще 1500, перемножает их и получает 2500 000 строка. А потом выводит отличающиеся строки только.
НА вскидку сделал так: ВЫБРАТЬ ТаблицаНоменклатуры.Номенклатура КАК Номенклатура, ТаблицаНоменклатуры.Характеристика КАК Характеристика, ТаблицаНоменклатуры.Серия КАК Серия ПОМЕСТИТЬ ТаблицаНоменклатуры ИЗ &ТаблицаНоменклатуры КАК ТаблицаНоменклатуры ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, Серия ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Т.Номенклатура КАК Номенклатура, Т.Характеристика КАК Характеристика, Т.Серия КАК Серия, СоответствиеСерии.АлкогольнаяПродукция КАК АлкогольнаяПродукция ПОМЕСТИТЬ серии ИЗ ТаблицаНоменклатуры КАК Т ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыЕГАИС КАК СоответствиеСерии ПО (СоответствиеСерии.Номенклатура = Т.Номенклатура) И (СоответствиеСерии.Характеристика = Т.Характеристика) И (СоответствиеСерии.Серия = Т.Серия) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Т.Номенклатура КАК Номенклатура, Т.Характеристика КАК Характеристика, Т.Серия КАК Серия, СоответствиеНоменклатура.АлкогольнаяПродукция КАК АлкогольнаяПродукция ПОМЕСТИТЬ соотв ИЗ ТаблицаНоменклатуры КАК Т ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыЕГАИС КАК СоответствиеНоменклатура ПО (СоответствиеНоменклатура.Номенклатура = Т.Номенклатура) И (СоответствиеНоменклатура.Характеристика = Т.Характеристика) И (СоответствиеНоменклатура.Серия В (&ПустыеЗначенияСерий)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Т.Номенклатура КАК Номенклатура, Т.Характеристика КАК Характеристика, Т.Серия КАК Серия, ВЫБОР КОГДА серии.АлкогольнаяПродукция ЕСТЬ NULL И соотв.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) КОГДА НЕ серии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА серии.АлкогольнаяПродукция ИНАЧЕ соотв.АлкогольнаяПродукция КОНЕЦ КАК АлкогольнаяПродукция, ВЫБОР КОГДА серии.АлкогольнаяПродукция ЕСТЬ NULL И соотв.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА "" КОГДА НЕ серии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА серии.АлкогольнаяПродукция.Код ИНАЧЕ соотв.АлкогольнаяПродукция.Код КОНЕЦ КАК КодАлкогольнойПродукции ИЗ ТаблицаНоменклатуры КАК Т ЛЕВОЕ СОЕДИНЕНИЕ серии КАК серии ПО (серии.Номенклатура = Т.Номенклатура) И (серии.Характеристика = Т.Характеристика) И (серии.Серия = Т.Серия) ЛЕВОЕ СОЕДИНЕНИЕ соотв КАК соотв ПО (соотв.Номенклатура = Т.Номенклатура) И (соотв.Характеристика = Т.Характеристика) И (соотв.Серия В (&ПустыеЗначенияСерий)) ГДЕ ВЫБОР КОГДА серии.АлкогольнаяПродукция ЕСТЬ NULL И соотв.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) КОГДА НЕ серии.АлкогольнаяПродукция ЕСТЬ NULL ТОГДА серии.АлкогольнаяПродукция ИНАЧЕ соотв.АлкогольнаяПродукция КОНЕЦ <> ЗНАЧЕНИЕ(Справочник.КлассификаторАлкогольнойПродукцииЕГАИС.ПустаяСсылка) В итоге сначала 1500 тысячи строк - потом в этом подзапросе схлопывается до 3. Потом во втором подзапросе 3 строки. В итоговой перемножается 3 на 3 |
|||
6
Wefast
03.12.20
✎
16:51
|
Но хз, типовой запрос из Розницы, общий модуль ШтрихкодированиеЕГАИС
Все эти изменения в РИБ(с 15+ узлами) вносить удовольствие не из приятных |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |