09.04.2019, 09:46 | #1 |
Участник
|
InventSumDeltaDim
Добрый день друзья. Кто знает какой смысл несет заполнение таблицы InventSumDeltaDim при разноски строк складских журналов.
|
|
09.04.2019, 12:57 | #2 |
Участник
|
Сохраненная статья из блога fed. Сам блог уже недоступен
PS: количество форматов для загрузки ограничено, поэтому конвертировал в TXT. Лень конверторы искать
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: БАХ43 (2), YoungPadawan (1). |
09.04.2019, 14:38 | #3 |
Участник
|
Спасибо большое, стало все по прозрачней, еще бы кто теперь подсказал у кого какие поля добавлены в индекс в этой таблице.
|
|
09.04.2019, 14:47 | #4 |
Участник
|
TTSDimIdx = TTSId + InventDimId
TTSItemCheckDimIdx - там куча полей, но у меня этот индекс отключен
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
10.04.2019, 07:12 | #5 |
Участник
|
Спасибо за ответ , а у меня второй индекс с кучей полей включен. И вылетает ошибка при сторнировании журнала с переносом с одного объекта на другой в разрезе одной стройки. Поле обьет у меня находится в поле wMSPalletId но это поле в ключ не добавлено. В момент записи this.inventSumDeltaDimList().insertDatabase(); в базу, метод insertInventSum класса InventUpdateOnHand вылетает ошибка.
|
|
10.04.2019, 11:54 | #6 |
Участник
|
Индекс здесь не причем - он только за скорость выборки записей отвечает. А что за ошибка?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
10.04.2019, 12:14 | #7 |
Участник
|
Цитата:
Вопрос больше в том, что: Цитата:
wMSPalletId но это поле в ключ не добавлено
|
|
10.04.2019, 12:46 | #8 |
Участник
|
TTSItemCheckDimIdx - у меня не уникальный. Но WMSPalletId в нем есть.
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
10.04.2019, 12:51 | #9 |
Участник
|
Не удается вставить несколько записей в Проверки запасов в наличии (InventSumDeltaDim). Код номенклатуры: , Резервирование.
Запись уже существует. |
|
10.04.2019, 13:40 | #10 |
Участник
|
А подскажите плиз тип поля wMSPalletId у вас в таблице InventSumDeltaDim у вас какой у меня (nvarchar 18 not null)
|
|
10.04.2019, 14:49 | #11 |
Участник
|
Это где такой тип видите? А, ну да, в Визуал Студио так и показывает. В Аксапте - расширенный тип WMSPalletId.
А в InventSumDeltaDim записи есть какие-нибудь?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
10.04.2019, 15:22 | #12 |
Участник
|
Нет она у меня временная. и пуста проверял как в АХ так и в студио. При разноски журнала переноса в классе InventUpdateOnhand.addOnHandCheck формируется inventSumDeltaDimList у меня в него попадают дебетовая и кредитовая сторона проводки. Но вот в чем проблема когда wmsPalletId и not null то выдает такую ошибку если за приделами ключа и в базе ему поставить свойство null то ошибки нет. И еще одна странная фигня в репозитарии АХ у меня в индексе TTSItemCheckDimIdx есть поле wMSPalletId при синхранизации таблицы с базой в визуал студио видно что поле wMSPalletId из ключа исключается хотя перед этим его засунул в ключ в базе а в репозитарии АХ поле остается.
|
|
10.04.2019, 15:48 | #13 |
Участник
|
Компилировать, синхронизировать пробовали?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
18.04.2019, 13:46 | #14 |
Участник
|
Пробовали, не помогает.
Попробую объяснить проблему ещё раз. В AOT для таблицы есть поле wMSPalletId, здесь же в индексе это поле добавлено. Если смотреть в базу через студию, в базе данных это поле есть, хотя визуально оно отличается от остальных. Все поля в верхнем регистре, так их создает аксапта, а это поле написано как wMSPalletId и у него нет признака Not Null. Закрадывается мысль, что поле там возникло каким-то другим способом. Открываем SQLDictionary и видим , что такого поля в словаре нет. Т.е. уже что-то не так. Добавляем поле в словарь в надежде, что поможет. Но при синхронизации аксапта говорит, что структура неверная и УДАЛЯЕТ это поле из словаря. В структуре таблицы AOT ничего не изменяется. Удалить/переименовать поле из таблицы через АОТ невозможно с нашего слоя cus. Ну а остальные проблемы уже возникают по причине "виртуальности" это поля, при записи в таблицу в это поле ничего не записывается. И если аналитика отличается только по этому полю, то выдается ошибка что запись уже существует. Основной вопрос как так случилось что поля нет в словаре и можно ли это победить, т.к. все ноги растут оттуда. Или придется создать клон таблицы и переписать класс на него? |
|
18.04.2019, 14:01 | #15 |
Участник
|
А из Администрирования SQL переиндексировать? Больше вариантов нет, в смысле, что я не знаю.
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! |
|
18.04.2019, 14:23 | #16 |
Moderator
|
Возможно - тупой вопрос, но включен ли у вас конфигурационный ключ, прикрепленный к этому самому полю ? И не прикрепили ли его на слое CUS не к стандартному ключу, а к чему-то что у вас не куплено ?
|
|
18.04.2019, 15:52 | #17 |
Участник
|
|
|
18.04.2019, 16:24 | #18 |
Moderator
|
В properties поля wmsPalletId в таблице в AOD. В стандарте - свойство ConfigurationKey - пустое.
Кроме того - в extended data type WMSPalletId стоит configuration key WMSPallet. Я подозреваю что вы как-то разрешили редактирование этого поля в интерфейсе (путем доработки), но конфигурационный ключ для паллет у вас выключен. |
|
19.04.2019, 06:59 | #19 |
Участник
|
Цитата:
Цитата:
Как понять включен этот ключ или нет? Где-то посмотреть, проверить, запустить джоб чтобы увидеть? Значит будем класс править, т.к. поле используется давно. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Добавление новой складской аналитики, axapta 4. | 25 | |||
Таблица InventSumDeltaDim и индекс | 2 | |||
Axapta 4.0 - InventSumDeltaDim и первичный ключ | 5 |
|