AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2019, 09:46   #1  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
InventSumDeltaDim
Добрый день друзья. Кто знает какой смысл несет заполнение таблицы InventSumDeltaDim при разноски строк складских журналов.
Старый 09.04.2019, 12:57   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,422 / 927 (33) +++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Сохраненная статья из блога fed. Сам блог уже недоступен

PS: количество форматов для загрузки ограничено, поэтому конвертировал в TXT. Лень конверторы искать
Вложения
Тип файла: txt Dynamics AX 4 и IMTS Microsoft Dynamics.txt (40.5 Кб, 56 просмотров)
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: БАХ43 (2), YoungPadawan (1).
Старый 09.04.2019, 14:38   #3  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
Спасибо большое, стало все по прозрачней, еще бы кто теперь подсказал у кого какие поля добавлены в индекс в этой таблице.
Старый 09.04.2019, 14:47   #4  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
TTSDimIdx = TTSId + InventDimId
TTSItemCheckDimIdx - там куча полей, но у меня этот индекс отключен
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 10.04.2019, 07:12   #5  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
Спасибо за ответ , а у меня второй индекс с кучей полей включен. И вылетает ошибка при сторнировании журнала с переносом с одного объекта на другой в разрезе одной стройки. Поле обьет у меня находится в поле wMSPalletId но это поле в ключ не добавлено. В момент записи this.inventSumDeltaDimList().insertDatabase(); в базу, метод insertInventSum класса InventUpdateOnHand вылетает ошибка.
Старый 10.04.2019, 11:54   #6  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
Индекс здесь не причем - он только за скорость выборки записей отвечает. А что за ошибка?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 10.04.2019, 12:14   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
1,778 / 952 (35) +++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от БАХ43 Посмотреть сообщение
Индекс здесь не причем - он только за скорость выборки записей отвечает. А что за ошибка?
Не, индекс как раз причем - он уникальный. Более того, в таблицу данные вставляются не напрямую, а использую RecordSortedList, в котором тоже поле есть в качестве сортировочного (а значит и на уровне вставки в RecordSortedList уникальность поддерживается).
Вопрос больше в том, что:
Цитата:
wMSPalletId но это поле в ключ не добавлено
Это поле в стандарте в индексе есть.
Старый 10.04.2019, 12:46   #8  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
TTSItemCheckDimIdx - у меня не уникальный. Но WMSPalletId в нем есть.
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 10.04.2019, 12:51   #9  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
Не удается вставить несколько записей в Проверки запасов в наличии (InventSumDeltaDim). Код номенклатуры: , Резервирование.
Запись уже существует.
Старый 10.04.2019, 13:40   #10  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
А подскажите плиз тип поля wMSPalletId у вас в таблице InventSumDeltaDim у вас какой у меня (nvarchar 18 not null)
Старый 10.04.2019, 14:49   #11  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
Это где такой тип видите? А, ну да, в Визуал Студио так и показывает. В Аксапте - расширенный тип WMSPalletId.
А в InventSumDeltaDim записи есть какие-нибудь?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 10.04.2019, 15:22   #12  
danov.86 is offline
danov.86
Участник
 
14 / 11 (1) +
Регистрация: 16.08.2012
Нет она у меня временная. и пуста проверял как в АХ так и в студио. При разноски журнала переноса в классе InventUpdateOnhand.addOnHandCheck формируется inventSumDeltaDimList у меня в него попадают дебетовая и кредитовая сторона проводки. Но вот в чем проблема когда wmsPalletId и not null то выдает такую ошибку если за приделами ключа и в базе ему поставить свойство null то ошибки нет. И еще одна странная фигня в репозитарии АХ у меня в индексе TTSItemCheckDimIdx есть поле wMSPalletId при синхранизации таблицы с базой в визуал студио видно что поле wMSPalletId из ключа исключается хотя перед этим его засунул в ключ в базе а в репозитарии АХ поле остается.
Старый 10.04.2019, 15:48   #13  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
Компилировать, синхронизировать пробовали?
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 18.04.2019, 13:46   #14  
mdanko2000 is offline
mdanko2000
Участник
 
12 / 24 (1) +++
Регистрация: 21.04.2014
Цитата:
Сообщение от БАХ43 Посмотреть сообщение
Компилировать, синхронизировать пробовали?
Пробовали, не помогает.

Попробую объяснить проблему ещё раз.
В AOT для таблицы есть поле wMSPalletId, здесь же в индексе это поле добавлено.
Если смотреть в базу через студию, в базе данных это поле есть, хотя визуально оно отличается от остальных. Все поля в верхнем регистре, так их создает аксапта, а это поле написано как wMSPalletId и у него нет признака Not Null. Закрадывается мысль, что поле там возникло каким-то другим способом.

Открываем SQLDictionary и видим , что такого поля в словаре нет. Т.е. уже что-то не так. Добавляем поле в словарь в надежде, что поможет. Но при синхронизации аксапта говорит, что структура неверная и УДАЛЯЕТ это поле из словаря. В структуре таблицы AOT ничего не изменяется. Удалить/переименовать поле из таблицы через АОТ невозможно с нашего слоя cus.

Ну а остальные проблемы уже возникают по причине "виртуальности" это поля, при записи в таблицу в это поле ничего не записывается. И если аналитика отличается только по этому полю, то выдается ошибка что запись уже существует.

Основной вопрос как так случилось что поля нет в словаре и можно ли это победить, т.к. все ноги растут оттуда.
Или придется создать клон таблицы и переписать класс на него?
Старый 18.04.2019, 14:01   #15  
БАХ43 is offline
БАХ43
Участник
 
56 / 54 (2) ++++
Регистрация: 15.02.2013
Адрес: г.Москва, г. Зеленоград
А из Администрирования SQL переиндексировать? Больше вариантов нет, в смысле, что я не знаю.
Изображения
 
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Старый 18.04.2019, 14:23   #16  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,459 / 4661 (160) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mdanko2000 Посмотреть сообщение

Основной вопрос как так случилось что поля нет в словаре и можно ли это победить, т.к. все ноги растут оттуда.
Или придется создать клон таблицы и переписать класс на него?
Возможно - тупой вопрос, но включен ли у вас конфигурационный ключ, прикрепленный к этому самому полю ? И не прикрепили ли его на слое CUS не к стандартному ключу, а к чему-то что у вас не куплено ?
Старый 18.04.2019, 15:52   #17  
mdanko2000 is offline
mdanko2000
Участник
 
12 / 24 (1) +++
Регистрация: 21.04.2014
Цитата:
Сообщение от fed Посмотреть сообщение
Возможно - тупой вопрос, но включен ли у вас конфигурационный ключ, прикрепленный к этому самому полю ? И не прикрепили ли его на слое CUS не к стандартному ключу, а к чему-то что у вас не куплено ?
Хороший вопрос
Без понятия, объясните где это посмотреть
Старый 18.04.2019, 16:24   #18  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,459 / 4661 (160) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mdanko2000 Посмотреть сообщение
Хороший вопрос
Без понятия, объясните где это посмотреть
В properties поля wmsPalletId в таблице в AOD. В стандарте - свойство ConfigurationKey - пустое.
Кроме того - в extended data type WMSPalletId стоит configuration key WMSPallet.

Я подозреваю что вы как-то разрешили редактирование этого поля в интерфейсе (путем доработки), но конфигурационный ключ для паллет у вас выключен.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление новой складской аналитики, axapta 4. Hub DAX: Программирование 25 13.10.2015 12:30
Таблица InventSumDeltaDim и индекс EfimV DAX: Программирование 2 30.11.2010 22:19
Axapta 4.0 - InventSumDeltaDim и первичный ключ Sada DAX: Программирование 5 18.12.2007 13:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:04.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.