![]() |
#1 |
----------------
|
Интересная задачка по getFirst - getNext
Задача - просуммировать физ. наличие по выделенным строкам в форме "В наличии" (InventOnHandItem).
Если считать по BP, то результат будет неправильный (значение из текущей записи) PHP код:
|
|
![]() |
#2 |
Модератор
|
Приветствую, Wamr!
Предложения вот такие: PHP код:
C Уважением, Георгий. |
|
![]() |
#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 |
|
![]() |
#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 |
|
![]() |
#5 |
----------------
|
Я знал, что вам понравится
![]() Максим, как всегда, прав. Георгий, наверное имел ввиду, сделать inventSumLocal.ItemId ? но это повличет интересный эффект - если маркировать строчки снизу вверх, то все посчитается правильно, а сверху вниз нет ![]() |
|
![]() |
#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 |
|
![]() |
#7 |
Модератор
|
Цитата:
Изначально опубликовано Wamr
Георгий, наверное имел ввиду, сделать inventSumLocal.ItemId? ![]() Но эффект все равно забавный ![]() ![]() С Уважением, Георгий. |
|
![]() |
#8 |
----------------
|
Максим, аха.. отключить-то можно, и даже из грида пропадет... но в запросе-то останется (только что проверил)
![]() |
|
![]() |
#9 |
Участник
|
Предложу более универсальное решение, которое будет работать независимо от того, какие поля заполнены в InventSum
PHP код:
|
|
![]() |
#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 |
|
![]() |
#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 |
|
![]() |
#12 |
----------------
|
Интересный, только имеет тотже трабл, что и вариант Георгия.
Почему-то все забывают про тройной оператор "? : ", в котором делается сравнение с курсором RecId =0. В результате вместо первой записи из выделенных всегда берется текущая запись. PHP код:
|
|
![]() |
#13 |
Administrator
|
![]()
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|