![]() |
#1 |
Участник
|
Закупка. Количество введенное в таблицу PurchLine не отображается в накладной
Формирую закупку. При создании строк закупки КОЛИЧЕСТВО ввожу либо вручную, либо вызываю свой модуль, результатом которого является КОЛИЧЕСТВО, которое должно попасть в PurchLine.PurchQty. При ручном вводе введенное КОЛИЧЕСТВО корректно отображается и в стоках закупки и в форме "Разноска накладной" на закладке "Строки" (Обработка->Накладная). А при программном вводе КОЛИЧЕСТВО корректно отображается только в строках закупки, а в форме "Pазноска накладной", на закладке "Строки" - остается старое значение (если был ручной ввод) либо значение по умолчанию...
Вот код: PHP код:
|
|
![]() |
#2 |
Moderator
|
Вообще-то есть еще такие поля, как QtyOrdered, RemainPurchPhysical, RemainInventPhysical.
А смотреть надо метод modified() на field = PurchQty, датасоурса PurchLine формы PurchTable. Есть там такая строчка: PHP код:
|
|
![]() |
#3 |
Участник
|
Огромное спасибо! =)
|
|
![]() |
#4 |
Участник
|
А могу ли после программного обновления КОЛИЧЕСТВА вызвать метод modified поля PurchLine.PurchQty ? И если да, то каким образом?
|
|
![]() |
#5 |
Участник
|
где-то вот так :
purchLine_ds.object(fieldNum(PurchLine, PurchQty )).modified() |
|
![]() |
#6 |
Участник
|
А как передать ссылку на этот датасоурс другому классу?
В моем случае необходимо вызвать метод modified не из формы PurchTable, а из другого класса ..... , соответственно этот класс должен иметь ссылку на источник данных purchLine_ds формы PurchTable |
|
![]() |
#7 |
Участник
|
прочитал внимательно всю ветку....
а зачем собствено вызывать метод датасорса то? Андре уже указал код который стоит вызвать, а больше в том методе то ничего нужного и нету... |
|
![]() |
#8 |
Участник
|
Понял. Всем спасибо за ответы.
|
|
![]() |
#9 |
Участник
|
Цитата:
void modified() {
super(); Purchline::ModifyPurchQty(purchLine,inventDim); element.checkCreditNoteLine(); purchLine_ds.reFresh(); } необходимо вызвать в ДРУГОМ КЛАССЕ, а не в форме PurchTable ...... |
|
![]() |
#10 |
Участник
|
Цитата:
Изначально опубликовано ATimTim
Возник вопрос: purchLine и inventDim датасоурсы? |
|
![]() |
#11 |
Участник
|
PHP код:
P.S. Работает то, что закомментировано.... |
|
![]() |
#12 |
Moderator
|
Так надо смотреть что возвращает Ваш _w2LController и что вообще в нем происходит.
|
|
![]() |
#13 |
Участник
|
может разумнее было бы запускать обработку на той таблице, которая была модифицирована? :
PHP] .... line.PurchQty = weight; Purchline::ModifyPurchQty( line, line.inventDim()); line.update(); .... [/PHP] |
|
![]() |
#14 |
Участник
|
конструктор контроллера ....
PHP код:
PHP код:
|
|
![]() |
#15 |
Участник
|
Поля
Purchline.QtyOrdered, Purchline.RemainPurchPhysical , Purchline.RemainInventPhysical , возможно модифицируются при вызове метода purchLine_DS\write() а именно PHP код:
PS. почему бы не воспользоваться в явном виде методами формы, а не выдирать отдельные куски кода? Это позволило бы избежать подобных проблем. Тем более, что ссылка на FormRun и так уже имеется. |
|
![]() |
#16 |
Moderator
|
Цитата:
может разумнее было бы запускать обработку на той таблице, которая была модифицирована?
Смотри: PHP код:
Чтобы было понятнее твой код можно переписать так: PHP код:
![]() |
|