Имя: Пароль:
1C
1C 7.7
v7: ИндексированнаяТаблица. Проясните по индексам.
0 Shaman100M
 
03.07.13
09:54
Выгрузил запрос в индексированную таблицу. Добавляю индекс по одной из колонок - ДобавитьИндекс() . Использую метод НайтиСтроку(), передаю туда поисковое значение, - ругается, "нужен список значений". Посмотрел количество индексов - их оказалась два. Первый имеет просто номер, без названия, без выражения. попытался его удалить - не дает, говорит "это основной индекс". Ладно, думаю, буду искать с пом. списка значений. А в нем оказывается нужно указывать два значения для поиска. Что делать?
1 Mikeware
 
03.07.13
10:04
Основной индекс - по номеру
Если ключ из двух значений - передаетя в СЗ (вроде еще в Структуре можно)
2 ADirks
 
03.07.13
10:07
1. Читать документацию
2. Учиться задавать вопросы


итРассчет.ДобавитьИндекс("и1", "Сотрудник*, День");

сзКлюч = СоздатьОбъект("СписокЗначений");
сзКлюч.ДобавитьЗначение(_Сотрудник);
сзКлюч.ДобавитьЗначение(д);
Если итРассчет.НайтиСтроку("и1", сзКлюч,, 1) > 0 Тогда
   _Начислено = итРассчет.Сумма;
КонецЕсли;
3 Shaman100M
 
03.07.13
10:17
(1) спасибо. Нашел ошибку. Предполагал, что мой добавленный индекс - первый по номеру, а не второй.  )
4 Mikeware
 
03.07.13
10:18
(3) а какая разница какой он по номеруу если у него есть имя?
5 Shaman100M
 
03.07.13
10:34
(4) в номере меньше символов
6 Mikeware
 
03.07.13
12:06
(5) млять, ты еще переменные нумеруй... и функции с процедурами...
7 Shaman100M
 
03.07.13
16:14
(6) злой ты...

Если индекс/колонка/поле всего одно, и предполагается одно,
удобно обращаться к нему не по алиасу, а единичкой. Методы позволяют это делать. И, возможно, это быстрее работает.

Начитался Совершенного кода... ))
8 ADirks
 
03.07.13
17:19
Нашёл чё оптимизировать... Любовь к экономии на спичках обычно приводит к большим потерям на действительно важных вещах.
Но если уж хочется, то ит.НайтиСтроку(2, сзКлюч) - вроде очевидно, если индекса два?
9 Shaman100M
 
03.07.13
19:41
(8) Ладно, просто удобно было написать единичку.