|
Обработать выделенные строки в ТЧ - слетает нумерация при перезаполнении ТЧ | ☑ | ||
---|---|---|---|---|
0
Double_Medved
15.01.17
✎
13:32
|
Добрый день!
Подскажите пожалуйста, хотел все сделать быстро и красиво, а тут попался камушек и я споткнулся((( Ковыряю неведомую программу Управляющий 8, редакция 1.4 (там все не как у людей, возможно дело в этом, но наверно дело в коде) Задачка простая - сделать обработочку для группового изменения документов. Заполняю табличную часть, в ТЧ ссылки на документы. Потом юзер в списке выделит какие нужны, и нажмет обработать (это такая фишечка - обрабатывать выделенные, предлагал сделать галочки вместо этого, но не катит) Нахожу выделенные строки грубо говоря вот так: СписокЗначенийВыделенныеЗаявкиДляОбработки = Новый СписокЗначений; СписокЗначенийВыделенныеЗаявкиДляОбработки.ЗагрузитьЗначения(ЭтаФорма.Элементы.ЗаявкиДляОбработки.ВыделенныеСтроки); //ЗаявкиДляОбработки - табличная часть СписокЗначенийВыделенныеЗаявкиДляОбработки.СортироватьПоЗначению(); МассивВыделенныеЗаявкиДляОбработки = СписокЗначенийВыделенныеЗаявкиДляОбработки.ВыгрузитьЗначения(); Если МассивВыделенныеЗаявкиДляОбработки.Количество()>0 Тогда Для Индекс = 0 По МассивВыделенныеЗаявкиДляОбработки.Количество() - 1 Цикл Сообщить(МассивВыделенныеЗаявкиДляОбработки[Индекс]); КонецЦикла; КонецЕсли; Например в ТЧ 10 строк, индекс пишет 0-9, все норм. Но вот косяк: когда я перезаполняю табличную часть, очищая ее при этом Объект.ЗаявкиДляОбработки.Очистить(); , то индекс слетает и считается не с нуля а со следующего номера после конца предыдущей ТЧ. Например в новой ТЧ 5 строк, и тут выделенные строки дают индекс 10-14!! и т.д. То есть при перезаполнении ТЧ выделенные строки считаются не с нуля, как надо, а с последнего номера в старой таблице! И вообще там получается индекс строки, а не ее содержимое (неделю назад делал так в списке документов, все работало, а тут никак) Подскажите, может как-то еще надо очищать ТЧ? Или я вообще делаю не так... |
|||
1
Неверный Параметр И
15.01.17
✎
13:42
|
Еще одна жертва подхода "а ща мы тут сабелькой помашем".
Выделенная строка и текущая строка - это не индексы а идентификаторы. Про это даже в СП пишут. Там же написано про методы получения строк по идентификатору. |
|||
2
Double_Medved
15.01.17
✎
13:50
|
(1) То есть там GUID? то там не уникальный идентификатор длинный, там просто число
|
|||
3
Double_Medved
15.01.17
✎
13:51
|
(1) Я массив с выделенными строками правильно получаю?
|
|||
4
Неверный Параметр И
15.01.17
✎
13:51
|
(2) Ты не можешь себе представить числовой идентификатор?
|
|||
5
Неверный Параметр И
15.01.17
✎
13:52
|
(3) Ты получаешь массив идентификаторов выделенных строк.
|
|||
6
Double_Medved
15.01.17
✎
13:55
|
(2) Я постоянно гружу туда-сюда справочники и документы, привык что он длинный(
|
|||
7
Double_Medved
15.01.17
✎
13:56
|
(3)Глупый вопрос, но как получить строку по идентификатору? гугл отсылает на длинные идентификаторы
|
|||
8
Неверный Параметр И
15.01.17
✎
13:59
|
ДанныеФормыКоллекция (FormDataCollection)
НайтиПоИдентификатору (FindByID) Синтаксис: НайтиПоИдентификатору(<Идентификатор>) Параметры: <Идентификатор> (обязательный) Тип: Число. Идентификатор строки таблицы. Возвращаемое значение: Тип: ДанныеФормыЭлементКоллекции; Неопределено. Неопределено - элемент не найден. Описание: Получает элемент коллекции по идентификатору. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). См. также: ТаблицаФормы, свойство ВыделенныеСтроки ТаблицаФормы, свойство ТекущийРодитель ТаблицаФормы, свойство ТекущаяСтрока |
|||
9
Неверный Параметр И
15.01.17
✎
13:59
|
Рановато тебе про "неведомую программу" и "там все не как у людей" выступать
|
|||
10
Double_Medved
15.01.17
✎
14:35
|
(8)Спасибо
|
|||
11
Double_Medved
15.01.17
✎
14:36
|
(9)Ладно, сегодня похлестаю себя плеткой сидя на коленях в темном углу
|
|||
12
Неверный Параметр И
15.01.17
✎
15:22
|
(11) И на горох! Это важно!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |