Цитата:
Сообщение от
kashperuk
Прикольно, многих утилит не видел раньше. Жаль я их все толком не использую в повседневной работе.
Часть утилит я написал с нуля.
С другой стороны привыкните к хорошему и в 7-ке будет не хватать
Цитата:
Сообщение от
kashperuk
А почему не прижилась кнопочка для выбора полей для показа в Table Browser?
http://www.axaptapedia.com/DEV_SysTa...#Modifications
Вместо нее смотрю боковая панель со списком полей, но похоже это фокусирует просто на этом поле? Хотя, может это и удобнее.
А select/update/delete, которые я добавил уже в последний момент, чтобы занять место, есть
В любом случае, спасибо за сборку.
У меня никогда не было необходимости выбирать поля. Когда нужно провести анализ данных, экспортирую нужные строки в Excel, где это делать на порядок удобнее. Если будут пожелания, можно добавить выбор полей.
Да фокусирует на выбранном поле. Функционал расписан на странице проекта, посмотрите скрин, там еще очень много всего.
А select/update/delete я подсмотрел у вас, только принцип работы отличается. Первый метод ваш, второй мой
X++:
void executeSQLPresetChange()
{
;
dictTable = new DictTable(tableId);
switch (ExecuteSQLPreset.selection())
{
case 1:
this.parmSQLStmt(@'DELETE_FROM ' + tableId2Name(tableId));
break;
case 2:
this.parmSQLStmt(@'UPDATE_RECORDSET ' + tableId2Name(tableId) + '\n' + @'SETTING ');
break;
default:
this.parmSQLStmt(this.defaultSqlCmdStatement());
}
}
X++:
void executeSQLPresetChange()
{
FormTreeItem item;
int selection;
str expression;
dictTable = new DictTable(tableId);
selection = Tree.getFirstSelected() ? Tree.getFirstSelected() : Tree.getRoot();
if (selection)
{
item = Tree.getItem(selection);
}
switch (ExecuteSQLPreset.selection())
{
case 1:
if (item)
{
this.parmSQLStmt(strfmt('UPDATE_RECORDSET %1\nSETTING %2 = \'\'\nWHERE %1.RecId == %3',
tableId2Name(tableId),
item.text(),
ds.RecId));
}
break;
case 2:
if (item)
{
expression = strfmt('SELECT %1 FROM %2 WHERE %2.RecId = %3', item.text(), tableId2Name(SysDictTable::getRootTable(tableId)), ds.RecId);
this.parmSQLStmt(strfmt('DELETE_FROM %1\nWHERE %1.%2 == \'%3\'',
tableId2Name(tableId),
item.text(),
SysTableBrowser::DEV_GetValue(expression)));
CodeAccessPermission::revertAssert();
}
break;
default:
this.parmSQLStmt(this.defaultSqlCmdStatement());
}
}