18.08.2008, 14:16 | #1 |
Участник
|
Нужно подсчитаь сумму по строкам, у которых в некотором текстовом поле встречается подстрока (если фильтровать таблицу рукой, то достаточно ввести '*подстрока*").
Делаю флоуфилд. В таблефилтер сталю FILTER и, далее, '*подстрока*'. Когда открываю таблицу, ругается, что значение, по которому фильтруется,не должно включать звездочки. |
|
18.08.2008, 17:10 | #2 |
Участник
|
Цитата:
Сообщение от U-gene
Нужно подсчитаь сумму по строкам, у которых в некотором текстовом поле встречается подстрока (если фильтровать таблицу рукой, то достаточно ввести '*подстрока*").
Делаю флоуфилд. В таблефилтер сталю FILTER и, далее, '*подстрока*'. Когда открываю таблицу, ругается, что значение, по которому фильтруется,не должно включать звездочки. Кстати, а работает ли правильно, если не ставить эти звездочки? |
|
18.08.2008, 17:43 | #3 |
Участник
|
1)Nav 4.0
2)Ошибка в прил. файле "Кстати" если звездочки не ставить - работает. 3)Ну и хрен с ним - закодил рУкой рассчет по другом PS: навижн - ненавижн |
|
18.08.2008, 17:49 | #4 |
Участник
|
|
|
19.08.2008, 22:28 | #5 |
Участник
|
По поводу фильтрации:
флоуфилды не работают в NAV с фильтрами, в которых присутствуют звездочки * (читайте Solution Development) Поэтому CalcSum тоже не будет работать, если одно из полей фильтров содержит фильтр со звездочками Вижу следующие решения: 1) банально в цикле после фильтрации с наличием в фильтре звездочек обход всех строк полученного рекордсета и получения итоговой суммы - медленно 2) ввод нового поля типа Boolean в таблицу, в которой собираемся суммировать значение поля. Новое поле будет устанавливаться в True, если в некотором текстовом поле встречается подстрока(если использовать этот метод, то нужног обработать уже введенные данные) 3) но лучшим способом считаю следующий: текстовое поле скорее всего откуда-то наполняется... из какого-то справочника (таблицы). Так вод в том справочнике и нужно вводить поле-признак и протащить его в нашу таблицу. Это поле будем использовать для отбора строк, которые хотим пересчитать. |
|