Шаблоны в студии Cache |
Часто приходится набивать один и тот же текст, что довольно нудно.
Помочь могут Cache Studio Templates.
Создаем новую CSP страницу, удаляем весь текст пишем тег:
<csp:StudioSimpleTemplate name="cursorTemplate" type="CSP,CLS,MAC" accelerator="9" >
Здесь name - название шаблона, type - тип страниц на которых он доступен
accelerator - цифра от 0-9. При комбинации Ctrl + Chift + acceletator вызывается шаблон. Работает с перебоями, если отказывает приходится перекомпилировать CSP страницу.
После тега можно написать любой текст - он вставится в код. Если хотим упростить себе жизнь, то можно передавать в Template выделенный в редакторе текст, и обрабатывать его в теге:
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
///кашовый код
</SCRIPT>
Добраться до текста можно через %request.Data("SelectedText", 1)
Шаблон объявления курсора:
code:
<csp:StudioSimpleTemplate name="declareCursorTemplate" type="CSP,CLS,MAC" accelerator="1" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
s tab = $c(9)
w tab, "&sql(",!
s cursorName = $G(%request.Data("SelectedText", 1), "cursor1")
w tab, tab, tab, "declare ", cursorName, " cursor for",!
w tab, tab, tab, "select id into :id from asv_entities ",!
w tab, tab, ")",!
w tab, "&sql(open ", cursorName,")",!
w tab, "#dim SQLCODE = 100",!
w tab, "#dim id = """"",!
w tab, "f", !, tab, "{", !
w tab, tab,"&sql(fetch ", cursorName,")",!
w tab, tab,"q:(SQLCODE '= 0)",!
w tab, tab,";work here",!
w tab, "}",!
w tab, "&sql(close ", cursorName,")",!
</SCRIPT>
Шаблон для ResultSet
code:
<csp:StudioSimpleTemplate name="declareResultSet" type="CSP,CLS,MAC" accelerator="0" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
s tab = $c(9)
s commandText = $G(%request.Data("SelectedText", 1), "cursor1")
w tab, "s rs = ##class(%ResultSet).%New(""%DynamicQuery:SQL"")",!
w tab, "s commandText = """,commandText, """",!
w tab, "$$$CheckStatus(rs.Prepare(commandText))",!
w tab, "$$$CheckStatus(rs.Execute())",!
w tab, "while rs.Next()",!
w tab, "{",!
w tab, "\\\do work here",!
w tab, "}",!
w tab, "kill rs",!
</SCRIPT>
Шаблон для обхода глобала
code:
<csp:StudioSimpleTemplate name="orderGlobal" type="CSP,CLS,MAC" accelerator="2" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
s tab = $c(9)
s globalName = $G(%request.Data("SelectedText", 1), "^||tmp")
w tab, "set key = """"",!
w tab, "f",!
w tab, "{",!
w tab, tab, "set key = $order(",globalName,"(key))",!
w tab, tab, "q:(key = """") ",!
w tab, "}",!
</SCRIPT>
Это самые простые варианты - без диалогов и прочего. Зато быстро - с помощью горячих клавиш.
Рубрики: | Программирование |
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |