21.05.2002, 17:21 | #1 |
Moderator
|
PurchEditLines
Есть форма PurchEditLines (Закупка\Обработка\Накладная), на закладке Настройка поле Дата накладной(PurchParmTable.TransDate).
Необходимо отображать это поле на закладке Обзор в Grid'е. Создаю в Grid StringEdit, устанавливаю значения DataSource и DataField - PurchParmTable.TransDate. Открываю форму. Если я изменяю дату на закладке Настройка, в таблице действительно сохраняется задаваемое значение. Если же я устанавливаю эту дату из созданного поля в таблице, то это поле просто очищается. Подскажите пожалуйста, в чем дело ? |
|
22.05.2002, 08:46 | #2 |
----------------
|
transDATE
1. Для редактирования дат обычно используется DateEdit, а не StringEdit. А чтобы меньше думать можно просто поле из DS перетаскивать мышью на грид.
2. PurchEditLines используется НЕ только при проведении накладной, поэтому надо 30 раз подумать прежде чем что-то в ней менять. |
|
22.05.2002, 13:13 | #3 |
Moderator
|
Добрый день.
Цитата:
Wamr
Для редактирования дат обычно используется DateEdit, а не StringEdit. А чтобы меньше думать можно просто поле из DS перетаскивать мышью на грид. Цитата:
PurchEditLines используется НЕ только при проведении накладной, поэтому надо 30 раз подумать прежде чем что-то в ней менять.
|
|
22.05.2002, 13:30 | #4 |
----------------
|
PurchEditLines
Эта формочка используется при любой обработке по закупке, т.е. при запуске любого потомка класса PurchFormLetter (например проведение счета). При этом формочка изменяется динамически - меняется состав полей и контролов, а также их названия.
Эти изменения связаны с классом PurchEditLinesForm и его потомками. Хотя у контролов AutoDeclaration установлено в false, многие из них (и TransDate в их числе) в методе run формы получают свою перменную типа FormControl, с помощью которой видоизменяются. Мне кажется, что не очень здорово при проведении счета увидеть поле с названием "Дата накладной", там где по идеи должна быть дата счета |
|
22.05.2002, 20:15 | #5 |
Участник
|
PurchEditLines
Согласен полностью, только с маленкой поправочкой ...
За лабел данного поля отвечает потомок класса PurchEditLinesForm и конкретно метод dateCaption(), в котором и указывается лабел для отображения в форме. В ClassDeclaration формы описывается FormDateControl transDate; в init'е формы инициализируется экземпляр класса purchEditLinesForm = PurchEditLinesForm::construct(documentStatus); и инициализируется контрол transDate = element.control(control::PurchParmTable_Date); в run'е для него берется лабел transDate.label (purchEditLinesForm.dateCaption());
__________________
Всем привет!!! |
|