Обновление Acumatica не работает для настраиваемого поля - PullRequest
0 голосов
/ 20 сентября 2018

У меня две проблемы.

  1. Я создал следующее поле в SOLine SOLineExt

, но когда я пытаюсь сослаться на это расширениеиз SOOrderEntry.cs он не распознает его.

Я что-то упустил?

Чтобы заставить его работать, я скопировал этот класс в SOOrderEntry.cs и закомментировал в исходном классе.

Другая проблема, с которой я сталкиваюсь, касается обновления этого нового поля.он обновляется в кеше и отображается в сетке, но не обновляется в SOLIne DAC.Со временем я удалю это поле из сетки.Я показываю его только для того, чтобы посмотреть, обновлялось ли оно.

Я делаю в основном то же самое, что и "T300_AcumaticaCustomizationPlatform_2017R2", указанная на стр. 47 - 65.

a) Создано действиекнопка

б) Определен делегированный метод действия

в) Добавлен FieldUpdated Enevent Handler

Вот копия моих кодов:

createCustomerFixedPrice

SOLine_UsrFixedPrice_FieldUpdated

Сетка заказов на продажу с полем UsrFixedPriced Обновлено

SOLine с полем UsrFixedPriced НЕ обновлено

Мы будем благодарны за любую помощь, особенно во втором выпуске.

1 Ответ

0 голосов
/ 20 сентября 2018

Вы создали свое новое поле с помощью Acumatica Project Editor?

Примерно так: enter image description here

Когда вы создаете поле, связанное с базой данных (введите PXDBType вместоPXType) с помощью редактора проекта автоматически добавляет соответствующий сценарий БД для создания столбца базы данных: enter image description here

Из вашего вопроса не ясно, если вы создали ЦАП непосредственно в исходном кодефайл или с помощью Acumatica Project Editor.Поэтому я бы порекомендовал вам проверить, был ли создан скрипт базы данных, а если нет, то создать его вручную.Затем сохраните проект настройки, повторно опубликуйте его и, если возможно, проверьте с помощью утилиты базы данных, действительно ли поле существует в базе данных.

Также вы использовали пространство имен по умолчанию и имя расширения для своего расширения DAC:

PX.Objects.SO.SOLineExt

Поскольку это значение по умолчанию, оно может конфликтовать с другими настройками, которые также используют те же значения по умолчанию.Чтобы уменьшить вероятность конфликта, вы можете изменить пространство имен по умолчанию на свое:

MyNamespace.SOLineExt
...