|
Работа с таблицей значений |
☑ |
0
Filipp_1987
26.11.16
✎
00:57
|
Знатоки подскажите, как составить код чтобы из ТЗ определить по периоду (применяется с)есть несколько одинаковых периодов с одним и тем же регистратором и удалить строку с меньшей суммой.
Пример картинки:
|
|
1
Vladal
26.11.16
✎
01:45
|
Как вариант:
ТЗ.Сортировать("Период, Регистратор, Сумма");
|
|
2
Web00001
26.11.16
✎
05:42
|
+(1)Потом перебирать строки и если период или регистратор изменился, запомнить в отдельном массиве строку которую надо удалить. После чего удалить все строки которые есть в массиве. Есть еще варианты, но это вроде как самый простой.
|
|
3
craxx
26.11.16
✎
05:48
|
(0) Загрузить в запросе из Тз во временную таблицу, обработать, выгрузить результат запроса в ТЗ
|
|
4
kosts
26.11.16
✎
09:25
|
Выгрузить в новую ТЗ, только колонки "Период, Регистратор".
Свернуть эту ТЗ.
В цикле этой ТЗ, найти строки из первой ТЗ и в цикле по найденным строкам искать минимальный.
Всего примерно в 15 строк можно наверное уложиться.
|
|
5
kosts
26.11.16
✎
09:26
|
Запросом найти еще легче, да и предпочтительнее, так как данные в базе уже лежат. Запрос должен вернуть список строк подлежащих удалению.
|
|
6
Filipp_1987
26.11.16
✎
10:29
|
Спасибо
|
|
7
SleepyHead
гуру
26.11.16
✎
14:45
|
ТЗ.найтиСтроки()
|
|
8
craxx
26.11.16
✎
14:48
|
(7) такое точно не подойдет
|
|
9
SleepyHead
гуру
26.11.16
✎
14:50
|
(8) Почему? В (0) написано, что есть одинаковые периоды. искать строки с одинаковыми периодам, помещать в массив методом найтистроки, определить, у какой строки минимальная сумма и удалить ее.
|
|
10
SleepyHead
гуру
26.11.16
✎
14:51
|
Хотя да, неизвестно же, какие периоды и регистарторы искать, чет я тупанул :)
|
|
11
craxx
26.11.16
✎
16:20
|
(4) по скорости запросом быстрее
|
|
12
Serginio1
26.11.16
✎
16:30
|
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой