Skip to content

Commit

Permalink
Merge branch 'release/v.0.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Aug 16, 2019
2 parents 62b5787 + 78a05c8 commit 68df15c
Show file tree
Hide file tree
Showing 129 changed files with 19,587 additions and 4,297 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
examples/readpoint.lg
examples/readpoint.lg
examples/1Cv8Log/
testdata/
*.epf
Binary file not shown.
Binary file removed 1СExt/ктв_ЧтениеЖР.epf
Binary file not shown.
Binary file removed 1СExt/ктв_ЧтениеСкобкоФайла.epf
Binary file not shown.
Binary file removed 1СExt/ктв_ЧтениеСловаряЖР.epf
Binary file not shown.
Binary file removed 1СExt/ктв_ЧтениеСпискаИБ.epf
Binary file not shown.
172 changes: 149 additions & 23 deletions README.md

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
@echo off

set v8version=8.3.14.1779
set v8path="C:\Program Files\1cv8\%v8version%\bin\1cv8"
set edtprojectpath=%cd%\dp
set tmpdir=%cd%\tmp
set buildpath=%edtprojectpath%\bin

md "%tmpdir%"
md "%tmpdir%\ws"
md "%tmpdir%\result"

echo Starting export to 1C:Designer XML format...

call ring edt workspace export --project "%edtprojectpath%" --configuration-files "%tmpdir%\result" --workspace-location "%tmpdir%\ws"

echo Starting build external data processors ^& reports...

FOR /f %%f IN ('dir /b /a-d "%tmpdir%\result\ExternalDataProcessors\*.xml"') DO (
FOR %%i IN (%%~nf) DO (
echo Building %%~ni...
%v8path% DESIGNER /LoadExternalDataProcessorOrReportFromFiles "%tmpdir%\result\ExternalDataProcessors\%%~ni.xml" "%buildpath%"
)
)

rm -fr "%tmpdir%"

echo Finish building external data processors ^& reports.
18 changes: 18 additions & 0 deletions dp/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>yabr</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>com._1c.g5.v8.dt.core.V8ExternalObjectsNature</nature>
</natures>
</projectDescription>
2 changes: 2 additions & 0 deletions dp/.settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
5 changes: 5 additions & 0 deletions dp/DT-INF/PROJECT.PMF
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.14
Product-Version: 1.9.2
Store-Version: 1.0.0
Base-Project: SSL31Demo
170 changes: 170 additions & 0 deletions dp/src/ExternalDataProcessors/Yabr/Forms/Форма/Form.form
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>ПутьКФайлуНастроек</name>
<id>3</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:MultiLanguageDataPath">
<paths xsi:type="form:DataPath">
<segments>ПутьКФайлуНастроек</segments>
</paths>
</dataPath>
<extendedTooltip>
<name>ПутьКФайлуНастроекРасширеннаяПодсказка</name>
<id>5</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПутьКФайлуНастроекКонтекстноеМеню</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ПутьКФайлуНачалоВыбора</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<clearButton>true</clearButton>
<openButton>true</openButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<items xsi:type="form:Button">
<name>ФормаОбработатьДанные</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОбработатьДанныеРасширеннаяПодсказка</name>
<id>2</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОбработатьДанные</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Объект</name>
<id>1</id>
<valueType>
<types>ExternalDataProcessor.yabr</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
</attributes>
<attributes>
<name>ПутьКФайлуНастроек</name>
<title>
<key>ru</key>
<value>Путь к файлу настроек</value>
</title>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<settingsSavedData xsi:type="form:DataPath">
<segments>ПутьКФайлуНастроек</segments>
</settingsSavedData>
</attributes>
<formCommands>
<name>ОбработатьДанные</name>
<title>
<key>ru</key>
<value>Обработать данные</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Обработать данные</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОбработатьДанные</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
</form:Form>
131 changes: 131 additions & 0 deletions dp/src/ExternalDataProcessors/Yabr/Forms/Форма/Module.bsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
//----------------------------------------------------------
//This Source Code Form is subject to the terms of the
//Mozilla Public License, v.2.0. If a copy of the MPL
//was not distributed with this file, You can obtain one
//at http://mozilla.org/MPL/2.0/.
//----------------------------------------------------------
//Codebase: https://github.com/ArKuznetsov/yabr.1c/
//----------------------------------------------------------

&НаКлиенте
Перем КаталогТекущейОбработки;

#Область ОбработчикиЭлементовФормы

// Процедура - обработка начала выбора файла
//
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Фильтр = "Настройки чтения данных (*.json)|*.json";
Диалог.Заголовок = "Настройки чтения данных";

ЗавершениеВыбораФайла = Новый ОписаниеОповещения("ПутьКФайлуНачалоВыбораЗавершение", ЭтаФорма);

Диалог.Показать(ЗавершениеВыбораФайла);

КонецПроцедуры // ПутьКФайлуНачалоВыбора()

// Процедура - продолжение обработки выбора файла
//
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт

Если НЕ ТипЗнч(ВыбранныеФайлы) = Тип("Массив") Тогда
Возврат;
КонецЕсли;

Если ВыбранныеФайлы.Количество() = 0 Тогда
Возврат;
КонецЕсли;

ПутьКФайлуНастроек = ВыбранныеФайлы[0];

КонецПроцедуры // ПутьКФайлуНачалоВыбораЗавершение()

#КонецОбласти // ОбработчикиЭлементовФормы

#Область ОбработчикиКомандФормы

// Процедура - обработчик команды "ОбработатьДанные" на сервере
//
&НаСервере
Процедура ОбработатьДанныеНаСервере(Знач ПараметрыОбработкиДанных)

ОбработкаОбъект = ПолучитьВнешнююОбработкуПоИмени("МенеджерОбработкиДанных");

ОбработкаОбъект.УстановитьПараметрыОбработкиДанных(ПараметрыОбработкиДанных);

ОбработкаОбъект.ОбработатьДанные();

КонецПроцедуры // ОбработатьДанныеНаСервере()

// Процедура - обработчик команды "ОбработатьДанные"
//
&НаКлиенте
Процедура ОбработатьДанные(Команда)

АдресПараметров = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКФайлуНастроек),
ЭтотОбъект.УникальныйИдентификатор);

ПараметрыОбработкиДанных = ПрочитатьПараметрыОбработкиДанныхНаСервере(АдресПараметров);

//ПодключитьВнешниеОбработки(ПараметрыОбработкиДанных);

ОбработатьДанныеНаСервере(ПараметрыОбработкиДанных);

КонецПроцедуры // ОбработатьДанные()

#КонецОбласти // ОбработчикиКомандФормы

#Область СлужебныеПроцедурыИФункции

// Функция - читает и возвращает параметры обработки данных из двоичных данных во временном хранилище
//
// Параметры:
// АдресПараметров - Строка - адрес двоичных данных параметров во временном хранилище
//
// Возвращаемое значение:
// Структура - настройки обработки данных
// *ПутьКОбработке - Строка - путь к файлу внешней обработке
// *ПроцедураОбработки - Строка - имя процедуры обработки данных
// *Параметры - Строка - структура параметров процедуры обработки данных
// *<Имя параметра> - Произвольный - знаечние параметра процедуры обработки данных
// *ИмяОбработки - Строка - имя внешней обработки после подключения
// *Обработчики - Массив(Структура) - массив обработчиков данных,
// полученных от обработки текущего уровня
// (состав полей элемента аналогичен текущему уровню)
//
&НаСервере
Функция ПрочитатьПараметрыОбработкиДанныхНаСервере(АдресПараметров)

ОбработкаОбъект = ПолучитьВнешнююОбработкуПоИмени("МенеджерОбработкиДанных");

Возврат ОбработкаОбъект.ПрочитатьПараметрыОбработкиДанных(АдресПараметров);

КонецФункции // ПрочитатьПараметрыОбработкиДанныхНаСервере()

// Функция - ищет внешнюю обработку по указанному имени рядом с текущей и подключает ее
// возвращает объект подключенной обработки
//
// Параметры:
// ИмяОбработки - Строка - имя внешней обработки
//
// Возвращаемое значение:
// ВнешняяОбработкаОбъект - внешняя обработка
//
&НаСервере
Функция ПолучитьВнешнююОбработкуПоИмени(ИмяОбработки)

ОбработкаОбъект = РеквизитФормыВЗначение("Объект");

ФайлЭтойОбработки = Новый Файл(ОбработкаОбъект.ИспользуемоеИмяФайла);

ПутьКОбработке = ФайлЭтойОбработки.Путь + ИмяОбработки + ФайлЭтойОбработки.Расширение;

Возврат ВнешниеОбработки.Создать(ПутьКОбработке, Ложь);

КонецФункции // ПолучитьВнешнююОбработкуПоИмени()

#КонецОбласти // СлужебныеПроцедурыИФункции
16 changes: 16 additions & 0 deletions dp/src/ExternalDataProcessors/Yabr/ObjectModule.bsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

#Область СлужебныеПроцедурыИФункции

// Функция - возвращает версию обработчика
//
// Возвращаемое значение:
// Строка - версия обработчика
//
Функция Версия() Экспорт

//@skip-warning
Возврат ЭтотОбъект.ПолучитьМакет("ВерсияОбработки").ПолучитьТекст();

КонецФункции // Версия()

#КонецОбласти // СлужебныеПроцедурыИФункции
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.3.0
Loading

0 comments on commit 68df15c

Please sign in to comment.