Раздел: [[СредстваРасширенияСреды]]
----
Поиск и замена с использованием регулярных выражений в редакторе кода [[http://erpkb.com/Axapta/SredstvaRasshirenijaSredy/files?get=regexsearch.zip]]
[[file:!/regexearch.png | ]]
Используются [[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/2380d458-3366-402b-996c-9363906a7353.asp]] а не [[РегулярноеВыражение]]
=== пример ===
Периодически надо делать запрос в котором участвуют Таблица/VendInvoiceJour и Таблица/VendInvoiceTrans. Проблема в том, что они связаны довольно замысловато, но эту информацию содержит relation ( ""AxPath://AOT/Data%20Dictionary/Tables/VendInvoiceTrans/Relations/VendInvoiceJour""). Надо ее извлечь и преобазовать во [[ВстроенныйSQL]].
Алгоритм (с использованием [[tabax | ]] и регулярных выражений)
*открываем relation
*выделяем все связи внутри него
*нажимаем кнопку копирования в tabax
*вставляем в редактор
Результат:
VendInvoiceTrans.PurchID == VendInvoiceJour.PurchId
VendInvoiceTrans.InvoiceId == VendInvoiceJour.InvoiceId
VendInvoiceTrans.InvoiceDate == VendInvoiceJour.InvoiceDate
VendInvoiceTrans.numberSequenceGroup == VendInvoiceJour.numberSequenceGroup
VendInvoiceTrans.InternalInvoiceId == VendInvoiceJour.InternalInvoiceId
*выделяем кусок
*вызываем regexearch
*пишем
*Что искать = ""VendInvoiceTrans.(\S+) == VendInvoiceJour.(\S+)""
*Заменить на = "" && trans.$1 == jour.$2""
*нажимаем "Заменить всё"
Результат:
&& trans.PurchID == jour.PurchId
&& trans.InvoiceId == jour.InvoiceId
&& trans.InvoiceDate == jour.InvoiceDate
&& trans.numberSequenceGroup == jour.numberSequenceGroup
&& trans.InternalInvoiceId == jour.InternalInvoiceId