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