03.11.2005, 09:44 | #1 |
Участник
|
Методы create(), write()
Аксапта 3.0
Создаем новую запись в форме. Не сохраняя ее, если стрелкой вниз - отрабатывает сохранение предыдущей записи если CTRL-N - не отрабатывается сохранение. Как можно сделать так, чтобы предыдущая запись всегда сохранялась при создании новой ? |
|
03.11.2005, 10:04 | #2 |
Модератор
|
Хм. Возможно, до super() в create датасорса стоит написать myTable_ds.write()
Осторожно, возможна ошибка "запись была уже создана" С Уважением, Георгий |
|
03.11.2005, 10:15 | #3 |
Участник
|
Если сделать так, то если записей совсем нет в форме, а хотим создать новую.
Срабатывает write() на пустую запись со всеми вытекающими последствиями. То ли считать - есть уже хоть одна запись? |
|
03.11.2005, 10:29 | #4 |
Moderator
|
Какие свойства у datasource меняли? Какие методы у него перекрыты?
__________________
Андрей. |
|
03.11.2005, 11:14 | #5 |
NavAx
|
В create напишите ds.forseWrite(true).
__________________
С уважением, Игорь Ласийчук. |
|
03.11.2005, 11:20 | #6 |
Moderator
|
To George Nordic & Garic:
Ребята, вы помогаете бороться со следствием, а не с причиной. Неплохо бы автору разобраться, в чем причина такого несистемного поведения формы.
__________________
Андрей. |
|
03.11.2005, 12:17 | #7 |
Участник
|
forma - LedgerJournalTransDaily
стандарная. Попробуйте создавать записи по моему алгоритму. Если стрелочка вниз - сначала работает write() для старой , потом Create() для новой. А если CTRL-N - сначала - create() для новой , потом write() для предыдущей |
|
03.11.2005, 12:55 | #8 |
Moderator
|
АХАРТА 3.0SP3CU1
Последовательность методов такая же, как и у вас. Результат в обоих случаях одинаков: есть что записывать - записывает, ничего не изменилось - не записывает.
__________________
Андрей. |
|
03.11.2005, 13:57 | #9 |
Участник
|
Ничего не понимаю.
Попробуйте, пожалуста. Ставим точку остановки - на методах create() и write() - LedgerJournalTrans_ds Создаем новый пакет журнала , заходим в строки. Тип счета и корр.счета счет , ставим сумму. запись не сохранена , справа горит * Нажимаем CTRL-N - смотрим, что заходит сначала метод create(), потом write() А если стрелка вниз сначала - write(), потом create()/ А цель моя - мне нужно определенное количество строк Н-р нужно 2 сохранилась певая, сохранилась вторая, а третью, чтобы не при каких обстоятельствах не делать. Если после создания строки нажать "сохранить" все нормально, а если она не сохраненная и CTRL-N - последнюю должен сохранить, а новую все - никак. |
|
03.11.2005, 14:22 | #10 |
Moderator
|
Тогда действительно должен помочь совет Георгия.
__________________
Андрей. |
|