26.04.2005, 09:22 | #1 |
----------------
|
Интересная задачка по getFirst - getNext
Задача - просуммировать физ. наличие по выделенным строкам в форме "В наличии" (InventOnHandItem).
Если считать по BP, то результат будет неправильный (значение из текущей записи) PHP код:
|
|
26.04.2005, 10:38 | #2 |
Модератор
|
Приветствую, Wamr!
Предложения вот такие: PHP код:
C Уважением, Георгий. |
|
26.04.2005, 10:38 | #3 |
Administrator
|
Прикольно.
В общем, такой эффект от того, что в при приведении типов Common -> boolean используется (InventSumLocal.RecId != 0) В форме "В наличии" запрос так переколбасивается, что RecId просто не выбирается из InventSum. Бороться с этим можно по-разному. Например, так: добавьте в InventSum_ds.init() последней строкой (после вызова initQueryInventSum()) следующий код: PHP код:
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.04.2005, 10:39 | #4 |
Administrator
|
Не, Георгий, так не пойдет. А если среди суммируемых строк будет и строка с нулевым PhysicalInvent?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.04.2005, 12:01 | #5 |
----------------
|
Я знал, что вам понравится
Максим, как всегда, прав. Георгий, наверное имел ввиду, сделать inventSumLocal.ItemId ? но это повличет интересный эффект - если маркировать строчки снизу вверх, то все посчитается правильно, а сверху вниз нет |
|
26.04.2005, 12:08 | #6 |
Administrator
|
А ItemId, кстати, тоже не обязательно будет выбираться. С помощью кнопки Отображение аналитики в форме В наличии код номенклатуры можно отключить
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.04.2005, 12:14 | #7 |
Модератор
|
Цитата:
Изначально опубликовано Wamr
Георгий, наверное имел ввиду, сделать inventSumLocal.ItemId? Но эффект все равно забавный "Улыбнуло. Афтар пеши исчто!" С Уважением, Георгий. |
|
26.04.2005, 12:17 | #8 |
----------------
|
Максим, аха.. отключить-то можно, и даже из грида пропадет... но в запросе-то останется (только что проверил)
|
|
26.04.2005, 12:33 | #9 |
Участник
|
Предложу более универсальное решение, которое будет работать независимо от того, какие поля заполнены в InventSum
PHP код:
|
|
26.04.2005, 13:17 | #10 |
Administrator
|
Цитата:
Изначально опубликовано Wamr
Максим, аха.. отключить-то можно, и даже из грида пропадет... но в запросе-то останется (только что проверил)
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.04.2005, 13:22 | #11 |
Administrator
|
Цитата:
Изначально опубликовано trud
Предложу более универсальное решение, которое будет работать независимо от того, какие поля заполнены в InventSum
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.04.2005, 15:03 | #12 |
----------------
|
Интересный, только имеет тотже трабл, что и вариант Георгия.
Почему-то все забывают про тройной оператор "? : ", в котором делается сравнение с курсором RecId =0. В результате вместо первой записи из выделенных всегда берется текущая запись. PHP код:
|
|
26.04.2005, 15:13 | #13 |
Administrator
|
Я, кстати, тоже заметил, когда тестировал этот вариант, что один раз сглюкнуло, но почему - разбираться не стал. Спасибо, Wamr.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|