При очистке и перезаполнении ТЧ идентификаторы строк ТЧ не сбрасываются

1. Nuki4 18.05.20 23:09 Сейчас в теме
Доброго дня.

Ситуация следующая.
Есть ТЧ на форме, которая заполняется при открытии обработки. Заполняется, допустим из справочника номенклатуры по определенному отбору.
В ТЧ есть возможность изменить, допустим, наименование в выделенных строках по определенному алгоритму. После выполнения этого алгоритма, сама номенклатура записывается. И ТЧ очищается и перезаполняется уже обновленными данными.

Перебор выделенных строк происходит по перебору идектификатора в массиве, который возвращает "ВыделенныеСтроки".

Внимание вопрос. Как при повторном заполнении сделать так, что бы идентификаторы эти начались опять с 0?
Сейчас, если в ТЧ 1000 строк, а меняем мы 5 и 6 (это идентификаторы). После перезаполнения ТЧ идентификаторы этих строк будут 1005 и 1006.

Вопрос может быть крайне глупый, как и я.
Найденные решения
6. Nuki4 18.05.20 23:45 Сейчас в теме
Собственно не говнокод:
Для Каждого Строка Из Элементы.Товары.ВыделенныеСтроки Цикл
    НСтроки = Товары.НайтиПоИдентификатору(Строка);
 КонецЦикла;


Спасибо.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. soft_wind 18.05.20 23:35 Сейчас в теме
(1)
Внимание вопрос. Как при повторном заполнении сделать так, что бы идентификаторы эти начались опять с 0?

в рамках текущей формы - ни как!!! (считайте что это какие-то служебные данные)

для оптимальной работы они и не нужны, а для г-овнокодирования - можете перезапустить/переоткрыть текущую форму, индексы сбросятся !!!
5. Nuki4 18.05.20 23:39 Сейчас в теме
(4) Логично, что сбросятся. Переоткрывать форму-такое себе предложение. Но спасибо.
Может тогда расскажете как обходить выделенные строки без говнокода?
2. SlavaKron 18.05.20 23:11 Сейчас в теме
Значения идентификаторов, если вы правильно с ними обращаетесь, вас интересовать не должны.
3. Nuki4 18.05.20 23:31 Сейчас в теме
(2) Хорошо, я делаю так:

МассивСтрок= Элементы.ТЧ.ВыделенныеСтроки;
Для каждого Мстр Из МассивСтрок Цикл
Строка = ТЧ[Мстр];
Если ЗначениеЗаполнено(Строка.Номенклатура) Тогда


КонецЕсли;

Дальше перезаполняю. И в массиве строк данные как описывал выше.

Может быть это неправильно, другого варианта обойти выбранные строки не придумал.

Подскажите как правильно.
7. soft_wind 18.05.20 23:45 Сейчас в теме
(3)
вот пример

Для каждого лкСтр Из Элемент.ВыделенныеСтроки Цикл
			лкДанные = РезультатТЗ.НайтиПоИдентификатору(лкСтр);
			лкСумма = лкСумма + лкДанные.Число;
		КонецЦикла;
6. Nuki4 18.05.20 23:45 Сейчас в теме
Собственно не говнокод:
Для Каждого Строка Из Элементы.Товары.ВыделенныеСтроки Цикл
    НСтроки = Товары.НайтиПоИдентификатору(Строка);
 КонецЦикла;


Спасибо.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот