07.09.2020, 15:05 | #1 |
Участник
|
Ax2009 Записи в таблице
В Форме показывает 0 записей, в АОТ через обозреватель таблиц тоже 0. В SQL находит 121 запись. DataAreaId наша. В чем фокус???
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
07.09.2020, 15:19 | #2 |
Участник
|
Включайте логирование запросов.
Включайте на форме в init() super(); this.query().literals(1); смотрите какие идут запросы. возможно RLS или еще какой скрытый фильтр. Проверяйте незакоммиченные транзакции. |
|
07.09.2020, 16:33 | #3 |
Участник
|
Причем здесь фильтр на форме, если я в обозревателе таблицы не вижу этих строк. И даже delete_from InventTable; их не удаляет. а в отчете по размеру компании выводит 121 запись и в SQL менеджере их видно. Как Проверить незакоммиченные транзакции???
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
07.09.2020, 17:13 | #4 |
Участник
|
Вот так их видит - while select forupdate crosscompany InventTable, но не удаляет. Ни Delete, ни doDelete не срабатывает.
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
07.09.2020, 17:28 | #5 |
Участник
|
Возможно, таблица включена в виртуальную компанию. А старые записи не переделали.
|
|
|
За это сообщение автора поблагодарили: Logger (1). |
08.09.2020, 09:29 | #6 |
Участник
|
1. Перезагрузите AOS. Возможно, Вы читаете данные из кеша, а не с диска
2. Включите профайлер SQL и посмотрите, какой именно запрос уходит на SQL при открытии таблицы в обозревателе 2.1. Настроенные RLS 2.2. Обращение к другому объекту (View) - стандартно такого нет, но сделать можно 2.3. Виртуализация таблицы (другое dataAreaId) 3. Проверьте посимвольно значение DataAreaId. Возможно, часть букв русские или наоборот, латинские. Т.е. скопируйте значение этого поля в джоб и сравните текстовые константы 4. Ранее таблица была виртуализирована, но затем ее развирутализировали. Или наоборот. Т.е. ожидаемое значение DataAreaId может быть отлично от текущего значения компании X++: InventTable inventTable; // Для виртуализированной таблицы ожидаемое значение dataAreaId может быть отлично от текущего info('InventTable.DataAreaId = ' + inventTable.dataAreaId); // Текущая компания info('curExt() = ' + curExt()); if (curExt() == 'dat') // Именно скопировать значение, а не записать! info('yes'); else info('no');
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|