Search
Close this search box.

Додавання префікса Usr до існуючих полів користувачів в Acumatica ERP

Ми розпочинаємо нову серію для ERP Acumatica розробників. Ця стаття є ідеальною відправною точкою для початківців, яка розкриває основи налаштування Acumatica.   

Створення користувацьких полів

Відмінною особливістю є те, що Acumatica ERP це можливість створювати персоналізовані поля, що розширюють стандартні таблиці бази даних системи. Тут ми проведемо вас через безперешкодний процес написання скриптів в інтерфейсі налаштувань для створення та інтеграції цих спеціальних полів.

Скрипти баз даних Додати Користувацький стовпець до таблиці

 

Коли ви наважуєтеся додавати кастомні поля, важлива інтеграція PXCacheExtension у клас вихідного ЦАП вступає у гру, дозволяючи полям професійно взаємодіяти. Досягнення цього створює основу для розробників, щоб повністю використовувати персоналізовані поля, сприяючи можливості для цього:

  1. Зберігайте нові життєво важливі дані в базі даних
  2. Виставити інформацію про базу даних на інтерфейс користувача
  3. Використовуйте дані полів для API-запитів або реєструйте дані відповідей від конкретних API-запитів
  4. Розробляйте універсальну бізнес-логіку для індивідуальних завдань

 

інформатика

Дотримання угод про імена є життєво важливим. Усі кастомні поля повинні починатися з префікса "Usr" як у базі даних, так і в абстрактному класі, що відповідає вимогам сертифікації програмного забезпечення ISV. Ця практика не тільки підтримує узгодженість системи, але й захищає функціональність вашого програмного рішення та дані під час оновлення системи. Дізнайтеся більше про це в статті "Посібник із сертифікації програмного забезпечення Acumatica ISV“.

Виконання вимог

Хочемо застерегти: недотримання певних рекомендацій може призвести до значних проблем під час оновлення системи, зокрема до видалення полів користувачів. Це не тільки порушує функціональність вашого програмного рішення, але й призводить до втрати даних у певних полях. Як приклад, розглянемо цей фрагмент коду:

public abstract class usrFieldName: BqlType .Field {}.

На перший погляд, все може здатися простим. Однак складнощі виникають, коли в існуючих проектах поля користувачів не мають обов'язкового префікса "Usr". Це може бути пов'язано з низкою причин, включаючи недостатню увагу до вимог під час розробки або включення специфічного функціоналу на етапі розширення.

Виправлення цієї, здавалося б, простої помилки є досить складним, насамперед тому, що дані, пов'язані з цими полями, вже містяться в існуючій базі даних без префікса "Usr". Але не хвилюйтеся, оскільки ми тут, щоб допомогти вам успішно вирішити цю проблему. Дотримуючись наведених нижче кроків, ваш код і налаштування будуть ідеально узгоджені з вимогами до створення і використання спеціальних полів. Ось план дій:

 

  1. Налаштування бази даних: Почніть зі створення нових полів у базі даних, ідентичних існуючим, але з префіксом 'Usr'.
  2. Міграція даних: Забезпечте безперешкодне перенесення даних зі старих полів до новостворених. Згодом видаліть старі поля, щоб впорядкувати базу даних.
  3. Конфігурація поля класу: Налаштуйте поля класу у PXCacheExtension для належної синхронізації з початковим класом ЦАП.
  4. Оновлення сторінки сайту: Нарешті, видаліть зі сторінок сайту поля, які не мають необхідного префікса, і замініть їх новоствореними еквівалентами, цього разу з префіксом "Usr".

Давайте детально розглянемо кожен крок, надаючи вам дорожню карту для плавного переходу до більш ефективної та спрощеної системи 

Зараз я хочу поділитися з вами одним із способів, як успішно виправити цей недолік. Дотримуючись описаних нижче кроків, сам код і налаштування будуть повністю відповідати вимогам щодо створення та використання спеціальних полів. Для початку ми визначимо і сформуємо план робіт і змін, які повинні будуть відбутися:

На зображеннях нижче ви можете знайти більш детальний опис цих кроків.

Крок 1: Погляд на вікно налаштувань

Почніть з переходу до вікна налаштувань, щоб створити поля, еквівалентні існуючим. 

Створення еквівалентних полів

Використовуйте інтерфейс налаштувань, щоб легко створювати власні поля, як показано нижче:

перейти до налаштувань на екрані Проекти кастомізації (SM204505)потім перейдіть до пункту меню Скрипти баз даних Додати Користувацький стовпець до таблиці. У діалоговому вікні вставте всі необхідні параметри, еквівалентні полям без префікса.

Вставка параметрів полів

Крок 2: Обробка перенесення даних і старих полів

Тепер давайте трохи забруднимо руки в написанні SQL-скриптів. Щоб полегшити плавний перехід, вам потрібно написати SQL-скрипти для перенесення даних зі старих полів до нових, з подальшим видаленням старих полів.

Видалення старих полів

Додавання нового SQL-скрипта:

Новий SQL

Ось гнучкий шаблон SQL-скрипта, який можна адаптувати для різних змін полів:

 

IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'назва_таблиці_в_БД' AND COLUMN_NAME = 'UsrFieldName')
ПОЧАТОК
ALTER TABLE назва_таблиці_в_БД ADD UsrFieldName біт NULL;
КІНЕЦЬ;
IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'назва_таблиці_в_БД' AND COLUMN_NAME = 'UsrFieldName')
ПОЧАТОК
IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'назва_таблиці_в_БД' AND COLUMN_NAME = 'назва_поля')
ПОЧАТОК
exec('UPDATE table_name_in_DB SET UsrFieldName = FieldName');
IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'назва_таблиці_в_БД' AND COLUMN_NAME = 'UsrFieldName')
ПОЧАТОК
ALTER TABLE назва_таблиці_в_БД ДОПУСТИТИ стовпець Назва поля;
КІНЕЦЬ;
КІНЕЦЬ;
КІНЕЦЬ;
ВПЕРЕД!

Цей скрипт виконує ряд перевірок і операцій, щоб переконатися, що дані передаються коректно, без дублювання, з подальшим видаленням старих полів.

SQL-скрипт

Крок 3: Правильне налаштування класів полів у ЦАП

Далі давайте зосередимося на правильному налаштуванні класів полів у ЦАП. Для тих, хто використовує кодовий підхід, вирівняйте клас поля в PXCacheExtension з початковим класом DAC. Ось фрагмент, щоб допомогти вам:

загальнодоступний абстрактний клас usrTrackHours: BqlType .Field {};

Не забувайте ретельно перевіряти свій код, щоб виявити та оновити всі випадки використання конкретного поля.

Якщо ви віддаєте перевагу налаштуванню інтерфейсу проекту, перейдіть до розділу Проекти кастомізації (SM204505), виберіть пункт ДОСТУП ДО ДАНИХ > Додати новий Запис і введіть необхідні параметри для нового поля - не забудьте про префікс 'Usr' (  UsrFieldNameнаприклад)

На зображенні нижче показано, як додати новий запис для доступу до даних і налаштування параметрів:

Новий запис для доступу до даних

А також встановлення необхідних параметрів для налаштувань полів користувацького інтерфейсу проекту:

Параметри інтерфейсу користувача

Далі ми розглянемо видалення полів без потрібного префікса і зміну їх на поля з префіксом Usr префікс.

Редагування XML-проекту в налаштуваннях проекту:

Редагування XML-проекту

Далі ми розглянемо збереження XML-проекту в налаштуваннях проекту. Для цього буде зручно відкрити Проекти кастомізації (SM204505) а потім перейдіть до пункту меню Файл Редагування XML проекту і замініть необхідні поля у вікні на XML-код.

Для цього потрібно змінюватися: в

Зберегти в базі даних

Крок 4: Оновлення сторінок сайту

Нарешті, прийшов час почистити сторінки вашого сайту. Видаліть поля без префікса "Usr" і замініть їх новими еквівалентами.

Після того, як ви зробили всі необхідні налаштування, збережіть зміни в базі даних. Не забудьте опублікувати проект кастомізації, щоб застосувати всі внесені зміни.

Після завершення цих коригувань переконайтеся, що ви зберегли свій прогрес у базі даних. Перш ніж завершити роботу, опублікуйте свій проект кастомізації, щоб ввести в дію всі зміни, які ви організували, і розпочати нову еру впорядкованих і стандартизованих операцій у вашій ERP-системі Acumatica.

Не забувайте завжди мати резервну копію бази даних, щоб запобігти втраті даних під час переходу.

І останнє, але не менш важливе!

Дякуємо, що слідкуєте за нами, і бажаємо вам більш ефективної та оптимізованої ERP-системи Acumatica! 

Для вашої зручності ми візуально задокументували весь процес, проводячи вас крок за кроком від початку створення поля до остаточної публікації вашого кастомізованого проекту. Подорож до освоєння кастомізації Acumatica починається з міцного фундаменту.

 Залишайтеся з нами, щоб отримати більше інформації та покрокових інструкцій у нашій серії статей. Наша мета - зробити вашу подорож по налаштуванню Acumatica якомога простішою.

Щасливого кодування!

Потрібна допомога експерта? Виберіть послуги з налаштування Sprinterra!

Перші кроки з налаштування вашої ERP-системи Acumatica можуть бути складним процесом, але вам не доведеться робити це самотужки!

Послуги з налаштування від Sprinterra тут для того, щоб забезпечити плавний перехід, гарантуючи, що кожна деталь ідеально відповідає вашим бізнес-цілям.

Якщо ви хочете оптимізувати існуючі функції або розробити нові, революційні функції, наші досвідчені експерти готові допомогти вам на кожному кроці. Зі Sprinterra на вашому боці, ви не просто відповідаєте вимогам, ви перевершуєте очікування.

🔹 Розпочніть безпроблемну подорож по налаштуванню зі Sprinterra вже сьогодні!

Давайте дізнаємося, як ми можемо зробити ваш проект з кастомізації Acumatica приголомшливим успіхом - динамічною, гнучкою та надійною ERP-системою, адаптованою до ваших унікальних бізнес-потреб.

Зв'яжіться зі Sprinterra

Підпишіться на нашу розсилку

Отримуйте найновішу інформацію про експоненціальні технології прямо на вашу скриньку

ukUkrainian