Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:58

НайтиСтроки()

Автор mashencev_anton, 14 апр 2015, 11:45

0 Пользователей и 1 гость просматривают эту тему.

mashencev_anton

Используя метод НайтиСтроки().. как узнать какая строка не была найдена??

cska-fanat-kz

НайденныеСтроки = ТЗ.НайтиСтроки(...);
НЕНайденныеСтроки = Новый Массив;
Для Каждого СтрокаТЧ Из ТЗ Цикл
    НайденоВМассивеСтрок = НайденныеСтроки.Найти(СтрокаТЧ);
    Если НайденоВМассивеСтрок = Неопределено Тогда
        НЕНайденныеСтроки.Добавить(СтрокаТЧ);
    КонецЕсли;
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK


интересная постановка задачки, получить/показать то что не выбралось :xfbnsdfb:

еще вариант,


НайденныеСтроки = ТЗ.НайтиСтроки(...);
лкТЗКопия = ТЗ.Скопировать();
Для каждого лкСтр Из НайденныеСтроки Цикл
лкТЗКопия.Удалить(лкСтр);
КонецЦикла;
//просмотр чего не было выбрано
лкТЗКопия.ВыбратьСтроку();

Добавлено: 14 апр 2015, 12:20


кто знает, почему формат в кодах сбивается? перенос строк заменяется на <вк> ?
Добавлено: 14 апр 2015, 12:21


Цитата: LexaK от 14 апр 2015, 12:17

интересная постановка задачки, получить/показать то что не выбралось :xfbnsdfb:

еще вариант,


НайденныеСтроки = ТЗ.НайтиСтроки(...);
лкТЗКопия = ТЗ.Скопировать();
Для каждого лкСтр Из НайденныеСтроки Цикл
лкТЗКопия.Удалить(лкСтр);
КонецЦикла;
//просмотр чего не было выбрано
лкТЗКопия.ВыбратьСтроку();

Добавлено: 14 апр 2015, 12:20


кто знает, почему формат в кодах сбивается? перенос строк заменяется на <вк> ?
если помогло нажмите: Спасибо!

mashencev_anton

Цитата: cska-fanat-kz от 14 апр 2015, 11:52НайденныеСтроки = ТЗ.НайтиСтроки(...);
НЕНайденныеСтроки = Новый Массив;
Для Каждого СтрокаТЧ Из ТЗ Цикл
    НайденоВМассивеСтрок = НайденныеСтроки.Найти(СтрокаТЧ);
    Если НайденоВМассивеСтрок = Неопределено Тогда
        НЕНайденныеСтроки.Добавить(СтрокаТЧ);
    КонецЕсли;
КонецЦикла;
"Неопределенно"  относится ко всему Массиву или к каждой строке??


cska-fanat-kz

Цитата: mashencev_anton от 14 апр 2015, 13:52"Неопределенно"  относится ко всему Массиву или к каждой строке??

не понял... :dfbbdrfb:
"Неопределено" возвращает метод Найти() массива если не нашел...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

mashencev_anton

Цитата: cska-fanat-kz от 14 апр 2015, 13:56
Цитата: mashencev_anton от 14 апр 2015, 13:52"Неопределенно"  относится ко всему Массиву или к каждой строке??

не понял... :dfbbdrfb:
"Неопределено" возвращает метод Найти() массива если не нашел...

К примеру "НайденныеСтроки" возвращает массив из 3 строк.... а в ТЗ 4 строки....и  "НайденоВМассивеСтрок" находит и возвращает тоже 3 строки, соответственно "НайденоВМассивеСтрок" НЕ неопределенно.. я правильно понял?

cska-fanat-kz

Вообще то в Найти() отправляются строки исходной ТЗ одна за одной (обратите внимание на цикл "Для каждого..." и "Найти(СтрокаТЧ)")...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

mashencev_anton

Цитата: cska-fanat-kz от 14 апр 2015, 14:24
Вообще то в Найти() отправляются строки исходной ТЗ одна за одной (обратите внимание на цикл "Для каждого..." и "Найти(СтрокаТЧ)")...
да я то обратил внимание... только я не пойму из Вашего примера, как я выявлю не найденную строчку...

cska-fanat-kz

НайтиСтроки() возвращает массив НАЙДЕННЫХ строк
соответственно НЕНАЙДЕННАЯ строка при поиске по этому массиву даст Неопределено!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Ну рассмотрите вариант LexaK - тот же результат, только с другой стороны ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:
Рейтинг@Mail.ru

Поиск