14.10.2004, 16:22 | #1 |
drc
|
Как заполняется Control (остаток на начало дня)?
День добрый!
Необходимо узнать каким образом заполняется Control -- остаток на начало дня! Денежные средства / Журналы банковских выписок / Строки / Остаток на начало дня DataSource указан, однако поля нет, нет и метода для заполнения, нет и упоминания имени поля в коде формы! Это глюк? Или я чего не догоняю? |
|
14.10.2004, 16:56 | #2 |
Модератор
|
Что-то не вижу у себя такого
Уточните весь путь по пунктам. И еще - чудес не бывает. Где-то он заполняется. С Уважением, Георгий |
|
14.10.2004, 17:07 | #3 |
drc
|
Извиняюсь пропустил Журналы:
Денежные средства / Журанлы /Журналы банковских выписок / Строки / Остаток на начало дня Строки -- это кнопка Остаток на начало дня -- это контрол наверху!! |
|
14.10.2004, 17:35 | #4 |
Модератор
|
Ничем не могу помочь, Александр - у мнея такого журнала нет
Только журнал ордеров. Хотя, вроде, все основные модули куплены. Axapta 3.0 Sp0, Sp1, Sp3. А он у Вас часом не самописный? |
|
14.10.2004, 17:39 | #5 |
drc
|
Axapta Retail!
И на том спасибо! |
|
14.10.2004, 17:45 | #6 |
Модератор
|
А выложите в виде проектика?
Очень интерестно глянуть на чудо-контрол. Возможно, он заполняется классом. Посмотрите, не ли где в ClassDeclaration переменной - класса? С Уважением, Георгий |
|
14.10.2004, 17:52 | #7 |
NavAx
|
Цитата:
Изначально опубликовано Александр Костоусов
Axapta Retail! у меня тоже аксапта ретейл от коруса. с утра приду - гляну что там за чудо контрол P.S. и лучше всего в аську... номер 7968885
__________________
И все они создания природы... |
|
14.10.2004, 18:12 | #8 |
drc
|
Разобрался!
У поля был DataSourcе,не было DataField, не было DataMethod. Однако AutoDeclaration - Yes, и в результате оказалось что Control заполняется одноименным дисплейным методом! Думаю, ситуация стандартная, а для меня маленькое открытие! Спасибо Георгий! Lazy_Tiger -- привет Красноярску! |
|
14.10.2004, 18:22 | #9 |
Модератор
|
Не за что!
Сам писал такое, грешен... Однако, по прошествии времени, считаю, что это - не очень хорошо, если не совсем плохо В моем случае это было оправдано тем, что 5 контролов пересчитывались на основании одного тяжелого запроса. Поэтому так и сделал. Хотя, я думаю, можно было бы и по-другому. С Уважением, Георгий. |
|
14.10.2004, 18:24 | #10 |
NavAx
|
кстати... промазал однако... дисплей метод был бы тогда прописан в св-вах контрола.
правильный ответ смотрим и находим в методе init() формы. ... IB.realValue(IncomingBalance); ... P.S. u are welcome
__________________
И все они создания природы... |
|
14.10.2004, 18:28 | #11 |
drc
|
Хотелось еще ва слова сказать про этот метод
PHP код:
Интересная конструкция с DateFrom! Хочу сказать что часть кода нефункциональна. |
|
14.10.2004, 18:31 | #12 |
NavAx
|
нууу... как бы сказать... все это остатки былых мыслей я думаю.
не подчищенные за ненадобностью, все равно не работает этот код а вообще там в комментариях есть автор, можно спросит его
__________________
И все они создания природы... |
|
15.10.2004, 10:53 | #13 |
drc
|
В продолжении..
Остаток на конец дня (тоже контрол) вычисляется по следующей формуле PHP код:
Единственное действие с incomingBalance такое: PHP код:
Заранее благодарен! |
|
15.10.2004, 11:05 | #14 |
Модератор
|
control'y IB (IncomingBalnce) присваивается значение переменной IncomingBalance.
|
|
15.10.2004, 11:13 | #15 |
drc
|
А если переменная IncomingBalnce до этого (и вообще никак) не инициализировалась -- это говорит о том, что передо мной бага -- контролу присваивается неинициализированная переменная!
|
|
15.10.2004, 11:24 | #16 |
Модератор
|
КАК не инициализировалась??
Это Вам не С! Как только переменная объявлена, ей присваивается значение "" или 0. или 0,0 К тому же, Вы сами говорили, что incomingBalance = incomingBalance + receivedPayments - sentPayments. Или я что-то не допонял? С Уважением, Георгий. |
|
15.10.2004, 11:34 | #17 |
drc
|
Это остаток на конец дня вычисляется по этой формуле,
в которую входит incomingBalance! А вот incomingBalance просто объявлена и PHP код:
Для себя мне нао решить -- это глюк или все так и задумывалось! |
|
15.10.2004, 11:48 | #18 |
Модератор
|
Этот глюк так и задумывался.
Александр! У меня, к сожелению, не AX Retail, а я, к сожелению, не яновидящий 1)Где объявлена переменная IncomingBalance? 2)Посмотрите по коду, где она еще исспользуется. Нормальная ситуация: PHP код:
|
|
15.10.2004, 12:48 | #19 |
Участник
|
Цитата:
Изначально опубликовано George Nordic
IB.realValue(IncomingBalance); //плохо, конечно. Но вполне реально. В этом методе заполняются еще и другие контролы. |
|
15.10.2004, 13:00 | #20 |
Модератор
|
В идеологии
Так, конечно, можно, только делает это обычно класс. Дело в том, что диспей метод ОЧЕНЬ часто вызывается для перерисовывания. Попробуйте поставить брэкпоинт и оддебажить этот код - Вас ждут сюрпризы Таким образом, надо: 1) Или хранить все в пременных, а display - методами их отображать. 2) Или по изменению данных вызывать метод класса, который установит контролы. Часто применяется, когда надо изменить доступность кнопок. 3) Надо стараться как можно больше кода, осбенно рессурсоемкого, выносить на таблицы. К display - методам это тоже относиться. И кэшировать их не помешает.... С Уважением, Георгий. |
|