Сумма по колонке после подсчета в EIP строки

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сумма по колонке после подсчета в EIP строки

Сообщение gopstop2007 »

При изменении количества в Edit in place пересчитывает строку и соответственно в сумму по всей колонке (столбцу)
Считал(ю) так, в изменяемом поле (BRW1.Q.Amount) после PARENT Call, пишу

Код: Выделить всё

UPDATE(SELF.Feq)
BRW1.Q.Sum = BRW1.Q.Price * BRW1.Q.Amount 
Да считает, но появилась жалоба, что не посчитало. Вопрос как вы ЭТО считаете? :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сумма по колонке после подсчета в EIP строки

Сообщение Yufil »

А Put(Brw1.Q) апосля присвоения не надо?
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Сумма по колонке после подсчета в EIP строки

Сообщение kreator »

Yufil писал(а): 18 Июнь 2017, 19:38 А Put(Brw1.Q) апосля присвоения не надо?
Не надо. Если расчёт суммы происходит в методе SetQueueRecord, то после окончании редактирования текущей записи всё должно быть хорошо, потому что после редактирования EIP вызывается SetQueueRecord. Если хочется видеть сумму при неоконченном редактировании, то так:

Код: Выделить всё

UPDATE(SELF.Feq)
if SELF:UseVar
  EditInPlace::CONP:Price.UseVar = SELF:UseVar / EditInPlace::CONP:Quantity.UseVar
end
В Вашем случае типа такого:

Код: Выделить всё

UPDATE(SELF.Feq)
EditInPlace::Sum = EditInPlace::Price * SELF:UseVar 
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сумма по колонке после подсчета в EIP строки

Сообщение gopstop2007 »

Спасибо kreator,
kreator писал(а): 18 Июнь 2017, 21:06 видеть сумму при неоконченном редактировании
а про это не знал, пригодится :)
Может я недостаточно ясно выразился, но мне надо, чтобы две суммы изменились.
При изменении строки 2 изменилась строка 4.

1. A_Price * A_Amount = A_Sum
2. B_Price * B_Amount = B_Sum
3. C_Price * C_Amount = C_Sum
----------------------------------
4. Всего: ABC_Sum

Сумма 4. кстати считается обычным browse Total
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7334
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сумма по колонке после подсчета в EIP строки

Сообщение Игорь Столяров »

Можно сделать немного по другому, но придется работать напрямую с очередью списка.

Код: Выделить всё

BRW5::EIPManager.TakeCompleted PROCEDURE(BYTE Force)
  CODE
  
  ! Start of "Browse EIP Manager Method Executable Code Section"
  ! [Priority 2500]
  Queue:Browse.MCO:Summa  = Round(Queue:Browse.MCO:Kolvo * Queue:Browse.MCO:Price, 0.01)  
  
  PARENT.TakeCompleted(Force)
Содержание списка и итоги сумм TOTAL должны обновляться после завершения ввода EIP ...
Ну как-то так, работает на выписке товаров уже лет 10 ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сумма по колонке после подсчета в EIP строки

Сообщение gopstop2007 »

kreator писал(а): 18 Июнь 2017, 21:06 EditInPlace::Sum = EditInPlace::Price * SELF:UseVar
Спасибо, моя ошибка, нужно было в редактируемом поле указывать SELF:UseVar
Игорь Столяров писал(а): 19 Июнь 2017, 6:56 Содержание списка и итоги сумм TOTAL должны обновляться после завершения ввода EIP ...
Ну как-то так, работает на выписке товаров уже лет 10 ... :)
Это я подстраховался :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Сумма по колонке после подсчета в EIP строки

Сообщение kreator »

gopstop2007 писал(а): 18 Июнь 2017, 21:49 Может я недостаточно ясно выразился, но мне надо, чтобы две суммы изменились.
При изменении строки 2 изменилась строка 4.

1. A_Price * A_Amount = A_Sum
2. B_Price * B_Amount = B_Sum
3. C_Price * C_Amount = C_Sum
----------------------------------
4. Всего: ABC_Sum

Сумма 4. кстати считается обычным browse Total
Я так понял, решил проблему?
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Сумма по колонке после подсчета в EIP строки

Сообщение gopstop2007 »

Надеюсь, что да, если не будет жалоб от клиентов :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить