2015-11-17 3 views
0

Есть ли у кого-нибудь опыт удаления тестовых записей транзакций из Netsuite. В настоящее время я вижу, что каждый клиентский отчет и удаляет определенные заказы клиентов/CashSales/Journals, что является довольно болезненной задачей (с большим объемом данных). Есть ли другой способ, о котором я не знаю? Любая помощь будет оценена по достоинству.Удалить записи транзакций от Netsuite

EDIT: Описанный здесь сценарий предназначен для производственной среды. Там, где у нас есть несколько тестовых клиентов и записи транзакций, которые влияют на финансовые отчеты. Поэтому мы хотим избавиться от всех этих тестовых данных (что довольно велико).

Спасибо!

ответ

2

Вы можете удалить несколько записей одновременно, используя встроенное редактирование, смотрите документацию (обязательно NetSuite Войти) here:

Чтобы удалить поле данных путем редактирования инлайн:

Включить кнопку Изменить на результаты поиска данных, содержащих , поля, которые вы хотите удалить.

Выберите редактируемый элемент в первой строке, затем нажмите и удерживайте клавишу Shift и выберите тот же элемент в последней строке.

Пока все эти поля в столбце выделены, выберите удаление из меню слева. Вы также можете установить свой размер сегмента в разделе «Главная»> «Указать настройки», чтобы сделать более 50 за раз.

Другого варианта заключается в написании Mass Update скрипта, здесь очень простой пример:

function perform_update(rec_type, rec_id) { 
    try { 
     nlapiDeleteRecord(rec_type, rec_id); 
    } catch(err) { 
     nlapiLogExecution('DEBUG', 'Error deleting record', 'type = ' + rec_type + ", id = " + rec_id); 
    } 
} 
+0

Я предполагаю, что массовое обновление не подходит для этого, так как оно может потерпеть неудачу, если запись имеет некоторые зависимые записи. Inline delete - лучший вариант, но для этого также применяется одно и то же правило. – Rockstar

+0

Вы можете добавить некоторую сложность в сценарий массового обновления, чтобы сначала идентифицировать и удалить зависимые записи. Или вы могли бы просто «переборщить» своим путем, запустив его по всем типам записей отдельно, пока не получите больше результатов :-) – michoel

0

Я бы рекомендовал писать запланированный сценарий, и тянуть зависимые записи первые перед удалением мастера-транзакции, и затем сначала удалите наиболее зависимые транзакции.

EG: для удаления заказа клиента вы предпочитаете удалять счет-фактуру, продажу наличных денег, оплату Клиента и прикладную кредитную авизо/журнал. И вы должны предпочесть удалить Журналы/Кредит-Меморандум/Платеж клиента сначала, а затем Счет-фактуру, а затем сам заказ клиента.

Если результат поиска не дает никаких зависимых записей, вы можете удалить основную транзакцию напрямую.

+0

Поскольку нам не даны какие-либо параметры для оценки тестовых данных. Для меня, чтобы облегчить мою работу, я предпочел сначала обратиться к клиенту, так как я могу лучше отслеживать все его возможности, заказы на продажу/кассовые наличные/счета-фактуры и журналы. Опять же, я должен убедиться, что любое из этих исключений не должно влиять на какие-либо финансовые отчеты в качестве производственной среды. Который только увеличил мое бремя. – Rockstar

+1

Жаль, что NetSuite не имеет опции «ВКЛЮЧИТЬ УДАЛИТЬ КАСКАД» (даже если СУБД, в которой он работает, работает). –

+0

фактически NetSuite скрывает сложность модели БД от нас, одна и та же информация о записи может храниться в нескольких таблицах (например: по транзакциям вы видите позиции, информацию о доставке, сведения о транзакции и т. Д.которые могут храниться в разных таблицах), возможно, CASCADE может быть слишком сложным для некоторых из их задних логических схем. – prasun