![]() |
![]() |
![]() |
|
Найти несколько одинаковых значений в ТЗ | ☑ | ||
---|---|---|---|---|
0
sanches2
08.01.10
✎
18:02
|
Пробую воспользоваться методом АЛьФа из ветки
Таблица значений: НайтиЗначение () стр =0; слб =0; Пока ТЗ.НайтиЗначение ( НекЗначение, стр, слб) = 1 цикл ТЗ.ПолучитьСтрокуПоНомеру (стр); //некоторые действия.... ТЗ.УстановитьЗначение(стр, слб, КакоеТоДругоеЗначение); стр =0; слб =0; КонецЦикла; Вот мой пример Пока ТаблПродаж.НайтиЗначение(ЗначениеГруппировки,Строчка,"Группировка"+Ин)=1 Цикл ТаблПродаж.ПолучитьСтрокуПоНомеру(Строчка); Если ВсегоПериод.МесяцСтр<>ТаблПродаж.Период Тогда Продолжить; КонецЕсли; Т.УстановитьЗначение(Т.НомерСтроки,"Сумма_П_"+ВсегоПериод.НомерСтроки,ТаблПродаж.Сумма_П); Строчка = 0; КонецЦикла; У меня одно значение в самой первой строке, второе в 6. В первом цикле все верно находит значение из первой строки, во втором почему-то опять находит значение из первой строки. Что не так? |
|||
1
Aleksey_3
08.01.10
✎
18:07
|
А что найти строки не кошерно?
|
|||
2
Aleksey_3
08.01.10
✎
18:09
|
ТаблицаЗначений.НайтиСтроки (ValueTable.FindRows)
ТаблицаЗначений (ValueTable) НайтиСтроки (FindRows) Синтаксис: НайтиСтроки(<Параметры отбора>) Параметры: <Параметры отбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. Массив строк таблицы значений, соответствующих условиям поиска. Замечание! Массив хранит ссылки на строки таблицы значений, то есть при изменении строки в таблице, значение в массиве тоже будет измененным. Описание: Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска. Примечание: Метод эффективно использовать для выборки неуникальных значений. Пример: // СписокРаботников - реквизит формы для представления информации // о работниках (тип ТаблицаЗначений). // В форме расположено табличное поле СписокРаботников, в котором // показываются данные СписокРаботников. // С помощью запроса выбирается информация о работниках. Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ // текст запроса // ... "; Запрос.Текст = ТекстЗапроса; СписокРаботников = Запрос.Выполнить().Выгрузить(); Отбор = Новый Структура(); Отбор.Вставить("ФизЛицо",Справочники.ФизическиеЛица.ПустаяСсылка()); Строки = СписокРаботников.НайтиСтроки(Отбор); Если Строки.Количество() > 0 Тогда ЭлементыФормы.СписокРаботников.ТекущаяСтрока = Строки[0]; КонецЕсли; |
|||
3
sanches2
08.01.10
✎
18:10
|
Сори. Это 7-ка
|
|||
4
sanches2
08.01.10
✎
18:11
|
Он вообще зацикливается при таком методе.
|
|||
5
sanches2
08.01.10
✎
18:19
|
Понял. У меня нет затирания занчения найденного
ТЗ.УстановитьЗначение(стр, слб, КакоеТоДругоеЗначение); |
|||
6
Aleksey_3
08.01.10
✎
19:01
|
Юзай ИндексированнуюТаблицу из 1С++
|
|||
7
AcaGost
08.01.10
✎
19:49
|
Отсортируй свою ТЗ по твоей колонке.
Найди твое значение И далее пройдись по строкам, начиная от твоего значения |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |