Импорт из БСП
This commit is contained in:
commit
976cb371bb
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/*.e[rp]f
|
1007
src/ИнструментыРазработчикаКонсольЗапросов.xml
Normal file
1007
src/ИнструментыРазработчикаКонсольЗапросов.xml
Normal file
File diff suppressed because it is too large
Load Diff
4
src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help.xml
Normal file
4
src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Help xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Page>ru</Page>
|
||||
</Help>
|
11
src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html
Normal file
11
src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
|
||||
<h1 style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,51,102); TEXT-ALIGN: left; FONT: bold 18pt Arial, Tahoma; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"><span class="iss_sch_hl current" style="BACKGROUND-COLOR: yellow">Консоль</span><span class="Apple-converted-space"> </span><span class="iss_sch_hl" style="BACKGROUND-COLOR: rgb(0,255,255)">запросов</span> для управляемого приложения</h1>
|
||||
<p style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: 13px Verdana; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">Инструмент "<span class="iss_sch_hl" style="BACKGROUND-COLOR: rgb(0,255,255)">Консоль</span><span class="Apple-converted-space"> </span><span class="iss_sch_hl" style="BACKGROUND-COLOR: rgb(0,255,255)">запросов</span>" предназначена для отладки и просмотра результатов выполнения запросов в режиме 1С:Предприятие. Данная обработка предназначена, в основном, для разработчиков конфигураций и специалистов по внедрению. </p>
|
||||
<p style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: 13px Verdana; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">При разработке запросов в конфигураторе, как правило, требуется проводить отладку запроса на реальных данных. Данный инструмент позволяет вести разработку запроса (или пакета запросов) параллельно с просмотром результата. При работе с инструментом в толстом клиенте можно воспользоваться конструктором запросов, как и при работе в конфигураторе. Возможности по анализу результата запроса включают:</p>
|
||||
<ul style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: 13px Verdana; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"><li>вывод данных временных таблиц,
|
||||
</li><li>замер времени выполнения запроса и числа строк,
|
||||
</li><li>подсветку указанных ячеек в результате запроса,
|
||||
</li><li>интерактивное сравнение двух результатов запроса (только в толстом клиенте),
|
||||
</li><li>а также вывод результата запроса в новом окне.
|
||||
</li><li>вывод плана выполнения запроса, а также SQL-текст запроса, сформированного в СУБД. Для СУБД Microsoft SQL Server план выполнения выводится в виде дерева, а для остальных СУБД – в текстовом формате технологического журнала. Для упрощения анализа запросов также предусмотрено два режима отображения текстов запросов: с именами таблиц и колонок СУБД или с именами объектов метаданных и реквизитов конфигурации.</li></ul><p style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: 13px Verdana; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">После завершения отладки, текст запроса можно перенести в код (с помощью команды формирования текста запроса для конфигуратора) или в отчеты конфигурации. К сервисным возможностям относятся работа сразу с несколькими запросами (пакет запросов), сохранение текста и параметров запросов в файле, автосохранение, экспорт результатов запроса в табличный документ и другое.</p>
|
||||
<p style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: 13px Verdana; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">Если в запросе при выводе результатов требуется использовать точку с запятой, то ее следует экранировать символом обратного слеша - "<strong>\</strong>". <br>Пример: <em>ВЫБРАТЬ Номенклатура.Наименование + " \; " + Номенклатура.Наименование ИЗ Справочник.Номенклатура</em> </p></body></html>
|
1993
src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl
Normal file
1993
src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="fa515b18-8e83-489a-ade0-4ec882c66901">
|
||||
<Properties>
|
||||
<Name>ВыборЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выбор запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,357 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выбор запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Width>80</Width>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ЗапросыВыбратьЗапрос" id="15">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ВыбратьЗапрос</CommandName>
|
||||
<ExtendedTooltip name="ЗапросыВыбратьЗапросExtendedTooltip" id="25"/>
|
||||
</Button>
|
||||
<ButtonGroup name="ФормаГруппа1" id="18">
|
||||
<CommandSource>Item.Запросы</CommandSource>
|
||||
<ExtendedTooltip name="ФормаГруппа1ExtendedTooltip" id="26"/>
|
||||
</ButtonGroup>
|
||||
<ButtonGroup name="ФормаГруппа2" id="19">
|
||||
<ExtendedTooltip name="ФормаГруппа2ExtendedTooltip" id="27"/>
|
||||
<ChildItems>
|
||||
<Button name="ЗапросыВосстановитьЗапросыИзФайла" id="14">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.ВосстановитьЗапросыИзФайла</CommandName>
|
||||
<ExtendedTooltip name="ЗапросыВосстановитьЗапросыИзФайлаExtendedTooltip" id="28"/>
|
||||
</Button>
|
||||
<Button name="ФормаДобавитьЗапросыИзФайла" id="22">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.ДобавитьЗапросыИзФайла</CommandName>
|
||||
<ExtendedTooltip name="ФормаДобавитьЗапросыИзФайлаExtendedTooltip" id="29"/>
|
||||
</Button>
|
||||
<Button name="ЗапросыСохранитьЗапросыВФайл" id="13">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.СохранитьЗапросыВФайл</CommandName>
|
||||
<ExtendedTooltip name="ЗапросыСохранитьЗапросыВФайлExtendedTooltip" id="30"/>
|
||||
</Button>
|
||||
<Button name="ЗапросыСохранитьЗапросыВДругойФайл" id="17">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.СохранитьЗапросыВДругойФайл</CommandName>
|
||||
<ExtendedTooltip name="ЗапросыСохранитьЗапросыВДругойФайлExtendedTooltip" id="31"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</ButtonGroup>
|
||||
<Button name="ФормаСравнитьРезультатыЗапросов" id="24">
|
||||
<Type>CommandBarButton</Type>
|
||||
<OnlyInAllActions>false</OnlyInAllActions>
|
||||
<CommandName>Form.Command.СравнитьРезультатыЗапросов</CommandName>
|
||||
<ExtendedTooltip name="ФормаСравнитьРезультатыЗапросовExtendedTooltip" id="32"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Table name="Запросы" id="1">
|
||||
<Representation>List</Representation>
|
||||
<CommandBarLocation>None</CommandBarLocation>
|
||||
<MultipleChoice>true</MultipleChoice>
|
||||
<RowSelectionMode>Row</RowSelectionMode>
|
||||
<UseAlternationRowColor>true</UseAlternationRowColor>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<FileDragMode>AsFile</FileDragMode>
|
||||
<DataPath>Объект.Запросы</DataPath>
|
||||
<SearchStringLocation>None</SearchStringLocation>
|
||||
<ViewStatusLocation>None</ViewStatusLocation>
|
||||
<SearchControlLocation>None</SearchControlLocation>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="ЗапросыКонтекстноеМеню" id="2">
|
||||
<ChildItems>
|
||||
<Button name="ЗапросыКонтекстноеМенюСравнитьРезультатыЗапросов" id="23">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Command.СравнитьРезультатыЗапросов</CommandName>
|
||||
<ExtendedTooltip name="ЗапросыКонтекстноеМенюСравнитьРезультатыЗапросовExtendedTooltip" id="33"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</ContextMenu>
|
||||
<AutoCommandBar name="ЗапросыКоманднаяПанель" id="3"/>
|
||||
<ExtendedTooltip name="ЗапросыExtendedTooltip" id="34"/>
|
||||
<SearchStringAddition name="ЗапросыСтрокаПоиска" id="41">
|
||||
<AdditionSource>
|
||||
<Item>Запросы</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ЗапросыСтрокаПоискаКонтекстноеМеню" id="42"/>
|
||||
<ExtendedTooltip name="ЗапросыСтрокаПоискаРасширеннаяПодсказка" id="43"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="ЗапросыСостояниеПросмотра" id="44">
|
||||
<AdditionSource>
|
||||
<Item>Запросы</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ЗапросыСостояниеПросмотраКонтекстноеМеню" id="45"/>
|
||||
<ExtendedTooltip name="ЗапросыСостояниеПросмотраРасширеннаяПодсказка" id="46"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="ЗапросыУправлениеПоиском" id="47">
|
||||
<AdditionSource>
|
||||
<Item>Запросы</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ЗапросыУправлениеПоискомКонтекстноеМеню" id="48"/>
|
||||
<ExtendedTooltip name="ЗапросыУправлениеПоискомРасширеннаяПодсказка" id="49"/>
|
||||
</SearchControlAddition>
|
||||
<Events>
|
||||
<Event name="1282f000-23b6-4887-87f4-9e8e79db3d32">ЗапросыВыбор</Event>
|
||||
<Event name="2391e7b8-7235-45d7-ab7e-6ff3dc086396">ЗапросыПередНачаломДобавления</Event>
|
||||
<Event name="2ccfdec5-583d-4eca-8319-e55de492665a">ЗапросыПередУдалением</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="ЗапросыИмя" id="4">
|
||||
<DataPath>Объект.Запросы.Имя</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ЗапросыИмяКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="ЗапросыИмяExtendedTooltip" id="35"/>
|
||||
<Events>
|
||||
<Event name="OnChange">ЗапросыИмяПриИзменении</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<LabelField name="ЗапросыID" id="11">
|
||||
<DataPath>Объект.Запросы.Идентификатор</DataPath>
|
||||
<Visible>false</Visible>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ЗапросыIDКонтекстноеМеню" id="12"/>
|
||||
<ExtendedTooltip name="ЗапросыIDExtendedTooltip" id="36"/>
|
||||
</LabelField>
|
||||
<ColumnGroup name="ГруппаЗапроса" id="6">
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Группа запроса</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Horizontal</Group>
|
||||
<ExtendedTooltip name="ГруппаЗапросаExtendedTooltip" id="37"/>
|
||||
<ChildItems>
|
||||
<InputField name="ЗапросыВремяВыполнения" id="7">
|
||||
<DataPath>Объект.Запросы.ВремяВыполнения</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Время выполнения (сек.)</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ЗапросыВремяВыполненияКонтекстноеМеню" id="8"/>
|
||||
<ExtendedTooltip name="ЗапросыВремяВыполненияExtendedTooltip" id="38"/>
|
||||
</InputField>
|
||||
<InputField name="ЗапросыКоличествоСтрок" id="9">
|
||||
<DataPath>Объект.Запросы.КоличествоСтрок</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="ЗапросыКоличествоСтрокКонтекстноеМеню" id="10"/>
|
||||
<ExtendedTooltip name="ЗапросыКоличествоСтрокExtendedTooltip" id="39"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</ColumnGroup>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
<InputField name="ИмяФайла" id="20">
|
||||
<DataPath>Объект.ИмяФайла</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
<ContextMenu name="ИмяФайлаКонтекстноеМеню" id="21"/>
|
||||
<ExtendedTooltip name="ИмяФайлаExtendedTooltip" id="40"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоЗапроса" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоПараметра" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего параметра</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="СписокТипов" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Список типов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ЗаданВопросОбУстановкеРасширения" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Задан вопрос об установке расширения</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="СохранитьЗапросыВФайл" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить запросы в файл</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Shortcut>Ctrl+S</Shortcut>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.SaveFile</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>СохранитьЗапросыВФайл</Action>
|
||||
<Representation>Picture</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="ВосстановитьЗапросыИзФайла" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Открыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Восстановить запросы из файла</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Shortcut>Ctrl+O</Shortcut>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.OpenFile</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>ВосстановитьЗапросыИзФайла</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="ВыбратьЗапрос" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выбрать</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выбрать запрос</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ВыбратьЗапрос</Action>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="СохранитьЗапросыВДругойФайл" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить как</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сохранить запросы в другой файл</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.EndEdit</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>СохранитьЗапросыВДругойФайл</Action>
|
||||
<Representation>Picture</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="ДобавитьЗапросыИзФайла" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить запросы</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить запросы из файла</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.NewWindow</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>ДобавитьЗапросыИзФайла</Action>
|
||||
<Representation>Picture</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
<Command name="СравнитьРезультатыЗапросов" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сравнить результаты запросов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Сравнить результаты запросов</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.ReadChanges</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Action>СравнитьРезультатыЗапросов</Action>
|
||||
<Representation>TextPicture</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,456 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Считывание параметров передачи.
|
||||
ПараметрыПередачи = ПолучитьИзВременногоХранилища(Параметры.АдресХранилища);
|
||||
Объект.Запросы.Загрузить(ПараметрыПередачи.Запросы);
|
||||
Объект.Параметры.Загрузить(ПараметрыПередачи.Параметры);
|
||||
Объект.ИмяФайла = ПараметрыПередачи.ИмяФайла;
|
||||
ИдентификаторТекущегоЗапроса = ПараметрыПередачи.ИдентификаторТекущегоЗапроса;
|
||||
ИдентификаторТекущегоПараметра = ПараметрыПередачи.ИдентификаторТекущегоПараметра;
|
||||
|
||||
ОбработкаОбъект = ОбъектОбработки();
|
||||
Объект.ДоступныеТипыДанных = ОбработкаОбъект.Метаданные().Реквизиты.ДоступныеТипыДанных.Тип;
|
||||
|
||||
СписокТипов = ОбъектОбработки().СформироватьСписокТипов();
|
||||
ОбработкаОбъект.ФильтрацияСпискаТипов(СписокТипов, "");
|
||||
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("Идентификатор", ИдентификаторТекущегоЗапроса);
|
||||
СтрокиЗапросовСИдентификатор = Объект.Запросы.НайтиСтроки(Фильтр);
|
||||
Если СтрокиЗапросовСИдентификатор.Количество() > 0 Тогда
|
||||
Элементы.Запросы.ТекущаяСтрока = СтрокиЗапросовСИдентификатор.Получить(0).ПолучитьИдентификатор();
|
||||
КонецЕсли;
|
||||
Заголовок = НСтр("ru = 'Выбрать запрос'");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗапросыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
|
||||
Отказ = Истина;
|
||||
|
||||
ЭлементКопирования = Элемент.ТекущиеДанные;
|
||||
|
||||
ИмяЗапросаПоУмолчанию = ЭтотОбъект.ВладелецФормы.ИмяЗапросаПоУмолчанию;
|
||||
ИдентификаторЗапроса = Новый УникальныйИдентификатор;
|
||||
|
||||
Запрос = Объект.Запросы.Добавить();
|
||||
Запрос.Имя = ИмяЗапросаПоУмолчанию;
|
||||
Запрос.Идентификатор = ИдентификаторЗапроса;
|
||||
|
||||
Если Копирование Тогда
|
||||
ИмяНовогоЗапроса = СформироватьИмяКопииЗапроса(ЭлементКопирования.Имя);
|
||||
Запрос.Имя = ИмяНовогоЗапроса;
|
||||
Запрос.Текст = ЭлементКопирования.Текст;
|
||||
ИдентификаторТекущегоЗапроса = ЭлементКопирования.Идентификатор;
|
||||
|
||||
// Копирование параметров
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("ИдентификаторЗапроса", ИдентификаторТекущегоЗапроса);
|
||||
МассивПараметров = Объект.Параметры.НайтиСтроки(Фильтр);
|
||||
Для каждого Стр Из МассивПараметров Цикл
|
||||
ЭлементПараметр = Объект.Параметры.Добавить();
|
||||
ЭлементПараметр.Идентификатор = Новый УникальныйИдентификатор;
|
||||
ЭлементПараметр.ИдентификаторЗапроса = ИдентификаторЗапроса;
|
||||
ЭлементПараметр.Имя = Стр.Имя;
|
||||
ЭлементПараметр.Тип = Стр.Тип;
|
||||
ЭлементПараметр.Значение = Стр.Значение;
|
||||
ЭлементПараметр.ТипВФорме = Стр.ТипВФорме;
|
||||
ЭлементПараметр.ЗначениеВФорме = Стр.ЗначениеВФорме;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ВладелецФормы.Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик перед удалением Запроса.
|
||||
// Удаляет параметры для данного запроса.
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ЗапросыПередУдалением(Элемент, Отказ)
|
||||
ПараметрыВФорме = Объект.Параметры;
|
||||
ИдентификаторУдаляемогоЗапроса = Элементы.Запросы.ТекущиеДанные.Идентификатор;
|
||||
|
||||
КоличествоСтрок = ПараметрыВФорме.Количество() - 1;
|
||||
Пока КоличествоСтрок >= 0 Цикл
|
||||
ТекущийПараметр = ПараметрыВФорме.Получить(КоличествоСтрок);
|
||||
Если ТекущийПараметр.ИдентификаторЗапроса = ИдентификаторУдаляемогоЗапроса Тогда
|
||||
ПараметрыВФорме.Удалить(КоличествоСтрок);
|
||||
Модифицированность = Истина;
|
||||
КонецЕсли;
|
||||
КоличествоСтрок = КоличествоСтрок - 1;
|
||||
КонецЦикла;
|
||||
|
||||
ВладелецФормы.Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗапросыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
ОбработкаВыбораЗапроса();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗапросыИмяПриИзменении(Элемент)
|
||||
ВладелецФормы.Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СравнитьРезультатыЗапросов(Команда)
|
||||
#Если Не ВебКлиент И Не ТонкийКлиент Тогда
|
||||
ВыделенныеЗапросы = Элементы.Запросы.ВыделенныеСтроки;
|
||||
Если ВыделенныеЗапросы.Количество() <> 2 Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Для сравнения необходимо выбрать только 2 запроса", "Объект'"));
|
||||
Возврат;
|
||||
Иначе
|
||||
ИдентификаторСтрокиПервогоЗапроса = ВыделенныеЗапросы.Получить(0);
|
||||
ИдентификаторСтрокиВторогоЗапроса = ВыделенныеЗапросы.Получить(1);
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторПервогоЗапроса = Объект.Запросы.НайтиПоИдентификатору(ИдентификаторСтрокиПервогоЗапроса).Идентификатор;
|
||||
ИдентификаторВторогоЗапроса = Объект.Запросы.НайтиПоИдентификатору(ИдентификаторСтрокиВторогоЗапроса).Идентификатор;
|
||||
|
||||
ТабличныйДокументПервогоЗапроса = Неопределено;
|
||||
ТабличныйДокументВторогоЗапроса = Неопределено;
|
||||
|
||||
ПолучитьТабличныеДокументыСравниваемыхЗапросов(ИдентификаторПервогоЗапроса, ИдентификаторВторогоЗапроса, ТабличныйДокументПервогоЗапроса, ТабличныйДокументВторогоЗапроса);
|
||||
|
||||
Если ТипЗнч(ТабличныйДокументПервогоЗапроса) <> Неопределено
|
||||
И ТипЗнч(ТабличныйДокументВторогоЗапроса) <> Неопределено Тогда
|
||||
// Сравниваются два файла.
|
||||
Сравнение = Новый СравнениеФайлов;
|
||||
Сравнение.СпособСравнения = СпособСравненияФайлов.ТабличныйДокумент;
|
||||
Сравнение.ПервыйФайл = ТабличныйДокументПервогоЗапроса;
|
||||
Сравнение.ВторойФайл = ТабличныйДокументВторогоЗапроса;
|
||||
Сравнение.ПоказатьРазличияМодально();
|
||||
КонецЕсли;
|
||||
#Иначе
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Сравнивать результаты можно только в режиме толстого клиента.", "Объект'"));
|
||||
#КонецЕсли
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ОБЩИЕ КОМАНДЫ
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьЗапросыВФайл(Команда)
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьИмяФайлаЗапроса", ЭтотОбъект, Объект.ИмяФайла);
|
||||
СохранитьФайлЗапроса(ОписаниеОповещения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьЗапросыВДругойФайл(Команда)
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьИмяФайлаЗапроса", ЭтотОбъект, "");
|
||||
СохранитьФайлЗапроса(ОписаниеОповещения);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьИмяФайлаЗапроса(ИмяФайла, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Объект.ИмяФайла = ИмяФайла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВосстановитьЗапросыИзФайла(Команда)
|
||||
ОбработкаЧтенияФайла(Истина);
|
||||
ВладелецФормы.Модифицированность = Ложь;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьЗапрос(Команда)
|
||||
ОбработкаВыбораЗапроса();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьЗапросыИзФайла(Команда)
|
||||
ОбработкаЧтенияФайла(Ложь);
|
||||
ВладелецФормы.Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПоместитьЗапросыВСтруктуру(ИдентификаторЗапроса, ИдентификаторПараметра)
|
||||
ПараметрыПередачи = Новый Структура;
|
||||
ПараметрыПередачи.Вставить("АдресХранилища", ОбъектОбработки().ПоместитьЗапросыВоВременноеХранилище(Объект, ИдентификаторЗапроса, ИдентификаторПараметра));
|
||||
Возврат ПараметрыПередачи;
|
||||
КонецФункции
|
||||
|
||||
// Сохранение запросов.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяФайла - имя файла XML.
|
||||
// Объект - объект обработки.
|
||||
//
|
||||
&НаСервере
|
||||
Функция СохранитьЗапросы(знач Объект)
|
||||
|
||||
ДвоичныеДанные = ОбъектОбработки().ЗаписатьЗапросыВФайлXML(Объект);
|
||||
Возврат ДвоичныеДанные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаВыбораЗапроса()
|
||||
ТекущаяСтрока = Элементы.Запросы.ТекущаяСтрока;
|
||||
Если ТекущаяСтрока <> Неопределено Тогда
|
||||
ТекущийЗапрос = Элементы.Запросы.ТекущиеДанные;
|
||||
ИдентификаторТекущегоЗапроса = ТекущийЗапрос.Идентификатор;
|
||||
ПараметрыПередачи = ПоместитьЗапросыВСтруктуру(ИдентификаторТекущегоЗапроса, ИдентификаторТекущегоПараметра);
|
||||
|
||||
// Передача в открывающую форму.
|
||||
Закрыть();
|
||||
|
||||
Оповестить("ВыгрузитьЗапросыВРеквизиты", ПараметрыПередачи);
|
||||
Оповестить("ОбновитьФормуКлиент");
|
||||
Иначе
|
||||
ПоказатьСообщениеПользователю(НСтр("ru = 'Выберите запрос.'"), "Объект");
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьФайлЗапроса(ОписаниеОповещения)
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("СохранитьФайлЗапросаЗавершение", ЭтотОбъект, ОписаниеОповещения);
|
||||
#Если Не ВебКлиент Тогда
|
||||
// В тонком и толстом клиентах расширение подключено всегда.
|
||||
СохранитьФайлЗапросаЗавершение(ОписаниеОповещения);
|
||||
Возврат;
|
||||
#КонецЕсли
|
||||
|
||||
// Если расширение и так уже подключено, незачем про него спрашивать.
|
||||
РасширениеПодключено = ПодключитьРасширениеРаботыСФайлами();
|
||||
Если РасширениеПодключено Тогда
|
||||
СохранитьФайлЗапросаЗавершение(ОписаниеОповещения);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗаданВопросОбУстановкеРасширения Тогда
|
||||
|
||||
ЗаданВопросОбУстановкеРасширения = Истина;
|
||||
ОписаниеОповещенияВопрос = Новый ОписаниеОповещения("ЗадатьВопросОбУстановкеРасширения", ЭтотОбъект, Оповещение);
|
||||
ПоказатьВопрос(ОписаниеОповещенияВопрос, Нстр("ru = 'Установить расширение для работы с файлами?'"), РежимДиалогаВопрос.ДаНет);
|
||||
|
||||
Иначе
|
||||
|
||||
СохранитьФайлЗапросаЗавершение(ОписаниеОповещения);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗадатьВопросОбУстановкеРасширения(Ответ, Оповещение) Экспорт
|
||||
|
||||
Если Ответ = КодВозвратаДиалога.Да Тогда
|
||||
|
||||
НачатьУстановкуРасширенияРаботыСФайлами(Оповещение);
|
||||
|
||||
Иначе
|
||||
|
||||
СохранитьФайлЗапросаЗавершение(Оповещение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранитьФайлЗапросаЗавершение(Оповещение) Экспорт
|
||||
|
||||
ИмяФайла = Оповещение.ДополнительныеПараметры;
|
||||
|
||||
Если ПодключитьРасширениеРаботыСФайлами() Тогда
|
||||
Если ПустаяСтрока(ИмяФайла) Тогда
|
||||
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
|
||||
Диалог.Заголовок = НСтр("ru = 'Выберите файл запросов'");
|
||||
Диалог.ПредварительныйПросмотр = Ложь;
|
||||
Диалог.Фильтр = НСтр("ru = 'Файл запросов (*.q1c)|*.q1c'");
|
||||
Диалог.Расширение = "q1c";
|
||||
Диалог.ПроверятьСуществованиеФайла = Истина;
|
||||
Диалог.МножественныйВыбор = Ложь;
|
||||
|
||||
Если Диалог.Выбрать() Тогда
|
||||
ИмяФайла = Диалог.ПолноеИмяФайла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Записываются текст и параметры запроса в файл.
|
||||
Если Не ПустаяСтрока(ИмяФайла) Тогда
|
||||
ДвоичныеДанные = СохранитьЗапросы(Объект);
|
||||
ДвоичныеДанные.Записать(ИмяФайла);
|
||||
ВладелецФормы.Модифицированность = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ТекстСообщения = НСтр("ru = 'В данном браузере невозможно работать с файлами.'");
|
||||
ПоказатьСообщениеПользователю(ТекстСообщения, "Объект");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаЧтенияФайла(Удалять)
|
||||
// Выбор файла для загрузки.
|
||||
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
|
||||
Диалог.Заголовок = НСтр("ru = 'Выберите файл запросов'");
|
||||
Диалог.ПредварительныйПросмотр = Ложь;
|
||||
Диалог.Фильтр = НСтр("ru = 'Файл запросов (*.q1c)|*.q1c'");
|
||||
Диалог.Расширение = "q1c";
|
||||
Диалог.ПроверятьСуществованиеФайла = Истина;
|
||||
Диалог.МножественныйВыбор = Ложь;
|
||||
Если Диалог.Выбрать() Тогда
|
||||
ИмяФайла = Диалог.ПолноеИмяФайла;
|
||||
КонецЕсли;
|
||||
|
||||
// Чтение данных из файла.
|
||||
Если Не ПустаяСтрока(ИмяФайла) Тогда
|
||||
Если Удалять Тогда
|
||||
Объект.Запросы.Очистить();
|
||||
Объект.Параметры.Очистить();
|
||||
КонецЕсли;
|
||||
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайла);
|
||||
ЗагрузитьЗапросыИзФайла(ДвоичныеДанные)
|
||||
КонецЕсли;
|
||||
Объект.ИмяФайла = ИмяФайла;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗагрузитьЗапросыИзФайла(ДвоичныеДанные)
|
||||
|
||||
ОбъектВнешнейОбработки = ОбъектОбработки().ПрочитатьЗапросыИзФайлаXML(ДвоичныеДанные);
|
||||
ЗаполнитьЗапросыИПараметрыИзОбъектаВнешнейОбработки(ОбъектВнешнейОбработки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет из объекта внешней обработки запросы и параметры.
|
||||
//
|
||||
// Параметры:
|
||||
// ОбъектОбработки - объект внешней обработки.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьЗапросыИПараметрыИзОбъектаВнешнейОбработки(ОбъектОбработки)
|
||||
ЗапросыОбработка = ОбъектОбработки.Запросы;
|
||||
ПараметрыОбработка = ОбъектОбработки.Параметры;
|
||||
|
||||
Объект.Запросы.Очистить();
|
||||
Объект.Параметры.Очистить();
|
||||
|
||||
// Заполнение запросов и параметров в форме.
|
||||
Для каждого ТекстЗапрос Из ЗапросыОбработка Цикл
|
||||
ЭлементЗапроса = Объект.Запросы.Добавить();
|
||||
ЭлементЗапроса.Идентификатор = ТекстЗапрос.Идентификатор;
|
||||
ЭлементЗапроса.Имя = ТекстЗапрос.Имя;
|
||||
ЭлементЗапроса.Текст = ТекстЗапрос.Текст;
|
||||
КонецЦикла;
|
||||
|
||||
Для каждого ТекПараметр Из ПараметрыОбработка Цикл
|
||||
ТипСтрока = ТекПараметр.Тип;
|
||||
|
||||
Значение = ТекПараметр.Значение;
|
||||
Значение = ЗначениеИЗСтрокиВнутр(Значение);
|
||||
|
||||
Если ТипСтрока = "ТаблицаЗначений" ИЛИ ТипСтрока = "МоментВремени" ИЛИ ТипСтрока = "Граница" Тогда
|
||||
ЭлементПараметр = Объект.Параметры.Добавить();
|
||||
ЭлементПараметр.ИдентификаторЗапроса = ТекПараметр.ИдентификаторЗапроса;
|
||||
ЭлементПараметр.Идентификатор = ТекПараметр.Идентификатор;
|
||||
ЭлементПараметр.Имя = ТекПараметр.Имя;
|
||||
ЭлементПараметр.Тип = СписокТипов.НайтиПоЗначению(ТипСтрока).Значение;
|
||||
ЭлементПараметр.Значение = ТекПараметр.Значение;
|
||||
ЭлементПараметр.ТипВФорме = СписокТипов.НайтиПоЗначению(ТипСтрока).Представление;
|
||||
ЭлементПараметр.ЗначениеВФорме = ОбъектОбработки().ФормированиеПредставленияЗначения(Значение);
|
||||
Иначе
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить(Тип(ТипСтрока));
|
||||
Описание = Новый ОписаниеТипов(Массив);
|
||||
|
||||
ЭлементПараметр = Объект.Параметры.Добавить();
|
||||
ЭлементПараметр.ИдентификаторЗапроса = ТекПараметр.ИдентификаторЗапроса;
|
||||
ЭлементПараметр.Идентификатор = ТекПараметр.Идентификатор;
|
||||
ЭлементПараметр.Имя = ТекПараметр.Имя;
|
||||
ЭлементПараметр.Тип = ТипСтрока;
|
||||
ЭлементПараметр.ТипВФорме = Описание;
|
||||
ЭлементПараметр.Значение = ЗначениеВСтрокуВнутр(Значение);
|
||||
ЭлементПараметр.ЗначениеВФорме = Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьСообщениеПользователю(ТекстСообщения, ПутьКДанным)
|
||||
ОчиститьСообщения();
|
||||
Сообщение = Новый СообщениеПользователю();
|
||||
Сообщение.Текст = ТекстСообщения;
|
||||
Сообщение.ПутьКДанным = ПутьКДанным;
|
||||
Сообщение.УстановитьДанные(Объект);
|
||||
Сообщение.Сообщить();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПолучитьТабличныеДокументыСравниваемыхЗапросов(ИДПервогоЗапроса, ИДВторогоЗапроса, ФайлПервогоЗапроса, ФайлВторогоЗапроса)
|
||||
ФильтрПервого = Новый Структура;
|
||||
ФильтрПервого.Вставить("Идентификатор",ИДПервогоЗапроса);
|
||||
АдресПервогоДокумента = Объект.Запросы.НайтиСтроки(ФильтрПервого).Получить(0).АдресРезультата;
|
||||
|
||||
ФильтрВторого = Новый Структура;
|
||||
ФильтрПервого.Вставить("Идентификатор",ИДВторогоЗапроса);
|
||||
АдресВторогоДокумента = Объект.Запросы.НайтиСтроки(ФильтрПервого).Получить(0).АдресРезультата;
|
||||
|
||||
Если ПустаяСтрока(АдресПервогоДокумента) ИЛИ ПустаяСтрока(АдресВторогоДокумента) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТДПервогоЗапроса = ПолучитьИзВременногоХранилища(АдресПервогоДокумента);
|
||||
ТДВторогоЗапроса = ПолучитьИзВременногоХранилища(АдресВторогоДокумента);
|
||||
|
||||
ФайлПервогоЗапроса = ПолучитьИмяВременногоФайла("mxl");
|
||||
ТДПервогоЗапроса.Записать(ФайлПервогоЗапроса);
|
||||
|
||||
ФайлВторогоЗапроса = ПолучитьИмяВременногоФайла("mxl");
|
||||
ТДВторогоЗапроса.Записать(ФайлВторогоЗапроса);
|
||||
КонецПроцедуры
|
||||
|
||||
// Формирует имя копии запроса.
|
||||
//
|
||||
// Параметры:
|
||||
// Имя - передаваемое имя запроса.
|
||||
//
|
||||
&НаКлиенте
|
||||
Функция СформироватьИмяКопииЗапроса(Имя)
|
||||
Флаг = Истина;
|
||||
Индекс = 1;
|
||||
|
||||
Пока Флаг Цикл
|
||||
ФормируемоеИмяЗапроса = НСтр("ru = '%ИмяЗапроса% - Копия %НомерКопии%'");
|
||||
ФормируемоеИмяЗапроса = СтрЗаменить(ФормируемоеИмяЗапроса, "%ИмяЗапроса%", Имя);
|
||||
ФормируемоеИмяЗапроса = СтрЗаменить(ФормируемоеИмяЗапроса, "%НомерКопии%", Индекс);
|
||||
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("Имя", ФормируемоеИмяЗапроса);
|
||||
|
||||
МассивЗапросовПоФильтру = Объект.Запросы.НайтиСтроки(Фильтр);
|
||||
|
||||
Если МассивЗапросовПоФильтру.Количество() = 0 Тогда
|
||||
Флаг = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Индекс = Индекс + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ФормируемоеИмяЗапроса;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
22
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml
Normal file
22
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="c0fcbe6c-4da8-44e0-8874-c855fdab13d6">
|
||||
<Properties>
|
||||
<Name>Граница</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Граница</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Граница</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Width>50</Width>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаЗаписатьГраницу" id="8">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ЗаписатьГраницу</CommandName>
|
||||
<ExtendedTooltip name="ФормаЗаписатьГраницуExtendedTooltip" id="11"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="NotificationProcessing">ОбработкаОповещения</Event>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<UsualGroup name="Группа1" id="5">
|
||||
<Group>Horizontal</Group>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Группа1ExtendedTooltip" id="12"/>
|
||||
<ChildItems>
|
||||
<InputField name="Тип" id="6">
|
||||
<DataPath>Тип</DataPath>
|
||||
<HorizontalStretch>false</HorizontalStretch>
|
||||
<ChoiceButton>true</ChoiceButton>
|
||||
<TextEdit>false</TextEdit>
|
||||
<ContextMenu name="ТипКонтекстноеМеню" id="7"/>
|
||||
<ExtendedTooltip name="ТипExtendedTooltip" id="13"/>
|
||||
<Events>
|
||||
<Event name="StartChoice">ТипНачалоВыбора</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="ВидГраницы" id="3">
|
||||
<DataPath>ВидГраницыФормы</DataPath>
|
||||
<HorizontalStretch>false</HorizontalStretch>
|
||||
<ListChoiceMode>true</ListChoiceMode>
|
||||
<TextEdit>false</TextEdit>
|
||||
<ContextMenu name="ВидГраницыКонтекстноеМеню" id="4"/>
|
||||
<ExtendedTooltip name="ВидГраницыExtendedTooltip" id="14"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<InputField name="ЗначениеВФорме" id="9">
|
||||
<DataPath>ЗначениеВФорме</DataPath>
|
||||
<ChoiceButton>true</ChoiceButton>
|
||||
<ChooseType>false</ChooseType>
|
||||
<ContextMenu name="ЗначениеВФормеКонтекстноеМеню" id="10"/>
|
||||
<ExtendedTooltip name="ЗначениеВФормеExtendedTooltip" id="15"/>
|
||||
<Events>
|
||||
<Event name="OnChange">ЗначениеВФормеПриИзменении</Event>
|
||||
<Event name="StartChoice">ЗначениеВФормеНачалоВыбора</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоЗапроса" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоПараметра" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего параметра</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИмяФайла" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя файла</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Значение" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type/>
|
||||
</Attribute>
|
||||
<Attribute name="ВидГраницыФормы" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Вид границы</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="СписокТипов" id="7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Список типов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Тип" id="8">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ЗначениеВФорме" id="9">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Значение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type/>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ЗаписатьГраницу" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать и закрыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать границу</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ЗаписатьГраницу</Action>
|
||||
<Representation>Text</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,217 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбработкаОбъект = ОбъектОбработки();
|
||||
Объект.ДоступныеТипыДанных = ОбработкаОбъект.Метаданные().Реквизиты.ДоступныеТипыДанных.Тип;
|
||||
Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма";
|
||||
|
||||
Элементы.ВидГраницы.СписокВыбора.Добавить("Включая");
|
||||
Элементы.ВидГраницы.СписокВыбора.Добавить("Исключая");
|
||||
ВидГраницыФормы = Элементы.ВидГраницы.СписокВыбора.Получить(0).Значение;
|
||||
|
||||
// Получение списка типов и его фильтрация.
|
||||
СписокТипов = ОбъектОбработки().СформироватьСписокТипов();
|
||||
ОбъектОбработки().ФильтрацияСпискаТипов(СписокТипов, "Граница");
|
||||
|
||||
// Считывание параметров передачи.
|
||||
ПараметрыПередачи = ПолучитьИзВременногоХранилища(Параметры.АдресХранилища);
|
||||
Объект.Запросы.Загрузить(ПараметрыПередачи.Запросы);
|
||||
Объект.Параметры.Загрузить(ПараметрыПередачи.Параметры);
|
||||
Объект.ИмяФайла = ПараметрыПередачи.ИмяФайла;
|
||||
ИдентификаторТекущегоЗапроса = ПараметрыПередачи.ИдентификаторТекущегоЗапроса;
|
||||
ИдентификаторТекущегоПараметра = ПараметрыПередачи.ИдентификаторТекущегоПараметра;
|
||||
|
||||
ЗаполнитьЗначения();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||
Если ИмяСобытия = "ПолучениеМоментаВремени" Тогда
|
||||
ПолучениеМоментаВремени(Параметр);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТипНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ТипЗавершениеВыбора", ЭтотОбъект);
|
||||
СписокТипов.ПоказатьВыборЭлемента(ОписаниеОповещения, НСтр("ru = 'Выбрать тип'"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТипЗавершениеВыбора(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если ВыбранныйЭлемент <> Неопределено Тогда
|
||||
|
||||
ТекущийТип = ВыбранныйЭлемент;
|
||||
|
||||
Если ТекущийТип.Значение = "МоментВремени" Тогда
|
||||
Тип = ТекущийТип.Представление;
|
||||
Значение = Тип;
|
||||
ЗначениеВФорме = Тип;
|
||||
Иначе
|
||||
Тип = ТекущийТип.Представление;
|
||||
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить(Тип(ТекущийТип.Значение));
|
||||
Описание = Новый ОписаниеТипов(Массив);
|
||||
|
||||
ЗначениеВФорме = Описание.ПривестиЗначение(ТекущийТип.Значение);
|
||||
Значение = Описание.ПривестиЗначение(ТекущийТип.Значение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеВФормеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
ПередаваемыеЗапросы = ПередачаЗапросов();
|
||||
ПередаваемыеЗапросы.Вставить("Значение",Значение);
|
||||
|
||||
Если Тип = НСтр("ru = 'Момент времени'") Тогда
|
||||
Путь = Объект.ПутьКФормам + "." + "МоментВремени";
|
||||
ОткрытьФорму(Путь, ПередаваемыеЗапросы, ЭтотОбъект);
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеВФормеПриИзменении(Элемент)
|
||||
ИзменениеЗначенияВФорме();
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// КОМАНДЫ
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаписатьГраницу(Команда)
|
||||
ВыгрузитьГраницуСервер();
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
// Передача табличной части "Запросы", "Параметры" в виде структуры.
|
||||
//
|
||||
&НаСервере
|
||||
Функция ПередачаЗапросов()
|
||||
АдресХранилища = ОбъектОбработки().ПоместитьЗапросыВоВременноеХранилище(Объект, ИдентификаторТекущегоЗапроса,ИдентификаторТекущегоПараметра);
|
||||
ПараметрАдрес = Новый Структура;
|
||||
ПараметрАдрес.Вставить("АдресХранилища", АдресХранилища);
|
||||
Возврат ПараметрАдрес;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ПолучениеМоментаВремени(СтруктураПередачи)
|
||||
Значение = СтруктураПередачи.ВнутрМоментВремени;
|
||||
ЗначениеВФорме = СтруктураПередачи.ПредставлениеМоментаВремени;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыгрузитьГраницуСервер()
|
||||
ПараметрыПередачи = ПоместитьЗапросыВСтруктуру(ИдентификаторТекущегоЗапроса, ИдентификаторТекущегоПараметра);
|
||||
Закрыть();
|
||||
Владелец = ЭтотОбъект.ВладелецФормы;
|
||||
Владелец.Модифицированность = Истина;
|
||||
Владелец.ВыгрузитьЗапросыВРеквизиты(ПараметрыПередачи);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ВнутрЗначениеОбъектаГраницы()
|
||||
ВидГран = ОбъектОбработки().ОпределениеВидаГраницы(ВидГраницыФормы);
|
||||
ГраницаФормы = Новый Граница(ЗначениеИзСтрокиВнутр(Значение),ВидГран);
|
||||
|
||||
Возврат ЗначениеВСтрокуВнутр(ГраницаФормы);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПоместитьЗапросыВСтруктуру(ИдентификаторЗапроса, ИдентификаторПараметра)
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
|
||||
ПредставлениеГраницы = СформироватьГраницу();
|
||||
|
||||
Для каждого Стр Из ПараметрыФормы Цикл
|
||||
Если Стр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Стр.Тип = "Граница";
|
||||
Стр.Значение = ВнутрЗначениеОбъектаГраницы();
|
||||
Стр.ТипВФорме = НСтр("ru ='Граница'");
|
||||
Стр.ЗначениеВФорме = ПредставлениеГраницы;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ПараметрыПередачи = Новый Структура;
|
||||
ПараметрыПередачи.Вставить("АдресХранилища", ОбъектОбработки().ПоместитьЗапросыВоВременноеХранилище(Объект,ИдентификаторЗапроса,ИдентификаторПараметра));
|
||||
Возврат ПараметрыПередачи;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьЗначения()
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
Для каждого ТекущийПараметр Из ПараметрыФормы Цикл
|
||||
Если ТекущийПараметр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Значение = ТекущийПараметр.Значение;
|
||||
Если ПустаяСтрока(Значение) Тогда
|
||||
Возврат;
|
||||
Иначе
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Граница = ЗначениеИзСтрокиВнутр(Значение);
|
||||
Если ТипЗнч(Граница) <> Тип("Граница") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеЗагруженное = Граница.Значение;
|
||||
ТипЗ = ОбъектОбработки().ИмяТипаИзЗначения(ЗначениеЗагруженное);
|
||||
Тип = СписокТипов.НайтиПоЗначению(ТипЗ).Представление;
|
||||
Если Тип <> НСтр("ru = 'Момент времени'") Тогда
|
||||
ЗначениеВФорме = ЗначениеЗагруженное;
|
||||
Иначе
|
||||
ЗначениеВФорме = ОбъектОбработки().ФормированиеПредставленияЗначения(ЗначениеЗагруженное);
|
||||
КонецЕсли;
|
||||
Значение = ЗначениеВСтрокуВнутр(ЗначениеЗагруженное);
|
||||
|
||||
Если Граница.ВидГраницы = ВидГраницы.Включая Тогда
|
||||
ВидГраницыФормы = элементы.ВидГраницы.СписокВыбора.Получить(0).Значение;
|
||||
Иначе
|
||||
ВидГраницыФормы = элементы.ВидГраницы.СписокВыбора.Получить(1).Значение;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция СформироватьГраницу()
|
||||
ВидГран = ОбъектОбработки().ОпределениеВидаГраницы(ВидГраницыФормы);
|
||||
ГраницаФормы = Новый Граница(ЗначениеИзСтрокиВнутр(Значение),ВидГран);
|
||||
|
||||
Представление = ОбъектОбработки().ФормированиеПредставленияЗначения(ГраницаФормы);
|
||||
|
||||
Возврат Представление;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ИзменениеЗначенияВФорме()
|
||||
Значение = ЗначениеВСтрокуВнутр(ЗначениеВФорме);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="6fe2bc87-d94d-4254-980d-0be690196d98">
|
||||
<Properties>
|
||||
<Name>МоментВремени</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Момент времени</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Момент времени</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаЗаписатьИЗакрыть" id="5">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ЗаписатьИЗакрыть</CommandName>
|
||||
<ExtendedTooltip name="ФормаЗаписатьИЗакрытьExtendedTooltip" id="6"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="Ссылка" id="3">
|
||||
<DataPath>Ссылка</DataPath>
|
||||
<ContextMenu name="СсылкаКонтекстноеМеню" id="4"/>
|
||||
<ExtendedTooltip name="СсылкаExtendedTooltip" id="7"/>
|
||||
</InputField>
|
||||
<InputField name="Дата" id="1">
|
||||
<DataPath>Дата</DataPath>
|
||||
<ContextMenu name="ДатаКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ДатаExtendedTooltip" id="8"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="Ссылка" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Ссылка</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Дата" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Дата</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>DateTime</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоЗапроса" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоПараметра" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего параметра</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИмяФайла" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя файла</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ЗаписатьИЗакрыть" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать и закрыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать и закрыть</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ЗаписатьИЗакрыть</Action>
|
||||
<Representation>Text</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,118 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбработкаОбъект = ОбъектОбработки();
|
||||
Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма";
|
||||
|
||||
// Считывание параметров передачи.
|
||||
ПараметрыПередачи = ПолучитьИзВременногоХранилища(Параметры.АдресХранилища);
|
||||
Объект.Запросы.Загрузить(ПараметрыПередачи.Запросы);
|
||||
Объект.Параметры.Загрузить(ПараметрыПередачи.Параметры);
|
||||
Объект.ИмяФайла = ПараметрыПередачи.ИмяФайла;
|
||||
ИдентификаторТекущегоЗапроса = ПараметрыПередачи.ИдентификаторТекущегоЗапроса;
|
||||
ИдентификаторТекущегоПараметра = ПараметрыПередачи.ИдентификаторТекущегоПараметра;
|
||||
|
||||
Попытка // Если форма открывается не из главной формы.
|
||||
МоментВремени = ЗначениеИзСтрокиВнутр(Параметры.Значение);
|
||||
Дата = МоментВремени.Дата;
|
||||
Ссылка = МоментВремени.Ссылка;
|
||||
Исключение
|
||||
ЗаполнитьЗначения();
|
||||
КонецПопытки;
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// КОМАНДЫ
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаписатьИЗакрыть(Команда)
|
||||
ВыгрузитьМоментВремениСервер();
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыгрузитьМоментВремениСервер()
|
||||
Владелец = ЭтотОбъект.ВладелецФормы;
|
||||
ИмяФормыВладельца = Владелец.ИмяФормы;
|
||||
ИмяОсновнойФормы = Объект.ПутьКФормам + ".Форма";
|
||||
|
||||
Если ИмяФормыВладельца = ИмяОсновнойФормы Тогда
|
||||
ПараметрыПередачи = ПоместитьЗапросыВСтруктуру(ИдентификаторТекущегоЗапроса, ИдентификаторТекущегоПараметра);
|
||||
Закрыть();
|
||||
Владелец.Модифицированность = Истина;
|
||||
Оповестить("ВыгрузитьЗапросыВРеквизиты", ПараметрыПередачи);
|
||||
Иначе
|
||||
ПредставлениеМоментаВремени = "";
|
||||
ВнутрМоментВремени = ВнутрЗначениеОбъектаМВ(ПредставлениеМоментаВремени);
|
||||
Закрыть();
|
||||
ПараметрыПередачи = Новый Структура("ВнутрМоментВремени, ПредставлениеМоментаВремени",
|
||||
ВнутрМоментВремени, ПредставлениеМоментаВремени);
|
||||
Оповестить("ПолучениеМоментаВремени", ПараметрыПередачи);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПоместитьЗапросыВСтруктуру(ИдентификаторЗапроса, ИдентификаторПараметра)
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
|
||||
ПредставлениеМоментаВремени = "";
|
||||
Для каждого Стр Из ПараметрыФормы Цикл
|
||||
Если Стр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Стр.Тип = "МоментВремени";
|
||||
Стр.Значение = ВнутрЗначениеОбъектаМВ(ПредставлениеМоментаВремени);
|
||||
Стр.ТипВФорме = НСтр("ru = 'Момент времени'");
|
||||
Стр.ЗначениеВФорме = ПредставлениеМоментаВремени;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ПараметрыПередачи = Новый Структура;
|
||||
ПараметрыПередачи.Вставить("АдресХранилища", ОбъектОбработки().ПоместитьЗапросыВоВременноеХранилище(Объект,ИдентификаторЗапроса,ИдентификаторПараметра));
|
||||
Возврат ПараметрыПередачи;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ВнутрЗначениеОбъектаМВ(Представление)
|
||||
МоментВремени = Новый МоментВремени(Дата, Ссылка);
|
||||
Представление = ОбъектОбработки().ФормированиеПредставленияЗначения(МоментВремени);
|
||||
|
||||
Возврат ЗначениеВСтрокуВнутр(МоментВремени);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьЗначения()
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
Для каждого ТекущийПараметр Из ПараметрыФормы Цикл
|
||||
Если ТекущийПараметр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Значение = ТекущийПараметр.Значение;
|
||||
Если ПустаяСтрока(Значение) Тогда
|
||||
Возврат;
|
||||
Иначе
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
МоментВремени = ЗначениеИзСтрокиВнутр(Значение);
|
||||
Если ТипЗнч(МоментВремени) <> Тип("МоментВремени") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Дата = МоментВремени.Дата;
|
||||
Ссылка = МоментВремени.Ссылка;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="b8a520d4-c823-477e-ba92-708656e9c9c6">
|
||||
<Properties>
|
||||
<Name>Настройки</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Настройки</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Настройки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<Autofill>false</Autofill>
|
||||
<ChildItems>
|
||||
<Button name="Записать" id="5">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.Записать</CommandName>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать и закрыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ExtendedTooltip name="ЗаписатьExtendedTooltip" id="15"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<UsualGroup name="Автосохранение" id="10">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Автосохранение</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Автосохранение</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Group>Horizontal</Group>
|
||||
<Representation>None</Representation>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="АвтосохранениеExtendedTooltip" id="16"/>
|
||||
<ChildItems>
|
||||
<CheckBoxField name="ИспользоватьАвтосохранение" id="1">
|
||||
<DataPath>Объект.ИспользоватьАвтосохранение</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Автоматически сохранять каждые (мин.):</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<TitleLocation>Right</TitleLocation>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ИспользоватьАвтосохранениеКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ИспользоватьАвтосохранениеExtendedTooltip" id="17"/>
|
||||
</CheckBoxField>
|
||||
<InputField name="ПериодАвтосохранения" id="3">
|
||||
<DataPath>Объект.ПериодАвтосохранения</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Период автосохранения (с)</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<Width>4</Width>
|
||||
<SpinButton>true</SpinButton>
|
||||
<ContextMenu name="ПериодАвтосохраненияКонтекстноеМеню" id="4"/>
|
||||
<ExtendedTooltip name="ПериодАвтосохраненияExtendedTooltip" id="18"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</UsualGroup>
|
||||
<CheckBoxField name="ВыводитьВРезультатахЗапросаЗначенияСсылок" id="8">
|
||||
<DataPath>Объект.ВыводитьВРезультатахЗапросаЗначенияСсылок</DataPath>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Выводить в результатах запроса значения ссылок</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<TitleLocation>Right</TitleLocation>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ВыводитьВРезультатахЗапросаЗначенияСсылокКонтекстноеМеню" id="9"/>
|
||||
<ExtendedTooltip name="ВыводитьВРезультатахЗапросаЗначенияСсылокExtendedTooltip" id="19"/>
|
||||
</CheckBoxField>
|
||||
<CheckBoxField name="ЧередованиеЦветовВРезультатеЗапроса" id="13">
|
||||
<DataPath>Объект.ЧередованиеЦветовВРезультатеЗапроса</DataPath>
|
||||
<TitleLocation>Right</TitleLocation>
|
||||
<CheckBoxType>Auto</CheckBoxType>
|
||||
<ContextMenu name="ЧередованиеЦветовВРезультатеЗапросаКонтекстноеМеню" id="14"/>
|
||||
<ExtendedTooltip name="ЧередованиеЦветовВРезультатеЗапросаExtendedTooltip" id="20"/>
|
||||
</CheckBoxField>
|
||||
<InputField name="ТипОбхода" id="11">
|
||||
<DataPath>Объект.ТипОбхода</DataPath>
|
||||
<ContextMenu name="ТипОбходаКонтекстноеМеню" id="12"/>
|
||||
<ExtendedTooltip name="ТипОбходаExtendedTooltip" id="21"/>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="Записать" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>Записать</Action>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,53 @@
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПередачи = ПолучитьИзВременногоХранилища(Параметры.АдресХранилища);
|
||||
Объект.ИспользоватьАвтосохранение = ПараметрыПередачи.ИспользоватьАвтосохранение;
|
||||
Объект.ПериодАвтосохранения = ПараметрыПередачи.ПериодАвтосохранения;
|
||||
Объект.ВыводитьВРезультатахЗапросаЗначенияСсылок = ПараметрыПередачи.ВыводитьВРезультатахЗапросаЗначенияСсылок;
|
||||
Объект.ТипОбхода = ПараметрыПередачи.ТипОбхода;
|
||||
Объект.ЧередованиеЦветовВРезультатеЗапроса = ПараметрыПередачи.ЧередованиеЦветовВРезультатеЗапроса;
|
||||
|
||||
Элементы.ТипОбхода.СписокВыбора.Добавить("Авто");
|
||||
Элементы.ТипОбхода.СписокВыбора.Добавить("Прямой");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Записать(Команда)
|
||||
ПараметрыПередачи = ПоместитьНастройкиВСтруктуру();
|
||||
|
||||
// Передача в открывающую форму.
|
||||
Закрыть();
|
||||
Владелец = ЭтотОбъект.ВладелецФормы;
|
||||
|
||||
Оповестить("ПередатьПараметрыНастроек" , ПараметрыПередачи);
|
||||
Оповестить("ПередатьПараметрыНастроекАвтоСохранения");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПоместитьНастройкиВСтруктуру()
|
||||
ПараметрыПередачи = Новый Структура;
|
||||
ПараметрыПередачи.Вставить("АдресХранилища", ОбъектОбработки().ПоместитьНастройкиВоВременноеХранилище(Объект));
|
||||
Возврат ПараметрыПередачи;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="1b4b9089-8db7-4b59-be6b-c1e4b997a5c7">
|
||||
<Properties>
|
||||
<Name>ПланВыполненияЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>План выполнения запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,246 @@
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Параметры.МеткаЗапроса) Тогда
|
||||
Отказ = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МеткаЗапроса = Параметры.МеткаЗапроса;
|
||||
|
||||
ЭтотОбъект.Заголовок = НСтр("ru = 'План выполнения запроса ('") + Параметры.ИмяЗапроса + ")";
|
||||
|
||||
ПолноеИмяФайлаЖурнала = ФайлТехнологическийЖурнал(Параметры.ИдентификаторПроцессаОС, Параметры.КаталогСЛогФайлами);
|
||||
Если НЕ ДанныеИзТехнологическогоЖурналаПрочитаны(ПолноеИмяФайлаЖурнала) Тогда
|
||||
Элементы.ГруппаПланВыполненияЗапроса.ТекущаяСтраница = Элементы.ГруппаПолучениеПланаВыполненияЗапроса;
|
||||
ТребуетсяПрочитатьЖурналИмя = ПолноеИмяФайлаЖурнала;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТипПоказаЗапросаПриИзменении(Элемент)
|
||||
|
||||
Если ВидОтображенияДанных = 0 Тогда
|
||||
Если ТипСУБД = "DBMSSQL" Тогда
|
||||
Элементы.ДеревоОператорМетаданные.Видимость=Истина;
|
||||
Элементы.ДеревоОператор.Видимость=Ложь;
|
||||
Иначе
|
||||
ПланВыполненияЗапросаТекст = ПланВыполненияЗапросаВМетаданных;
|
||||
КонецЕсли;
|
||||
СформированныйСКЛТекстЗапроса = ТекстЗапросаВВидеМетаданных;
|
||||
Иначе
|
||||
Если ТипСУБД = "DBMSSQL" Тогда
|
||||
Элементы.ДеревоОператорМетаданные.Видимость=Ложь;
|
||||
Элементы.ДеревоОператор.Видимость=Истина;
|
||||
Иначе
|
||||
ПланВыполненияЗапросаТекст = ПланВыполненияЗапросаИзТехЖурнала;
|
||||
КонецЕсли;
|
||||
|
||||
СформированныйСКЛТекстЗапроса = ТекстЗапросаВСКЛ;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыПланВыполненияЗапросаSQLServer
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДеревоПриАктивизацииСтроки(Элемент)
|
||||
Если ТипСУБД = "DBMSSQL" Тогда
|
||||
Если ВидОтображенияДанных = 0 Тогда
|
||||
ОписаниеОператора = Элемент.ТекущиеДанные.ОператорМетаданные;
|
||||
Иначе
|
||||
ОписаниеОператора = Элемент.ТекущиеДанные.Оператор;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ФайлТехнологическийЖурнал(ИдентификаторПроцессаОС, КаталогСЛогФайлами)
|
||||
|
||||
ОжидаемоеИмяФайла = ИмяФайлТехнологическийЖурнал(ТекущаяДатаСеанса());
|
||||
|
||||
ПолноеИмяФайлаЖурнала = НайтиФайлТехнологическийЖурнал(ОжидаемоеИмяФайла, ИдентификаторПроцессаОС, КаталогСЛогФайлами);
|
||||
Если ЗначениеЗаполнено(ПолноеИмяФайлаЖурнала) Тогда
|
||||
Возврат ПолноеИмяФайлаЖурнала;
|
||||
Иначе
|
||||
ОжидаемоеИмяФайла = ИмяФайлТехнологическийЖурнал(ТекущаяДатаСеанса() - 3600);
|
||||
ПолноеИмяФайлаЖурнала = НайтиФайлТехнологическийЖурнал(ОжидаемоеИмяФайла, ИдентификаторПроцессаОС, КаталогСЛогФайлами);
|
||||
Если ЗначениеЗаполнено(ПолноеИмяФайлаЖурнала) Тогда
|
||||
Возврат ПолноеИмяФайлаЖурнала;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ИмяФайлТехнологическийЖурнал(ДатаФайла)
|
||||
ОжидаемоеИмяФайла = Формат(ДатаФайла, "ДФ=yyMMddHH")+ ".log";
|
||||
Возврат ОжидаемоеИмяФайла;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция НайтиФайлТехнологическийЖурнал(ИмяФайла, ИдентификаторПроцессаОС, КаталогСЛогФайлами)
|
||||
|
||||
СписокФайлов = НайтиФайлы(КаталогСЛогФайлами, "*.log", Истина);
|
||||
Для каждого Файл Из СписокФайлов Цикл
|
||||
Если Найти(Файл.Путь, "_" + ИдентификаторПроцессаОС) > 0 Тогда
|
||||
Если Файл.Имя = ИмяФайла Тогда
|
||||
Возврат Файл.ПолноеИмя;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ДанныеИзТехнологическогоЖурналаПрочитаны(ПолноеИмяФайлаЖурнала)
|
||||
|
||||
ПрочитанныеДанные = Новый Структура("ТипСУБД, СКЛЗапрос, ПланВыполненияЗапроса");
|
||||
ОбъектОбработки().ПрочитатьТехнологическийЖурнал(ПолноеИмяФайлаЖурнала, МеткаЗапроса, ПрочитанныеДанные);
|
||||
|
||||
ТипСУБД = ПрочитанныеДанные.ТипСУБД;
|
||||
ТекстЗапросаВСКЛ = ПрочитанныеДанные.СКЛЗапрос;
|
||||
ПланВыполненияЗапросаИзТехЖурнала = ПрочитанныеДанные.ПланВыполненияЗапроса;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ТипСУБД) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ВВидеМетаданных = ОбъектОбработки().ПреобразоватьВМетаданные(ТекстЗапросаВСКЛ, ПланВыполненияЗапросаИзТехЖурнала, ТипСУБД);
|
||||
|
||||
ТекстЗапросаВВидеМетаданных = ВВидеМетаданных.ТекстЗапросаВВидеМетаданных;
|
||||
ПланВыполненияЗапросаВМетаданных = ВВидеМетаданных.ПланВыполненияЗапросаВМетаданных;
|
||||
|
||||
СформированныйСКЛТекстЗапроса = ВВидеМетаданных.ТекстЗапросаВВидеМетаданных;
|
||||
ПланВыполненияЗапросаТекст = ВВидеМетаданных.ПланВыполненияЗапросаВМетаданных;
|
||||
|
||||
Если ТипСУБД = "DBMSSQL" Тогда
|
||||
СуммарнаяСтоимостьОбщая = 0;
|
||||
Элементы.ГруппаПланВыполненияЗапроса.ТекущаяСтраница = Элементы.ГруппаПланВыполненияЗапросаSQLСервер;
|
||||
ДеревоПланаЗапроса = РеквизитФормыВЗначение("ДеревоПланаВыполненияЗапроса");
|
||||
ОбъектОбработки().ПолучитьДеревоПланаВыполненияЗапроса(ПланВыполненияЗапросаИзТехЖурнала, ПланВыполненияЗапросаВМетаданных, ДеревоПланаЗапроса, СуммарнаяСтоимостьОбщая);
|
||||
ЗначениеВРеквизитФормы(ДеревоПланаЗапроса, "ДеревоПланаВыполненияЗапроса");
|
||||
СуммарнаяСтоимостьЗапроса = СуммарнаяСтоимостьОбщая;
|
||||
Элементы.ГруппаИнформацияОСтоимостиЗапроса.Видимость = Истина;
|
||||
Элементы.ПоказыватьПланВыполненияЗапросаВВиде.Видимость = Истина;
|
||||
Максимум = НайтиМаксимальныйПоказательСтоимости(ДеревоПланаЗапроса.Строки);
|
||||
УстановитьОформлениеДанныхВКолонкеСтоимость(Максимум);
|
||||
Иначе
|
||||
Элементы.ГруппаИнформацияОСтоимостиЗапроса.Видимость = Ложь;
|
||||
Элементы.ГруппаПланВыполненияЗапроса.ТекущаяСтраница = Элементы.ГруппаПланВыполненияЗапросаТекстовоеПредставление;
|
||||
Элементы.ПоказыватьПланВыполненияЗапросаВВиде.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьОформлениеДанныхВКолонкеСтоимость(Максимум)
|
||||
|
||||
УсловноеОформление.Элементы.Очистить();
|
||||
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
|
||||
|
||||
ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
|
||||
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ДеревоСтоимость");
|
||||
ПолеОформления.Использование = Истина;
|
||||
|
||||
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоПланаВыполненияЗапроса.Стоимость");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Максимум;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(, , Истина));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаСервере
|
||||
Функция НайтиМаксимальныйПоказательСтоимости(СтрокиДерева, Максимум = 0)
|
||||
|
||||
|
||||
Для каждого Строка Из СтрокиДерева Цикл
|
||||
Если Строка.Строки.Количество() > 0 Тогда
|
||||
Максимум = НайтиМаксимальныйПоказательСтоимости(Строка.Строки, Максимум);
|
||||
КонецЕсли;
|
||||
Если Строка.Стоимость > Максимум Тогда
|
||||
Максимум = Строка.Стоимость;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Максимум;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
Если ЗначениеЗаполнено(ТребуетсяПрочитатьЖурналИмя) Тогда
|
||||
ПодключитьОбработчикОжидания("ПрочитатьДанныеИзТехнологическогоЖурналаОбработчик", 2);
|
||||
Элементы.ГруппаПолучениеПланаВыполненияЗапроса.Видимость = Истина;
|
||||
КоличествоПопыток = 0;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПрочитатьДанныеИзТехнологическогоЖурналаОбработчик()
|
||||
|
||||
Если ДанныеИзТехнологическогоЖурналаПрочитаны(ТребуетсяПрочитатьЖурналИмя) Тогда
|
||||
ОтключитьОбработчикОжидания("ПрочитатьДанныеИзТехнологическогоЖурналаОбработчик");
|
||||
ТребуетсяПрочитатьЖурналИмя = Неопределено;
|
||||
Элементы.ГруппаПолучениеПланаВыполненияЗапроса.Видимость = Ложь;
|
||||
Иначе
|
||||
Если КоличествоПопыток < 5 Тогда
|
||||
КоличествоПопыток = КоличествоПопыток + 1;
|
||||
Иначе
|
||||
ОтключитьОбработчикОжидания("ПрочитатьДанныеИзТехнологическогоЖурналаОбработчик");
|
||||
ТребуетсяПрочитатьЖурналИмя = Неопределено;
|
||||
Элементы.ГруппаПолучениеПланаВыполненияЗапроса.Видимость = Ложь;
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Ошибка получения плана выполнения запроса'"));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказыватьПланВыполненияЗапросаВВидеПриИзменении(Элемент)
|
||||
|
||||
Если ПоказыватьПланВыполненияЗапросаВВиде = 0 Тогда
|
||||
Элементы.ГруппаПланВыполненияЗапроса.ТекущаяСтраница = Элементы.ГруппаПланВыполненияЗапросаSQLСервер;
|
||||
Иначе
|
||||
Элементы.ГруппаПланВыполненияЗапроса.ТекущаяСтраница = Элементы.ГруппаПланВыполненияЗапросаТекстовоеПредставление;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="2631699b-6892-4580-aa17-dfdcfb594e38">
|
||||
<Properties>
|
||||
<Name>РезультатЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Результат запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Результат запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаЗакрыть" id="3">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ЗакрытьФорму</CommandName>
|
||||
<ExtendedTooltip name="ФормаЗакрытьExtendedTooltip" id="4"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<SpreadSheetDocumentField name="Результат" id="1">
|
||||
<DataPath>Результат</DataPath>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<VerticalScrollBar>true</VerticalScrollBar>
|
||||
<HorizontalScrollBar>true</HorizontalScrollBar>
|
||||
<Edit>true</Edit>
|
||||
<ContextMenu name="РезультатКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="РезультатExtendedTooltip" id="5"/>
|
||||
</SpreadSheetDocumentField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="Результат" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Результат</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type xmlns:mxl="http://v8.1c.ru/8.2/data/spreadsheet">mxl:SpreadsheetDocument</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ЗакрытьФорму" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Закрыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Закрыть форму</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ЗакрытьФорму</Action>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,19 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Параметры.РезультатЗапроса;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗакрытьФорму(Команда)
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="dc68ed1e-6fc1-41f6-afcd-ce639b389335">
|
||||
<Properties>
|
||||
<Name>ТаблицаЗначений</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Таблица значений</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Таблица значений</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="НастройкиТаблицыЗначенийВыгрузитьТаблицуЗначений" id="17">
|
||||
<Type>CommandBarButton</Type>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.Command.ВыгрузитьТаблицуЗначений</CommandName>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийВыгрузитьТаблицуЗначенийРасширеннаяПодсказка" id="24"/>
|
||||
</Button>
|
||||
<ButtonGroup name="ФормаГруппаКнопок" id="8">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма группа кнопок</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма группа кнопок</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<ExtendedTooltip name="ФормаГруппаКнопокРасширеннаяПодсказка" id="25"/>
|
||||
<ChildItems>
|
||||
<Button name="ФормаДобавить" id="18">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.Add</CommandName>
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Добавить колонку</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ExtendedTooltip name="ФормаДобавитьExtendedTooltip" id="26"/>
|
||||
</Button>
|
||||
<Button name="ФормаСкопировать" id="19">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.Copy</CommandName>
|
||||
<ExtendedTooltip name="ФормаСкопироватьExtendedTooltip" id="27"/>
|
||||
</Button>
|
||||
<Button name="ФормаИзменить" id="20">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.Change</CommandName>
|
||||
<ExtendedTooltip name="ФормаИзменитьExtendedTooltip" id="28"/>
|
||||
</Button>
|
||||
<Button name="ФормаУдалить" id="21">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.Delete</CommandName>
|
||||
<ExtendedTooltip name="ФормаУдалитьExtendedTooltip" id="29"/>
|
||||
</Button>
|
||||
<Button name="ФормаСортироватьСписокПоВозрастанию" id="22">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.SortListAsc</CommandName>
|
||||
<ExtendedTooltip name="ФормаСортироватьСписокПоВозрастаниюExtendedTooltip" id="30"/>
|
||||
</Button>
|
||||
<Button name="ФормаСортироватьСписокПоУбыванию" id="23">
|
||||
<Type>CommandBarButton</Type>
|
||||
<CommandName>Form.Item.НастройкиТаблицыЗначений.StandardCommand.SortListDesc</CommandName>
|
||||
<ExtendedTooltip name="ФормаСортироватьСписокПоУбываниюExtendedTooltip" id="31"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</ButtonGroup>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<Table name="НастройкиТаблицыЗначений" id="1">
|
||||
<Representation>List</Representation>
|
||||
<UseAlternationRowColor>true</UseAlternationRowColor>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<FileDragMode>AsFile</FileDragMode>
|
||||
<DataPath>НастройкиТаблицыЗначений</DataPath>
|
||||
<SearchStringLocation>None</SearchStringLocation>
|
||||
<ViewStatusLocation>None</ViewStatusLocation>
|
||||
<SearchControlLocation>None</SearchControlLocation>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийКонтекстноеМеню" id="2"/>
|
||||
<AutoCommandBar name="НастройкиТаблицыЗначенийКоманднаяПанель" id="3">
|
||||
<Autofill>false</Autofill>
|
||||
</AutoCommandBar>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийРасширеннаяПодсказка" id="32"/>
|
||||
<SearchStringAddition name="НастройкиТаблицыЗначенийСтрокаПоиска" id="36">
|
||||
<AdditionSource>
|
||||
<Item>НастройкиТаблицыЗначений</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийСтрокаПоискаКонтекстноеМеню" id="37"/>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийСтрокаПоискаРасширеннаяПодсказка" id="38"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="НастройкиТаблицыЗначенийСостояниеПросмотра" id="39">
|
||||
<AdditionSource>
|
||||
<Item>НастройкиТаблицыЗначений</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийСостояниеПросмотраКонтекстноеМеню" id="40"/>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийСостояниеПросмотраРасширеннаяПодсказка" id="41"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="НастройкиТаблицыЗначенийУправлениеПоиском" id="42">
|
||||
<AdditionSource>
|
||||
<Item>НастройкиТаблицыЗначений</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийУправлениеПоискомКонтекстноеМеню" id="43"/>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийУправлениеПоискомРасширеннаяПодсказка" id="44"/>
|
||||
</SearchControlAddition>
|
||||
<Events>
|
||||
<Event name="BeforeAddRow">НастройкиТаблицыЗначенийПередНачаломДобавления</Event>
|
||||
<Event name="BeforeDeleteRow">НастройкиТаблицыЗначенийПередУдалением</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="НастройкиТаблицыЗначенийНаименованиеКолонки" id="4">
|
||||
<DataPath>НастройкиТаблицыЗначений.НаименованиеКолонки</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийНаименованиеКолонкиКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийНаименованиеКолонкиРасширеннаяПодсказка" id="33"/>
|
||||
<Events>
|
||||
<Event name="TextEditEnd">НастройкитаблицыЗначенийНаименованиеКолонкиОкончаниеВводаТекста</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
<InputField name="НастройкиТаблицыЗначенийТипКолонки" id="6">
|
||||
<DataPath>НастройкиТаблицыЗначений.ТипКолонки</DataPath>
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<ContextMenu name="НастройкиТаблицыЗначенийТипКолонкиКонтекстноеМеню" id="7"/>
|
||||
<ExtendedTooltip name="НастройкиТаблицыЗначенийТипКолонкиРасширеннаяПодсказка" id="34"/>
|
||||
<Events>
|
||||
<Event name="OnChange">НастройкитаблицыЗначенийТипКолонкиПриИзменении</Event>
|
||||
</Events>
|
||||
</InputField>
|
||||
</ChildItems>
|
||||
</Table>
|
||||
<Table name="ТаблицаЗначенийПараметр" id="13">
|
||||
<Representation>List</Representation>
|
||||
<UseAlternationRowColor>true</UseAlternationRowColor>
|
||||
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||
<EnableStartDrag>true</EnableStartDrag>
|
||||
<EnableDrag>true</EnableDrag>
|
||||
<FileDragMode>AsFile</FileDragMode>
|
||||
<DataPath>ТаблицаЗначенийПараметр</DataPath>
|
||||
<SearchStringLocation>None</SearchStringLocation>
|
||||
<ViewStatusLocation>None</ViewStatusLocation>
|
||||
<SearchControlLocation>None</SearchControlLocation>
|
||||
<RowFilter xsi:nil="true"/>
|
||||
<ContextMenu name="ТаблицаЗначенийПараметрКонтекстноеМеню" id="14"/>
|
||||
<AutoCommandBar name="ТаблицаЗначенийПараметрКоманднаяПанель" id="15"/>
|
||||
<ExtendedTooltip name="ТаблицаЗначенийПараметрExtendedTooltip" id="35"/>
|
||||
<SearchStringAddition name="ТаблицаЗначенийПараметрСтрокаПоиска" id="45">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаЗначенийПараметр</Item>
|
||||
<Type>SearchStringRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаЗначенийПараметрСтрокаПоискаКонтекстноеМеню" id="46"/>
|
||||
<ExtendedTooltip name="ТаблицаЗначенийПараметрСтрокаПоискаРасширеннаяПодсказка" id="47"/>
|
||||
</SearchStringAddition>
|
||||
<ViewStatusAddition name="ТаблицаЗначенийПараметрСостояниеПросмотра" id="48">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаЗначенийПараметр</Item>
|
||||
<Type>ViewStatusRepresentation</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаЗначенийПараметрСостояниеПросмотраКонтекстноеМеню" id="49"/>
|
||||
<ExtendedTooltip name="ТаблицаЗначенийПараметрСостояниеПросмотраРасширеннаяПодсказка" id="50"/>
|
||||
</ViewStatusAddition>
|
||||
<SearchControlAddition name="ТаблицаЗначенийПараметрУправлениеПоиском" id="51">
|
||||
<AdditionSource>
|
||||
<Item>ТаблицаЗначенийПараметр</Item>
|
||||
<Type>SearchControl</Type>
|
||||
</AdditionSource>
|
||||
<ContextMenu name="ТаблицаЗначенийПараметрУправлениеПоискомКонтекстноеМеню" id="52"/>
|
||||
<ExtendedTooltip name="ТаблицаЗначенийПараметрУправлениеПоискомРасширеннаяПодсказка" id="53"/>
|
||||
</SearchControlAddition>
|
||||
</Table>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="НастройкиТаблицыЗначений" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Настройки таблицы значений</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
<Columns>
|
||||
<Column name="НаименованиеКолонки" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Наименование колонки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Column>
|
||||
<Column name="ТипКолонки" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Тип колонки</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:TypeDescription</v8:Type>
|
||||
</Type>
|
||||
</Column>
|
||||
</Columns>
|
||||
</Attribute>
|
||||
<Attribute name="ТаблицаЗначенийПараметр" id="3">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Таблица значений параметр</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueTable</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоПараметра" id="4">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего параметра</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИдентификаторТекущегоЗапроса" id="5">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Идентификатор текущего запроса</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:UUID</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИмяФайла" id="6">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя файла</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="ИмяРодителя" id="7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Имя родителя</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="СписокТипов" id="8">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Список типов</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ВыгрузитьТаблицуЗначений" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать и закрыть</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Записать таблицу значений в параметр</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ВыгрузитьТаблицуЗначений</Action>
|
||||
<Representation>Text</Representation>
|
||||
<CurrentRowUse>DontUse</CurrentRowUse>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
@ -0,0 +1,490 @@
|
||||
&НаКлиенте
|
||||
Перем ИмяКолонкиПоУмолчанию;
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Считывание параметров передачи.
|
||||
ПараметрыПередачи = ПолучитьИзВременногоХранилища(Параметры.АдресХранилища);
|
||||
Объект.Запросы.Загрузить(ПараметрыПередачи.Запросы);
|
||||
Объект.Параметры.Загрузить(ПараметрыПередачи.Параметры);
|
||||
Объект.ИмяФайла = ПараметрыПередачи.ИмяФайла;
|
||||
ИдентификаторТекущегоЗапроса = ПараметрыПередачи.ИдентификаторТекущегоЗапроса;
|
||||
ИдентификаторТекущегоПараметра = ПараметрыПередачи.ИдентификаторТекущегоПараметра;
|
||||
|
||||
Объект.ДоступныеТипыДанных = ОбъектОбработки().Метаданные().Реквизиты.ДоступныеТипыДанных.Тип;
|
||||
ОбъектОбработки().СформироватьСписокТипов(СписокТипов);
|
||||
|
||||
ЗаполнитьТаблицыПриОткрытии();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиТаблицыЗначенийТипКолонкиПриИзменении(Элемент)
|
||||
// Определение наименования колонки.
|
||||
ПервыйТип = "";
|
||||
|
||||
ТекущаяКолонка = Элементы.НастройкиТаблицыЗначений.ТекущиеДанные;
|
||||
ТипКолонки = ТекущаяКолонка.ТипКолонки;
|
||||
СтароеИмяКолонки= ТекущаяКолонка.НаименованиеКолонки;
|
||||
|
||||
ДоступныеТипы = ТекущаяКолонка.ТипКолонки.Типы();
|
||||
Количество = ДоступныеТипы.Количество();
|
||||
Если Количество > 0 Тогда
|
||||
Флаг = Ложь;
|
||||
Для каждого ЭлементСписка Из СписокТипов Цикл
|
||||
Если ЭлементСписка.Представление = Строка(ДоступныеТипы.Получить(0)) Тогда
|
||||
Флаг = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если Флаг Тогда
|
||||
ПервыйТип = Строка(ДоступныеТипы.Получить(0)); // для примитивных типов.
|
||||
Иначе
|
||||
ПервыйТип = Новый(ДоступныеТипы.Получить(0));
|
||||
ПервыйТип = ИмяТипаПоЗначению(ПервыйТип);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторСтроки = ТекущаяКолонка.ПолучитьИдентификатор();
|
||||
Если Найти(ВРег(СтароеИмяКолонки), ВРег(ИмяКолонкиПоУмолчанию)) <> 0 Тогда
|
||||
НовоеИмяКолонки = СформироватьИмяКолонки(ПервыйТип, ИдентификаторСтроки);
|
||||
Иначе
|
||||
НовоеИмяКолонки = СтароеИмяКолонки;
|
||||
КонецЕсли;
|
||||
ТекущаяКолонка.НаименованиеКолонки = НовоеИмяКолонки;
|
||||
|
||||
ТекущаяСтрока = Элементы.НастройкиТаблицыЗначений.ТекущаяСтрока;
|
||||
|
||||
ИнициализацияКолонкиВТЗКлиент(СтароеИмяКолонки, НовоеИмяКолонки, ТипКолонки);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиТаблицыЗначенийПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
|
||||
Отказ = Истина;
|
||||
|
||||
ИдентификаторСтроки = Новый УникальныйИдентификатор;
|
||||
ИмяКолонки = СформироватьИмяКолонки(ИмяКолонкиПоУмолчанию, ИдентификаторСтроки);
|
||||
|
||||
МассивТипов = Новый Массив;
|
||||
МассивТипов.Добавить(Тип("Строка"));
|
||||
ТипКолонки = Новый ОписаниеТипов(МассивТипов);
|
||||
|
||||
ЭлементНастройки = НастройкиТаблицыЗначений.Добавить();
|
||||
ЭлементНастройки.НаименованиеКолонки = ИмяКолонки;
|
||||
ЭлементНастройки.ТипКолонки = ТипКолонки;
|
||||
|
||||
ИнициализацияКолонкиВТЗКлиент("", ИмяКолонки, ТипКолонки)
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиТаблицыЗначенийНаименованиеКолонкиОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
|
||||
ТекущаяКолонкаТЗ = Элементы.НастройкиТаблицыЗначений.ТекущиеДанные;
|
||||
СтароеИмя = ТекущаяКолонкаТЗ.НаименованиеКолонки;
|
||||
ТипКолонки = ТекущаяКолонкаТЗ.ТипКолонки;
|
||||
ИдентификаторСтроки = ТекущаяКолонкаТЗ.ПолучитьИдентификатор();
|
||||
|
||||
Текст = УбратьСимволыИзТекста(Текст);
|
||||
|
||||
Если Не ПустаяСтрока(Текст) Тогда
|
||||
НовоеИмя = СформироватьИмяКолонки(Текст, ИдентификаторСтроки);
|
||||
Иначе
|
||||
НовоеИмя = СформироватьИмяКолонки(ИмяКолонкиПоУмолчанию, ИдентификаторСтроки);
|
||||
|
||||
ПоказатьСообщениеПользователю(НСтр("ru = 'Наименование колонки не может быть пустым.'"), "Объект");
|
||||
КонецЕсли;
|
||||
|
||||
ТекущаяКолонкаТЗ.НаименованиеКолонки = НовоеИмя;
|
||||
|
||||
Если ТипКолонки.Типы().Количество() <> 0 Тогда
|
||||
ИзменитьИмяРеквизитаИКолонкиСервер(СтароеИмя, НовоеИмя, ТипКолонки);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиТаблицыЗначенийПередУдалением(Элемент, Отказ)
|
||||
ТекущаяСтрока = Элементы.НастройкиТаблицыЗначений.ТекущаяСтрока;
|
||||
ТекущаяКолонкаТЗ = Элементы.НастройкиТаблицыЗначений.ТекущиеДанные;
|
||||
ИмяКолонки = ТекущаяКолонкаТЗ.НаименованиеКолонки;
|
||||
ТипКолонки = ТекущаяКолонкаТЗ.ТипКолонки;
|
||||
|
||||
Если ТипКолонки.Типы().Количество() <> 0 Тогда
|
||||
УдалитьКолонкуСервер(ИмяКолонки);
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементКоллекции = НастройкиТаблицыЗначений.НайтиПоИдентификатору(ТекущаяСтрока);
|
||||
ИндексЭлементаКоллекции = НастройкиТаблицыЗначений.Индекс(ЭлементКоллекции);
|
||||
НастройкиТаблицыЗначений.Удалить(ИндексЭлементаКоллекции);
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// КОМАНДЫ
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыгрузитьТаблицуЗначений(Команда)
|
||||
ВыгрузитьТаблицуЗначенийСервер();
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
|
||||
&НаСервере
|
||||
Функция ОбъектОбработки()
|
||||
Возврат РеквизитФормыВЗначение("Объект");
|
||||
КонецФункции
|
||||
|
||||
// Формирует колонки для Таблицы значений из Настроек таблицы значений.
|
||||
//
|
||||
// Изменяет реквизиты текущего параметра.
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ВыгрузитьТаблицуЗначенийСервер()
|
||||
ПараметрыПередачи = ПоместитьЗапросыВСтруктуру(ИдентификаторТекущегоЗапроса, ИдентификаторТекущегоПараметра);
|
||||
|
||||
Закрыть();
|
||||
Владелец = ЭтотОбъект.ВладелецФормы;
|
||||
Владелец.Модифицированность = Истина;
|
||||
|
||||
Оповестить("ВыгрузитьЗапросыВРеквизиты", ПараметрыПередачи);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ВнутрЗначениеОбъектаТЗ()
|
||||
ТЗ = РеквизитФормыВЗначение("ТаблицаЗначенийПараметр");
|
||||
Возврат ЗначениеВСтрокуВнутр(ТЗ);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПоместитьЗапросыВСтруктуру(ИдентификаторЗапроса,ИдентификаторПараметра)
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
|
||||
ПредставлениеТЗ = СформироватьПредставлениеТаблицыЗначений(ПредставлениеТЗ);
|
||||
|
||||
Для каждого Стр Из ПараметрыФормы Цикл
|
||||
Если Стр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Стр.Тип = "ТаблицаЗначений";
|
||||
Стр.Значение = ВнутрЗначениеОбъектаТЗ();
|
||||
Стр.ТипВФорме = НСтр("ru = 'Таблица значений'");
|
||||
Стр.ЗначениеВФорме = ПредставлениеТЗ;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ПараметрыПередачи = Новый Структура;
|
||||
ПараметрыПередачи.Вставить("АдресХранилища", ОбъектОбработки().ПоместитьЗапросыВоВременноеХранилище(Объект, ИдентификаторЗапроса, ИдентификаторПараметра));
|
||||
|
||||
Возврат ПараметрыПередачи;
|
||||
КонецФункции
|
||||
|
||||
// Заполняет таблицы значений в форме по загружаемой таблице значений.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьТаблицыПриОткрытии()
|
||||
ПараметрыФормы = Объект.Параметры;
|
||||
Для каждого ТекущийПараметр Из ПараметрыФормы Цикл
|
||||
Если ТекущийПараметр.Идентификатор = ИдентификаторТекущегоПараметра Тогда
|
||||
Значение = ТекущийПараметр.Значение;
|
||||
Если ПустаяСтрока(Значение) Тогда
|
||||
Возврат;
|
||||
Иначе
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Формирование таблицы "Настройки".
|
||||
ТЗ = ЗначениеИзСтрокиВнутр(Значение);
|
||||
Если ТипЗнч(ТЗ) <> Тип("ТаблицаЗначений") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Колонки = ТЗ.Колонки;
|
||||
Для Индекс = 0 По Колонки.Количество() - 1 Цикл
|
||||
ТекущаяКолонка = Колонки.Получить(Индекс);
|
||||
|
||||
ИмяКолонки = ТекущаяКолонка.Имя;
|
||||
ТипКолонки = ТекущаяКолонка.ТипЗначения;
|
||||
|
||||
Настройка = НастройкиТаблицыЗначений.Добавить();
|
||||
Настройка.НаименованиеКолонки = ИмяКолонки;
|
||||
Настройка.ТипКолонки = ТипКолонки;
|
||||
|
||||
ИнициализацияКолонкиВТЗСервер("", ИмяКолонки, ТипКолонки, "");
|
||||
КонецЦикла;
|
||||
|
||||
// Заполнение таблицы значений.
|
||||
Для каждого Строка Из ТЗ Цикл
|
||||
ЭлементТЗ = ТаблицаЗначенийПараметр.Добавить();
|
||||
Для каждого Колонка Из ТЗ.Колонки Цикл
|
||||
ЭлементТЗ[Колонка.Имя] = Строка[Колонка.Имя];
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция СформироватьПредставлениеТаблицыЗначений(Представление)
|
||||
ТЗ = РеквизитФормыВЗначение("ТаблицаЗначенийПараметр");
|
||||
Представление = ОбъектОбработки().ФормированиеПредставленияЗначения(ТЗ);
|
||||
|
||||
Возврат Представление;
|
||||
КонецФункции
|
||||
|
||||
// Формирует имя добавляемой колонки.
|
||||
// Оно не должно совпадать с именем реквизита формы
|
||||
// и с именем колонки.
|
||||
//
|
||||
// Параметры:
|
||||
// Имя - передаваемое имя.
|
||||
//
|
||||
&НаКлиенте
|
||||
Функция СформироватьИмяКолонки(знач ИмяКолонки, ИДТекСтроки)
|
||||
НТЗ = НастройкиТаблицыЗначений;
|
||||
Флаг = Истина;
|
||||
Индекс = 0;
|
||||
|
||||
ИмяКолонки = СокрЛП(ИмяКолонки);
|
||||
|
||||
Пока Флаг Цикл
|
||||
Имя = ИмяКолонки + Строка(Формат(Индекс, "ЧН=-"));
|
||||
Имя = СтрЗаменить(Имя, "-", "");
|
||||
|
||||
// Если нет строки с таким именем.
|
||||
Фильтр = Новый Структура("НаименованиеКолонки", Имя);
|
||||
ОтфильтрованныеСтроки = НТЗ.НайтиСтроки(Фильтр);
|
||||
Если ОтфильтрованныеСтроки.Количество() = 0 Тогда
|
||||
Флаг = Ложь;
|
||||
Иначе
|
||||
Если ОтфильтрованныеСтроки.Получить(0).ПолучитьИдентификатор() <> ИДТекСтроки Тогда
|
||||
Флаг = Истина;
|
||||
Иначе
|
||||
Флаг = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Если нет колонки с таким именем.
|
||||
Колонки = Элементы.ТаблицаЗначенийПараметр.ПодчиненныеЭлементы;
|
||||
КолКолонок = Колонки.Количество();
|
||||
Для Индекс = 0 По КолКолонок - 1 Цикл
|
||||
Если Колонки.Получить(Индекс).Имя = Имя Тогда
|
||||
Флаг = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Результат = ?(Флаг, "", Имя);
|
||||
|
||||
Индекс = Индекс + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИнициализацияКолонкиВТЗКлиент(СтароеИмяКолонки, НовоеИмяКолонки, ТипКолонки)
|
||||
СообщениеСистемы = "";
|
||||
ИнициализацияКолонкиВТЗСервер(СтароеИмяКолонки, НовоеИмяКолонки, ТипКолонки, СообщениеСистемы);
|
||||
Если НЕ ПустаяСтрока(СообщениеСистемы) Тогда
|
||||
ПоказатьСообщениеПользователю(СообщениеСистемы, "Объект");
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ИнициализацияКолонкиВТЗСервер(СтароеИмяКолонки, НовоеИмяКолонки, ТипКолонки, Сообщение = "");
|
||||
НачатьТранзакцию();
|
||||
|
||||
ИмяУдаляемогоРеквизита = ИмяРодителя + "." + СтароеИмяКолонки;
|
||||
|
||||
// Заполнение массива удаляемыми реквизитами.
|
||||
МассивУдаляемыхРеквизитов = Новый Массив;
|
||||
РекРодителя = ПолучитьРеквизиты(ИмяРодителя);
|
||||
Для каждого ТекРек Из РекРодителя Цикл
|
||||
Если ТекРек.Имя = СтароеИмяКолонки Тогда
|
||||
МассивУдаляемыхРеквизитов.Добавить(ИмяУдаляемогоРеквизита);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Выгрузка значений в таблицу значений.
|
||||
Если Не ПустаяСтрока(СтароеИмяКолонки) Тогда
|
||||
ТЗЗначений = ТаблицаЗначенийПараметр.Выгрузить(, СтароеИмяКолонки);
|
||||
Иначе
|
||||
ТЗЗначений = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
// Добавление нового реквизита в объект.
|
||||
ДобавляемыеРеквизиты = Новый Массив;
|
||||
|
||||
НовыйРеквизит = Новый РеквизитФормы(НовоеИмяКолонки, ТипКолонки, ИмяРодителя, НовоеИмяКолонки, Ложь);
|
||||
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
|
||||
ИзменитьРеквизиты(ДобавляемыеРеквизиты, МассивУдаляемыхРеквизитов);
|
||||
|
||||
// Поиск колонки в "ТаблицаЗначенийПараметр" с условием ПутьКДанным=ПутьКНовомуРеквизиту.
|
||||
ИмяДобавляемогоРеквизита = ИмяРодителя + "." + НовоеИмяКолонки;
|
||||
НомерКолонки = ПоискКолонокВТЗСЗаданнымПутемКДанным(ИмяДобавляемогоРеквизита);
|
||||
Если ТЗЗначений <> Неопределено Тогда
|
||||
Если НомерКолонки <> Неопределено Тогда
|
||||
ИмяПервойКолонки = ТЗЗначений.Колонки.Получить(0).Имя;
|
||||
Индекс = 0;
|
||||
Для Каждого Стр Из ТЗЗначений Цикл
|
||||
ТаблицаЗначенийПараметр.Получить(Индекс)[НовоеИмяКолонки] = Стр[ИмяПервойКолонки];
|
||||
Индекс = Индекс + 1;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
НоваяКолонкаТаблицы = Элементы.Добавить(НовоеИмяКолонки, Тип("ПолеФормы"), Элементы.ТаблицаЗначенийПараметр);
|
||||
НоваяКолонкаТаблицы.ПутьКДанным = ИмяДобавляемогоРеквизита;
|
||||
НоваяКолонкаТаблицы.Вид = ВидПоляФормы.ПолеВвода;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
КонецПроцедуры
|
||||
|
||||
// Изменяет имя реквизита и колонки по идентификатору строки.
|
||||
//
|
||||
// Параметры:
|
||||
// ИДСтроки - идентификатор строки таблицы значений настроек.
|
||||
// Имя - новое передаваемое имя для реквизита и колонки.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ИзменитьИмяРеквизитаИКолонкиСервер(СтароеИмя, НовоеИмя, ТипКолонки)
|
||||
НачатьТранзакцию();
|
||||
|
||||
ИмяУдаляемогоРеквизита = ИмяРодителя + "." + СтароеИмя;
|
||||
|
||||
// Заполнение массива удаляемыми реквизитами.
|
||||
МассивУдаляемыхРеквизитов = Новый Массив;
|
||||
РекРодителя = ПолучитьРеквизиты(ИмяРодителя);
|
||||
Для каждого ТекРек Из РекРодителя Цикл
|
||||
Если ТекРек.Имя = СтароеИмя Тогда
|
||||
МассивУдаляемыхРеквизитов.Добавить(ИмяУдаляемогоРеквизита);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Выгрузка значений в таблицу значений.
|
||||
ТЗЗначений = ТаблицаЗначенийПараметр.Выгрузить(, СтароеИмя);
|
||||
|
||||
// Добавление нового реквизита в объект.
|
||||
ДобавляемыеРеквизиты = Новый Массив;
|
||||
НовыйРеквизит = Новый РеквизитФормы(НовоеИмя, ТипКолонки, ИмяРодителя, НовоеИмя, Ложь);
|
||||
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
|
||||
ИзменитьРеквизиты(ДобавляемыеРеквизиты, МассивУдаляемыхРеквизитов);
|
||||
|
||||
// Поиск колонки в "ТаблицаЗначенийПараметр" с условием ПутьКДанным = ПутьКНовомуРеквизиту.
|
||||
ИмяДобавляемогоРеквизита = ИмяРодителя + "." + НовоеИмя;
|
||||
НомерКолонки = ПоискКолонокВТЗСЗаданнымПутемКДанным(ИмяДобавляемогоРеквизита);
|
||||
Если НомерКолонки <> Неопределено Тогда
|
||||
ИмяПервойКолонки = ТЗЗначений.Колонки.Получить(0).Имя;
|
||||
Индекс = 0;
|
||||
Для Каждого СтарСтр Из ТЗЗначений Цикл
|
||||
ТаблицаЗначенийПараметр.Получить(Индекс)[НовоеИмя] = СтарСтр[ИмяПервойКолонки];
|
||||
Индекс = Индекс + 1;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает номер колонки с заданным путем.
|
||||
//
|
||||
// Параметры:
|
||||
// ПутьКДанным - заданный путь.
|
||||
//
|
||||
// Возвращаемое значение: номер колонки или Неопределено.
|
||||
//
|
||||
&НаСервере
|
||||
Функция ПоискКолонокВТЗСЗаданнымПутемКДанным(ПутьКДанным)
|
||||
Колонки = Элементы.ТаблицаЗначенийПараметр.ПодчиненныеЭлементы;
|
||||
КоличествоКолонок = Колонки.Количество();
|
||||
Флаг = Ложь;
|
||||
Для Индекс = 0 По КоличествоКолонок - 1 Цикл
|
||||
ТекКолонка = Колонки.Получить(Индекс);
|
||||
Если ТекКолонка.ПутьКДанным = ПутьКДанным Тогда
|
||||
Возврат Индекс;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Возврат Неопределено;
|
||||
КонецФункции
|
||||
|
||||
// Удаляет колонку по имени.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяКолонки - имя колонки.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура УдалитьКолонкуСервер(ИмяКолонки)
|
||||
ИмяУдаляемогоРеквизита = ИмяРодителя + "." + ИмяКолонки;
|
||||
|
||||
// Заполнение массива удаляемыми реквизитами.
|
||||
МассивУдаляемыхРеквизитов = Новый Массив;
|
||||
РекРодителя = ПолучитьРеквизиты(ИмяРодителя);
|
||||
Для каждого ТекРек Из РекРодителя Цикл
|
||||
Если ТекРек.Имя = ИмяКолонки Тогда
|
||||
МассивУдаляемыхРеквизитов.Добавить(ИмяУдаляемогоРеквизита);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ИзменитьРеквизиты(, МассивУдаляемыхРеквизитов);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьСообщениеПользователю(ТекстСообщения, ПутьКДанным)
|
||||
ОчиститьСообщения();
|
||||
Сообщение = Новый СообщениеПользователю();
|
||||
Сообщение.Текст = ТекстСообщения;
|
||||
Сообщение.ПутьКДанным = ПутьКДанным;
|
||||
Сообщение.УстановитьДанные(Объект);
|
||||
Сообщение.Сообщить();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция УбратьСимволыИзТекста(знач Текст)
|
||||
Результат = "";
|
||||
|
||||
ДлинаТекста = СтрДлина(Текст);
|
||||
|
||||
Если ДлинаТекста = 0 Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Индекс = 0 По ДлинаТекста - 1 Цикл
|
||||
СимволТекста = Лев(Текст, 1);
|
||||
Если Не ЭтоСимвол(СимволТекста) Тогда
|
||||
Результат = Результат + СимволТекста;
|
||||
КонецЕсли;
|
||||
Текст = Сред(Текст, 2);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ЭтоСимвол(Символ)
|
||||
// Символы между 1040 и 1103 - Русские буквы.
|
||||
// Символы между 48 и 57 - Цифры.
|
||||
// Символы между 65 и 122 - Английские буквы.
|
||||
|
||||
Код = КодСимвола(Символ);
|
||||
Если (Код >= 1040 И Код <= 1103) Или (Код >= 48 И Код <= 57) Или (Код >= 65 И Код <= 122) Тогда
|
||||
Возврат Ложь;
|
||||
Иначе
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ИмяТипаПоЗначению(Значение)
|
||||
|
||||
Возврат Значение.Метаданные().Имя;
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ
|
||||
|
||||
ИмяРодителя = "ТаблицаЗначенийПараметр";
|
||||
ИмяКолонкиПоУмолчанию = "Колонка";
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="65b03d50-7314-4ee7-bd2d-3096bcd0f256">
|
||||
<Properties>
|
||||
<Name>ТекстЗапросаДляКонфигуратора</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Текст запроса для конфигуратора</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Текст запроса для конфигуратора</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<VerticalScroll>useIfNecessary</VerticalScroll>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||
<ChildItems>
|
||||
<Button name="ФормаЗакрыть" id="6">
|
||||
<Type>CommandBarButton</Type>
|
||||
<Representation>Text</Representation>
|
||||
<DefaultButton>true</DefaultButton>
|
||||
<CommandName>Form.StandardCommand.Close</CommandName>
|
||||
<ExtendedTooltip name="ФормаЗакрытьРасширеннаяПодсказка" id="7"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
</AutoCommandBar>
|
||||
<Events>
|
||||
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<TextDocumentField name="ТекстЗапроса" id="1">
|
||||
<DataPath>ТекстЗапроса</DataPath>
|
||||
<TitleLocation>None</TitleLocation>
|
||||
<ContextMenu name="ТекстЗапросаКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ТекстЗапросаExtendedTooltip" id="5"/>
|
||||
</TextDocumentField>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
<Attribute name="Объект" id="1">
|
||||
<Type>
|
||||
<v8:Type>cfg:ExternalDataProcessorObject.ИнструментыРазработчикаКонсольЗапросов</v8:Type>
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
</Attribute>
|
||||
<Attribute name="ТекстЗапроса" id="2">
|
||||
<Type>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/txtedt">d5p1:TextDocument</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
</Form>
|
@ -0,0 +1,37 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("АвтоТест") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Текст = Параметры.ТекстЗапроса;
|
||||
ТекстЗапроса.УстановитьТекст(СформироватьТекстЗапросаДляКонфигуратора(Текст));
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
|
||||
&НаСервере
|
||||
Функция СформироватьТекстЗапросаДляКонфигуратора(Текст)
|
||||
Результат = """";
|
||||
Текст = Параметры.ТекстЗапроса;
|
||||
ПереводСтроки = Символы.ВК+Символы.ПС;
|
||||
Для Счетчик = 1 По СтрЧислоСтрок(Текст) Цикл
|
||||
ТекСтрока = СтрПолучитьСтроку(Текст, Счетчик);
|
||||
Если Счетчик > 1 Тогда
|
||||
ТекСтрока = СтрЗаменить(ТекСтрока,"""","""""");
|
||||
Результат = Результат + ПереводСтроки + "|"+ ТекСтрока;
|
||||
Иначе
|
||||
ТекСтрока = СтрЗаменить(ТекСтрока,"""","""""");
|
||||
Результат = Результат + ТекСтрока;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Результат = Результат + """";
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
22
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml
Normal file
22
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Form uuid="85e77a67-909f-4bb9-abad-8d2402383848">
|
||||
<Properties>
|
||||
<Name>Форма</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Форма</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<FormType>Managed</FormType>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UsePurposes>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||
</UsePurposes>
|
||||
<ExtendedPresentation/>
|
||||
</Properties>
|
||||
</Form>
|
||||
</MetaDataObject>
|
1025
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml
Normal file
1025
src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7">
|
||||
<Template uuid="95d843f8-db40-4ff1-b848-1bfa16e5bdfd">
|
||||
<Properties>
|
||||
<Name>РезультатВыполненияЗапроса</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Результат выполнения запроса</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<TemplateType>SpreadsheetDocument</TemplateType>
|
||||
</Properties>
|
||||
</Template>
|
||||
</MetaDataObject>
|
@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document xmlns="http://v8.1c.ru/8.2/data/spreadsheet" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<languageSettings>
|
||||
<currentLanguage>ru</currentLanguage>
|
||||
<defaultLanguage>ru</defaultLanguage>
|
||||
<languageInfo>
|
||||
<id>ru</id>
|
||||
<code>Русский</code>
|
||||
<description>Русский</description>
|
||||
</languageInfo>
|
||||
</languageSettings>
|
||||
<columns>
|
||||
<size>1</size>
|
||||
</columns>
|
||||
<rowsItem>
|
||||
<index>0</index>
|
||||
<row>
|
||||
<formatIndex>1</formatIndex>
|
||||
<c>
|
||||
<c>
|
||||
<f>2</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>[ИмяЗапроса] (Записей в результате: [КоличествоСтрок])</v8:content>
|
||||
</v8:item>
|
||||
</tl>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<rowsItem>
|
||||
<index>1</index>
|
||||
<row>
|
||||
<c>
|
||||
<c>
|
||||
<f>3</f>
|
||||
<parameter>Значение</parameter>
|
||||
<detailParameter>Расшифровка</detailParameter>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<templateMode>true</templateMode>
|
||||
<defaultFormatIndex>4</defaultFormatIndex>
|
||||
<height>2</height>
|
||||
<vgRows>2</vgRows>
|
||||
<namedItem xsi:type="NamedItemCells">
|
||||
<name>ЗапросИмя</name>
|
||||
<area>
|
||||
<type>Rows</type>
|
||||
<beginRow>0</beginRow>
|
||||
<endRow>0</endRow>
|
||||
<beginColumn>-1</beginColumn>
|
||||
<endColumn>-1</endColumn>
|
||||
</area>
|
||||
</namedItem>
|
||||
<namedItem xsi:type="NamedItemCells">
|
||||
<name>ОбластьЯчейки</name>
|
||||
<area>
|
||||
<type>Rectangle</type>
|
||||
<beginRow>1</beginRow>
|
||||
<endRow>1</endRow>
|
||||
<beginColumn>0</beginColumn>
|
||||
<endColumn>0</endColumn>
|
||||
</area>
|
||||
</namedItem>
|
||||
<line width="1" gap="false">
|
||||
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
|
||||
</line>
|
||||
<font faceName="Arial" height="10" bold="true" italic="false" underline="true" strikeout="false" kind="Absolute" scale="100"/>
|
||||
<format>
|
||||
<height>96</height>
|
||||
</format>
|
||||
<format>
|
||||
<font>0</font>
|
||||
<height>96</height>
|
||||
<width>72</width>
|
||||
<verticalAlignment>Center</verticalAlignment>
|
||||
<textColor>#5C5845</textColor>
|
||||
<textPlacement>Auto</textPlacement>
|
||||
<fillType>Template</fillType>
|
||||
<protection>true</protection>
|
||||
</format>
|
||||
<format>
|
||||
<border>0</border>
|
||||
<verticalAlignment>Top</verticalAlignment>
|
||||
<fillType>Parameter</fillType>
|
||||
<protection>false</protection>
|
||||
<columnSizeChange>QuickChange</columnSizeChange>
|
||||
</format>
|
||||
<format>
|
||||
<width>72</width>
|
||||
</format>
|
||||
</document>
|
Loading…
Reference in New Issue
Block a user