v7: ИндексированнаяТаблица. что вместо "ПолучитьСтрокуПоНомеру" ? #684530


#0 by Dolly_EV
Собственно, сабж. в простой ТЗ есть метод ПолучитьСтрокуПоНомеру(<НомерСтроки>). Что в таком случае делать в ИТЗ? В случае, когда по номеру основного индекса надо спозиционироваться на конкретной строке? Надоело всякие обходные пути применять, может я чего не знаю секретного? или просто туплю? :-(
#1 by vinogradъ
НайтиСтроку(Индекс, Ключ, [чНайтиПоследнюю = 0], [чСпозиционироваться = 0])?
#2 by viktor_vv
НайтиСтроку с параметром Позиционироваться.
#3 by Dolly_EV
"НомерСтроки Назначение: Доступ: чтение и ЗАПИСЬ(!!). Тип: Число. Номер текущей строки в основном индексе. Если строка не выбрана, то 0." проверил. ИТЗ.НомерСтроки = НужныйНомер. Работает! В общем тема закрыта)) (Хотя помнится пару лет назад чего-то с этим НомерСтроки не получалось...)
#4 by viktor_vv
Упс, че-то я лоханулся :), немного не в ту сторону подумал.
#5 by Dolly_EV
для НайтиСтроку как указать ОсновнойИндекс? вот так НайтиСтроку(,лНомСтр,1,1) или НайтиСтроку(1,лНомСтр,1,1) ругается "Таблица не проиндексирована"
#6 by viktor_vv
+ Хотя НомерСтроки ты как получаешь, не через НайтиСтроку ?
#7 by Dolly_EV
:-)
#8 by Dolly_EV
вот прямо сейчас вот так получаю: лТЗ.ВыбратьСтроку(лПоз,"Выберите подходящего контрагента...",10) Но всякие варианты бывают
#9 by viktor_vv
НайтиСтроку(ИмяКолонки,ЗначениеИзЭтойКолонкиДляПоиска,1,1) Можно попробовать ИмяКолонки= "НомерСтроки", но вряд ли. Ну тогда .
#10 by Dolly_EV
не ИмяКолонки, а Имя или номер Индекса.
#11 by viktor_vv
Если поиск по одной колонке, то имя колонки в качестве имени индекса.
#12 by viktor_vv
+ И в этом случе отдельно индексировать ее не надо.
#13 by Dolly_EV
лТЗ.НайтиСтроку("НомерСтроки",лПоз,1,1); {D:BASES_WORKINGERTОБОРОТРОЗНИЦАИМПОРТДОКОВСУПЕРМАГ.ERT(1442)}: Индекс с именем НомерСтроки не найден !
#14 by viktor_vv
Ну я в и выразил сомнение, что это сработает для НомерСтроки, это не совсем обычная колонка. А для остальных и работает.
#15 by viktor_vv
+ Хотя че-то засомневался насчет остальных колонок :).
#16 by Dolly_EV
правильно засомневался))) ибо для остальных будет работать, только если по ним предварительно СОЗДАТЬ индекс, и обозвать его так же, как и колонка зовется
#17 by viktor_vv
Да. Это меня группировать сбило с толку, а там индекс неявно создается.
#18 by Salimbek
лТЗ.НайтиСтроку("",лПоз,1,1);
#19 by Dolly_EV
лТЗ.НайтиСтроку("",лПоз,1,1); {D:BASES_WORKINGERTОБОРОТРОЗНИЦАИМПОРТДОКОВСУПЕРМАГ.ERT(1596)}: Таблица не проиндексирована! Давайте еще варианты - совместно отыщем истину)))...пока отлаживаю эту обработку - буду параллельно проверять
#20 by ADirks
ты же прочитал уже документацию, чего дальше то фигнёй страдать? ну а так, чтобы поиск по "основному индексу" работал, надо его проинициализировать. Например, сказать .Сиртировать(...) или .СоздатьИндекс("", ...)
#21 by Dolly_EV
ясно
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С