|
v7: Индексированная таблица
| ☑ |
0
Fenikus
29.02.12
✎
14:24
|
Всем доброго дня. Подскажите, пожалуйста, почему может не работать следующий код (поиск не срабатывает):
Если тзОстаткиОверсток.НайтиСтроку("ТоварИДИнд",ТоварИД,,1) <> 0 Тогда
ДБФ.TZKol = тзОстаткиОверсток.ОстатокКол;
ДБФ.TZRub = тзОстаткиОверсток.ОстатокРуб;
КонецЕсли;
при том, что такой код отрабатывает нормально:
тзОстаткиОверсток.ВыбратьСтроки("ТоварИДИнд");
Пока тзОстаткиОверсток.ПолучитьСтроку("ТоварИДИнд") = 1 Цикл
Если тзОстаткиОверсток.ТоварИД = ТоварИД Тогда
ДБФ.TZKol = тзОстаткиОверсток.ОстатокКол;
ДБФ.TZRub = тзОстаткиОверсток.ОстатокРуб;
Прервать;
КонецЕсли;
КонецЦикла;
|
|
1
Mikeware
29.02.12
✎
14:27
|
(0) во втором случе индекс не нудет простой перебор...
А вообщес, смотри индекс и ключ.
|
|
2
Fenikus
29.02.12
✎
14:29
|
Может быть пробелы слева и справа как-то на это влиять могут?
|
|
3
Mikeware
29.02.12
✎
14:33
|
(2) справа, скорее.
хотя ХЕЗ. пробуй. спроси у тов. Профайлера...
|
|
4
Fenikus
29.02.12
✎
14:39
|
косяк из-за того, что заполнение было через запрос
Запрос.ВыполнитьИнструкцию(ТекстЗапроса,тзОстаткиОверсток,0);
интересно только, это баг или фича?
|
|
5
Fenikus
29.02.12
✎
14:46
|
В общем, когда добавил индекс после заполнения таблицы, то все сработало
|
|