Ми розпочинаємо нову серію для ERP Acumatica розробників. Ця стаття є ідеальною відправною точкою для початківців, яка розкриває основи налаштування Acumatica.
Відмінною особливістю є те, що Acumatica ERP це можливість створювати персоналізовані поля, що розширюють стандартні таблиці бази даних системи. Тут ми проведемо вас через безперешкодний процес написання скриптів в інтерфейсі налаштувань для створення та інтеграції цих спеціальних полів.
Скрипти баз даних Додати Користувацький стовпець до таблиці
Коли ви наважуєтеся додавати кастомні поля, важлива інтеграція PXCacheExtension у клас вихідного ЦАП вступає у гру, дозволяючи полям професійно взаємодіяти. Досягнення цього створює основу для розробників, щоб повністю використовувати персоналізовані поля, сприяючи можливості для цього:
Дотримання угод про імена є життєво важливим. Усі кастомні поля повинні починатися з префікса "Usr" як у базі даних, так і в абстрактному класі, що відповідає вимогам сертифікації програмного забезпечення ISV. Ця практика не тільки підтримує узгодженість системи, але й захищає функціональність вашого програмного рішення та дані під час оновлення системи. Дізнайтеся більше про це в статті "Посібник із сертифікації програмного забезпечення Acumatica ISV“.
Хочемо застерегти: недотримання певних рекомендацій може призвести до значних проблем під час оновлення системи, зокрема до видалення полів користувачів. Це не тільки порушує функціональність вашого програмного рішення, але й призводить до втрати даних у певних полях. Як приклад, розглянемо цей фрагмент коду:
public abstract class usrFieldName: BqlType .Field {}.
На перший погляд, все може здатися простим. Однак складнощі виникають, коли в існуючих проектах поля користувачів не мають обов'язкового префікса "Usr". Це може бути пов'язано з низкою причин, включаючи недостатню увагу до вимог під час розробки або включення специфічного функціоналу на етапі розширення.
Виправлення цієї, здавалося б, простої помилки є досить складним, насамперед тому, що дані, пов'язані з цими полями, вже містяться в існуючій базі даних без префікса "Usr". Але не хвилюйтеся, оскільки ми тут, щоб допомогти вам успішно вирішити цю проблему. Дотримуючись наведених нижче кроків, ваш код і налаштування будуть ідеально узгоджені з вимогами до створення і використання спеціальних полів. Ось план дій:
Давайте детально розглянемо кожен крок, надаючи вам дорожню карту для плавного переходу до більш ефективної та спрощеної системи
Зараз я хочу поділитися з вами одним із способів, як успішно виправити цей недолік. Дотримуючись описаних нижче кроків, сам код і налаштування будуть повністю відповідати вимогам щодо створення та використання спеціальних полів. Для початку ми визначимо і сформуємо план робіт і змін, які повинні будуть відбутися:
На зображеннях нижче ви можете знайти більш детальний опис цих кроків.
Почніть з переходу до вікна налаштувань, щоб створити поля, еквівалентні існуючим.
Використовуйте інтерфейс налаштувань, щоб легко створювати власні поля, як показано нижче:
перейти до налаштувань на екрані Проекти кастомізації (SM204505)потім перейдіть до пункту меню Скрипти баз даних Додати Користувацький стовпець до таблиці. У діалоговому вікні вставте всі необхідні параметри, еквівалентні полям без префікса.
Тепер давайте трохи забруднимо руки в написанні 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 назва_таблиці_в_БД ДОПУСТИТИ стовпець Назва поля;
КІНЕЦЬ;
КІНЕЦЬ;
КІНЕЦЬ;
ВПЕРЕД!
Цей скрипт виконує ряд перевірок і операцій, щоб переконатися, що дані передаються коректно, без дублювання, з подальшим видаленням старих полів.
Далі давайте зосередимося на правильному налаштуванні класів полів у ЦАП. Для тих, хто використовує кодовий підхід, вирівняйте клас поля в PXCacheExtension з початковим класом DAC. Ось фрагмент, щоб допомогти вам:
Не забувайте ретельно перевіряти свій код, щоб виявити та оновити всі випадки використання конкретного поля.
Якщо ви віддаєте перевагу налаштуванню інтерфейсу проекту, перейдіть до розділу Проекти кастомізації (SM204505), виберіть пункт ДОСТУП ДО ДАНИХ > Додати новий Запис і введіть необхідні параметри для нового поля - не забудьте про префікс 'Usr' ( UsrFieldNameнаприклад)
На зображенні нижче показано, як додати новий запис для доступу до даних і налаштування параметрів:
А також встановлення необхідних параметрів для налаштувань полів користувацького інтерфейсу проекту:
Далі ми розглянемо видалення полів без потрібного префікса і зміну їх на поля з префіксом Usr префікс.
Редагування XML-проекту в налаштуваннях проекту:
Далі ми розглянемо збереження XML-проекту в налаштуваннях проекту. Для цього буде зручно відкрити Проекти кастомізації (SM204505) а потім перейдіть до пункту меню Файл Редагування XML проекту і замініть необхідні поля у вікні на XML-код.
Для цього потрібно змінюватися: в
Нарешті, прийшов час почистити сторінки вашого сайту. Видаліть поля без префікса "Usr" і замініть їх новими еквівалентами.
Після того, як ви зробили всі необхідні налаштування, збережіть зміни в базі даних. Не забудьте опублікувати проект кастомізації, щоб застосувати всі внесені зміни.
Після завершення цих коригувань переконайтеся, що ви зберегли свій прогрес у базі даних. Перш ніж завершити роботу, опублікуйте свій проект кастомізації, щоб ввести в дію всі зміни, які ви організували, і розпочати нову еру впорядкованих і стандартизованих операцій у вашій ERP-системі Acumatica.
Не забувайте завжди мати резервну копію бази даних, щоб запобігти втраті даних під час переходу.
Дякуємо, що слідкуєте за нами, і бажаємо вам більш ефективної та оптимізованої ERP-системи Acumatica!
Для вашої зручності ми візуально задокументували весь процес, проводячи вас крок за кроком від початку створення поля до остаточної публікації вашого кастомізованого проекту. Подорож до освоєння кастомізації Acumatica починається з міцного фундаменту.
Залишайтеся з нами, щоб отримати більше інформації та покрокових інструкцій у нашій серії статей. Наша мета - зробити вашу подорож по налаштуванню Acumatica якомога простішою.
Щасливого кодування!
Перші кроки з налаштування вашої ERP-системи Acumatica можуть бути складним процесом, але вам не доведеться робити це самотужки!
Послуги з налаштування від Sprinterra тут для того, щоб забезпечити плавний перехід, гарантуючи, що кожна деталь ідеально відповідає вашим бізнес-цілям.
Якщо ви хочете оптимізувати існуючі функції або розробити нові, революційні функції, наші досвідчені експерти готові допомогти вам на кожному кроці. Зі Sprinterra на вашому боці, ви не просто відповідаєте вимогам, ви перевершуєте очікування.
🔹 Розпочніть безпроблемну подорож по налаштуванню зі Sprinterra вже сьогодні!
Давайте дізнаємося, як ми можемо зробити ваш проект з кастомізації Acumatica приголомшливим успіхом - динамічною, гнучкою та надійною ERP-системою, адаптованою до ваших унікальних бізнес-потреб.
Отримуйте найновішу інформацію про експоненціальні технології прямо на вашу скриньку
© 2024 Sprinterra. Всі права захищені.