|
Получение строк табличной части документа | ☑ | ||
---|---|---|---|---|
0
ЯСтараюсь
28.05.18
✎
12:41
|
Как получить строки табличной части документа, если по отбираемому полю есть в ТЧ есть дубли?
Есть массив из справочника ЛицевыеСчета Есть документ в ТЧ которой есть колонка ЛицевойСчет Необходимо получить строки с теми ЛицевымиСчетами, которые содержатся в массиве для дальнейшей обработки. Но в документе может быть несколько строк с одинаковым ЛицевымСчет-ом Если делать цикл по массиву и воспользоваться функцией Найти(), можно получить только одну из строк с одинаковыми лицевыми счетами СтрокаТЧ = ЛицевыеСчета.Найти(ЛС,"Объект"); Как получить все строки? |
|||
1
Timon1405
28.05.18
✎
12:42
|
НайтиСтроки()
|
|||
2
Михаил Козлов
28.05.18
✎
12:43
|
Либо запросом к ТЧ, либо по каждому ЛС из массива - НайтиСтроки
|
|||
3
ЯСтараюсь
28.05.18
✎
12:58
|
Табличная часть (Tabular section)
НайтиСтроки (FindRows) Синтаксис: НайтиСтроки(<ПараметрыОтбора>) Параметры: <ПараметрыОтбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. |
|||
4
ЯСтараюсь
28.05.18
✎
12:59
|
НайтиСтроки() - возвращает массив, а мне нужно получить эти строки и далее с ними еще работать
|
|||
5
ЯСтараюсь
28.05.18
✎
13:00
|
т.е. изменить значения другого столбца
|
|||
6
Ёпрст
28.05.18
✎
13:01
|
(4) получает массив строк ТЧ.
|
|||
7
Ёпрст
28.05.18
✎
13:02
|
у тя будет доступ к строке табличной части, если что -то меняешь, считай, меняешь в ТЧ.
|
|||
8
Zmich
28.05.18
✎
13:02
|
(4). Получаешь массив строк, потом циклом Для Каждого ... Из <Массив> обходишь и меняешь, что тебе нужно.
|
|||
9
Ёпрст
28.05.18
✎
13:02
|
фирштейн ?
|
|||
10
ЯСтараюсь
28.05.18
✎
13:07
|
(9) - Спасибо,щас попробую, отпишусь
|
|||
11
Вася Теркин
28.05.18
✎
13:08
|
(10) Нет!!! не пробуй!!!
Все, больше мы его не увидим. |
|||
12
ЯСтараюсь
28.05.18
✎
13:15
|
А можно сделать отбор строк ТЧ по всем значением массива разом? Или нужно в цикле перебором?
|
|||
13
ЯСтараюсь
28.05.18
✎
13:15
|
МассивЛС =МС_СтрокаВМассивСтрокЛС(СтрокаТабличнойЧасти.СписокЛС, ",");
ОтборЛС = Новый Структура; ОтборЛС.Вставить("Объект",МассивЛС); ТЧДок = ЛицевыеСчета.НайтиСтроки(ОтборЛС); Для каждого Стр из ТЧДок Цикл Стр.ДокументОплаты = ДокументОплатыПлатежнойКартой.Ссылка; КонецЦикла; так не заработало... |
|||
14
ЯСтараюсь
28.05.18
✎
13:17
|
Как сделать оптимально - с точки зрения производительности?
|
|||
15
ЯСтараюсь
28.05.18
✎
13:26
|
Сделал перебором. Спасибо большое всем!
МассивЛС =МС_СтрокаВМассивСтрокЛС(СтрокаТабличнойЧасти.СписокЛС, ","); Для Каждого ЭлементМассива из МассивЛС Цикл ОтборЛС = Новый Структура; ОтборЛС.Вставить("Объект",ЭлементМассива); МассивТЧДок = ЛицевыеСчета.НайтиСтроки(ОтборЛС); Для каждого Стр из МассивТЧДок Цикл Стр.ДокументОплаты = ДокументОплатыПлатежнойКартой.Ссылка; КонецЦикла; КонецЦикла; |
|||
16
yavasya
28.05.18
✎
13:27
|
(15) Привыкай запросом, цикл в большинстве случаев некашерно
|
|||
17
ЯСтараюсь
28.05.18
✎
13:32
|
(16) т.е. запросом вытащить строки ТЧ документа (в параметр установить массив) и дальше перебором изменить нужный реестр?
И если менять в переборе, то в ТЧ тоже меняется? |
|||
18
ЯСтараюсь
28.05.18
✎
13:33
|
*реквизит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |