|
Перебор табличной части | ☑ | ||
---|---|---|---|---|
0
JedaiMaster
02.06.14
✎
10:08
|
задача для тек то очень хорошо разбирается в алгоритмах, как реализовать это в алгоритме 1с, в обработке есть табличная часть мне надо сделать проверку, и если проверка удовлетворяет значению поменять значения в таблице, только менять надо не текущие значение а следующие
http://yadi.sk/d/bqRni6PxRxC6b получаем строку выделенную красным, из 96724-10396 получаем сумму которую надо записать в ячейку выделенную синим (97253) Для Каждого Стр из Платежи Цикл текстр=ЭлементыФормы.Платежи.ДанныеСтроки(Стр); если (текстр.Погашение+ТекСтр.проценты)<>ТекСтр.ИтогоВыплаты тогда Сообщить(ТекСтр.Месяц); Сообщить(ТекСтр.ОстатокЗадолжности); Сообщить(ТекСтр.проценты); Сообщить(ТекСтр.ИтогоВыплаты); ТекСтрРЕДАКТОР=ТекСтр.ОстатокЗадолжности- (текстр.Погашение+ТекСтр.проценты); КонецЕсли; ТекСтр.ОстатокЗадолжности=ТекСтрРЕДАКТОР; КонецЦикла; |
|||
1
JedaiMaster
02.06.14
✎
10:11
|
(0) задача для гения 1С
|
|||
2
fisher
02.06.14
✎
10:13
|
В чем проблема-то? Перебирай не "для каждого", а с индексами строк работай.
|
|||
3
Jokero
02.06.14
✎
10:13
|
а вчем проблема то непонятно))
К индексу полученной в условии строки добавить единичку и менять ее на здоровье. |
|||
4
Галахад
гуру
02.06.14
✎
10:15
|
Вот и гении подтянулись :-)
|
|||
5
fisher
02.06.14
✎
10:16
|
"задача для тек то очень хорошо разбирается в алгоритмах"
Шаг в сторону от тупого перебора - "задача для гения 1С"? |
|||
6
JedaiMaster
02.06.14
✎
10:20
|
(5) в первые столкнулся с таким перебором, поэтому туговато понимаю как сделать
|
|||
7
Крошка Ру
02.06.14
✎
10:21
|
(0) Недостаток знания в тебе, джедаймастер, вижу
Умных книг ещё много ты прочитать должен |
|||
8
Shurjk
02.06.14
✎
10:23
|
"задача для тек то очень хорошо разбирается в алгоритмах" - это такой маркетингговый ход, чтоб народ активней отвечал.
|
|||
9
fisher
02.06.14
✎
10:24
|
(6) С ТЧ можно работать, адресуя строки их индексами (как и с многими другими коллекциями).
"Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0)" Кури также методы Индекс(), Количество() |
|||
10
JedaiMaster
02.06.14
✎
10:25
|
(9) Спасибо
|
|||
11
fisher
02.06.14
✎
10:27
|
Ну и метод Получить() до кучи. Правда, никогда его не юзал.
"Применяется в случаях, когда использование оператора [] невозможно" Навскидку даже не соображу, когда квадратные скобки невозможно использовать. |
|||
12
Крошка Ру
02.06.14
✎
10:29
|
Да можно и Для Каждого использовать...
В конце одной итерации цикла запоминаем в переменной значение, в начале следующей - заносим его в таблицу. |
|||
13
mikecool
02.06.14
✎
10:37
|
сделать это запросом!
|
|||
14
JedaiMaster
02.06.14
✎
10:50
|
(12)делал так, при первом проходе он будет говорит что переменная не определена
|
|||
15
Крошка Ру
02.06.14
✎
10:51
|
(14) ну перед циклом, её, понятное дело, инициализировать надо))
|
|||
16
Крошка Ру
02.06.14
✎
10:56
|
(14) Ну или как-то так:
ЭтоПерваяСтрокаТаблицы = Истина; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЭтоПерваяСтрока Тогда ЭтоПерваяСтрока = Ложь; Иначе ... заносим ВычисленноеЗначение в ТЗ... КонецЕсли; ... вычисляем ВычисленноеЗначение... КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |