10.07.2006, 17:57 | #1 |
Участник
|
Очень просто: создать новую запись в таблице
Оказывается я так много еще не знаю...
== Дано: Таблица в аксапте. Любая. Создаем новую запись - неважно как - через форму или обозревателем. В InitValue можно даже инициировать значения полей - неважно. Далее - в перещелкиваем мышей/руками курсор на следующую запись - и обратно. Закрываем - открываем заново - опля! записи нет. В результате - пользователи вбивая журнал - не жмут на принудительно сохранить (ну не приучены) - пытаются посмотреть данные по другим источникам - возвращаются - оппа! журнал исчез. Что-то торомжу - а как принудительно сохранить запись, чтобы при переходе на другую запись - Инсерт был завершен. У меня получается как то громоздко - через другую запись - Инсерт - обновление формы и т.д. Чую должен быть более короткий путь. Спасибо за внимание. |
|
10.07.2006, 18:19 | #2 |
Участник
|
У меня возникло только такое предложение навскидку - перекрой linkActive до супера сохраняй запись - правда если не все обязательные поля заполнены будет просто ругань а запись не сохранится - так что может лучше и пользователей научить..
void linkActive() { ; if(LedgerJournalTrans_ds.validateWrite()) LedgerJournalTrans_ds.write(); super(); } PS При переходе на следующую запись в ТОЙ же форме предыдущая 100% сохраняется, так что я подумал что тут именно вариант с dynalink Последний раз редактировалось MironovI; 10.07.2006 в 18:24. |
|
10.07.2006, 18:35 | #3 |
Участник
|
И что Все таблицы так погано себя ведут? Имею в виду несохранение записи при переходе на другую строку или одна такая особая завелась?
Дело в том, что запись таки должна сохраняться, тем более в браузере. |
|
10.07.2006, 18:37 | #4 |
Гость
|
Цитата:
Сообщение от Obapol
И что Все таблицы так погано себя ведут? Имею в виду несохранение записи при переходе на другую строку или одна такая особая завелась?
Дело в том, что запись таки должна сохраняться, тем более в браузере. Последний раз редактировалось lagr221374; 10.07.2006 в 18:39. |
|
10.07.2006, 18:44 | #5 |
Участник
|
Цитата:
пользователи вбивая журнал - не жмут на принудительно сохранить
Какой ужос! Кнопка Сохранить и Аксапта! Ну настолько, гм.... ненормально... |
|
10.07.2006, 18:55 | #6 |
Гость
|
Цитата:
Сообщение от Obapol
Бррр...
Какой ужос! Кнопка Сохранить и Аксапта! Ну настолько, гм.... ненормально... |
|
10.07.2006, 20:44 | #7 |
Участник
|
Если нет обязательных полей, то и пустая запись - тоже полноправная запись - у меня закрались подозрения уже на другую тему - поскольку в браузере трабатывают все стандартные методы - можно глянуть на перекрытый insert таблицы, а заодно повторить эксперимент на любой другой таблице - допустим вы видели как выглядит insert у InventDim? ооот..
|
|
10.07.2006, 23:01 | #8 |
Участник
|
Цитата:
Сообщение от Hobo
Далее - в перещелкиваем мышей/руками курсор на следующую запись...
Поищите диаграмы по ключевому слову sequence в руководстве разработчика. Скорее всего, вы перекрыли один из этих методов и забыли вызвать супер. Насчет "Таблица в аксапте. Любая" - это вы погорячились. |
|
11.07.2006, 10:18 | #9 |
Участник
|
Так ведут себя абсолютно все таблицы. И вновь созданные и даже такие монстры как SalesTable и пр...
Опробовано раз десять - результат один. Что-то мне не верится - что только у нас так. Эксперимент: 1.Открываем в обозревателе SalesTable 2. Создаем новую запись Ничего не меняем руками!!! InitValue - заполнит кое-какие значения, неважно 3. В Браузере перещелкиваемся на другую запись - и обратно. 4. Закрываем браузер. 5. Открываем - опля! записи нет! Если было изменение руками - то срабатывает метод "врите" - все изменения как положено сохранены. == Моя проблема - создает пользователь журнал (складской) - и заполняет строки. Потом, если переходит (теряет фокус) на другое место - и возвращается - строки журкнала есть - заголовка (шапки) - нет. Sp1 - частично 3-й. |
|
11.07.2006, 10:30 | #10 |
Участник
|
Добавьте вызов this.forceWrite(true) в методе create источника данных.
|
|
|
За это сообщение автора поблагодарили: kashperuk (2). |
11.07.2006, 11:07 | #11 |
Участник
|
Цитата:
Сообщение от olesh
Добавьте вызов this.forceWrite(true) в методе create источника данных.
|
|
11.07.2006, 11:22 | #12 |
Участник
|
Цитата:
Сообщение от olesh
Добавьте вызов this.forceWrite(true) в методе create источника данных.
И что это было?.. |
|
11.07.2006, 11:23 | #13 |
Участник
|
Цитата:
Сообщение от Hobo
5. Открываем - опля! записи нет!
Цитата:
Сообщение от Hobo
Sp1 - частично 3-й.
У меня SP5 Kernel Rollup 2. Накатывайте обновления на экзешник и избавитесь от кучи странностей. Это несложно и недолго (главное обновить экзешник у всех клиентов и на сервере). |
|
11.07.2006, 11:23 | #14 |
Участник
|
Цитата:
Сообщение от olesh
Добавьте вызов this.forceWrite(true) в методе create источника данных.
В принципе и так можно... |
|
11.07.2006, 11:41 | #15 |
Moderator
|
Подтверждаю проблему. 3.0 SP3CU1.
Вообще-то так всегда было. Система, видимо, считает, что пользовательских изменений записи нет (initValue не в счет - значения по умолчанию), и не сохраняет запись. В нескольких местах системы, где нужно сохранение даже "пустой" записи, используется forceWrite().
__________________
Андрей. |
|
|
За это сообщение автора поблагодарили: mazzy (9). |
11.07.2006, 11:44 | #16 |
злыдень
|
Цитата:
Сообщение от Dron AKA andy
Подтверждаю проблему. 3.0 SP3CU1.
Вообще-то так всегда было. Система, видимо, считает, что пользовательских изменений записи нет (initValue не в счет - значения по умолчанию), и не сохраняет запись. В нескольких местах системы, где нужно сохранение даже "пустой" записи, используется forceWrite(). Скорей проблема добавлена в СП5 КР2 Во всяком случае с этим поведением системы живем не первый год а что за автосохранялку они там намутили и какие будут проблемы - ещё вопрос.. Если конечно mazzy ничего не напутал..
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
11.07.2006, 11:47 | #17 |
Участник
|
Спасибо. Спробуем вариант с sp разными.
forceWrite() - впрочем проблему решил - там посмотрим. Последний раз редактировалось Hobo; 11.07.2006 в 11:54. |
|
11.07.2006, 11:57 | #18 |
Участник
|
Наврал
Ключевая фраза - "ничего не меняем руками!!!" Цитата:
Сообщение от Hobo
1.Открываем в обозревателе SalesTable
2. Создаем новую запись Ничего не меняем руками!!! Если заполнить хотя бы одно поле, то Аксапта попытается записать при переходе на другую запись. Если ничего руками не трогать, то Аксапта будет считать, что ничего не изменилось и записывать не будет. Ничего не понимаю. В чем прикол то? |
|
11.07.2006, 12:03 | #19 |
Участник
|
Цитата:
Сообщение от Dron AKA andy
Подтверждаю проблему. 3.0 SP3CU1.
Вообще-то так всегда было. Система, видимо, считает, что пользовательских изменений записи нет (initValue не в счет - значения по умолчанию), и не сохраняет запись. В нескольких местах системы, где нужно сохранение даже "пустой" записи, используется forceWrite(). |
|
11.07.2006, 12:24 | #20 |
Участник
|
Цитата:
Сообщение от mazzy
Ничего не понимаю. В чем прикол то? Например: Есть две таблицы на форме - Главная и Подчиненная. У подчиненного источника данных стоит свойство InsertIfEmpty = Yes. Пользователь просто перемещается по главному источнику данных. Если бы не эта заглушка - в Подчиненной таблице создались бы много "лишних" строк |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|