Skip to content

Commit

Permalink
Изменена загрузка файла из табличного документа (#130)
Browse files Browse the repository at this point in the history
* Изменена загрузка файла из табличного документа
* Добавлено направление потока
* Доработано взаимодействие с ВИД

Closes #76 #100 #126 #131
  • Loading branch information
thvvmas authored Oct 23, 2024
1 parent 1cc3e82 commit 8762df6
Show file tree
Hide file tree
Showing 21 changed files with 1,254 additions and 281 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,46 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="32a4dc86-bf2c-4272-a5b5-98b253538ea5">
<Properties>
<Name>НаправлениеПотока</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Направление потока</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:EnumRef.пбп_НаправленияИнтеграционныхПотоков</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>ShowError</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="2a6450ad-2f8e-4dab-bdcb-6a6acaf132f9">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.пбп_ИнтеграционныеПотоки.ПараметрыВхода" category="TabularSection">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@
<Event name="StartChoice">НастройкаИнтеграцииНачалоВыбора</Event>
</Events>
</InputField>
<InputField name="НаправлениеПотока" id="59">
<DataPath>Объект.НаправлениеПотока</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="НаправлениеПотокаКонтекстноеМеню" id="60"/>
<ExtendedTooltip name="НаправлениеПотокаРасширеннаяПодсказка" id="61"/>
</InputField>
<InputField name="ПользовательскаяФункция" id="40">
<DataPath>Объект.ПользовательскаяФункция</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,7 @@
<v8:content>Группа данные сообщения исходящего</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДанныеСообщенияИсходящегоРасширеннаяПодсказка" id="164"/>
Expand Down Expand Up @@ -367,6 +368,7 @@
<v8:content>Группа данные сообщения исходящего</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаДанныеСообщенияВходящегоРасширеннаяПодсказка" id="166"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,9 @@
Функция НаправлениеИнтеграцииВыгружено(СтатусОбмена)

Возврат СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.Выгружено
Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.ОшибкаВыгрузки;
Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.ОшибкаВыгрузки
Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.Служебный
Или СтатусОбмена = Перечисления.пбп_СтатусыИнтеграции.ОшибкаСлужебного;

КонецФункции

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,31 @@

#Область ПрограммныйИнтерфейс

// Функция - Загрузить из XLS
// Загружает файл XLS, парсит его и помещает результат в таблицу значений, которая передается во временное хранилище
//
// Параметры:
// СоответствиеКолонок - Структура - Описание колонок загружаемого файла
// НазваниеЛиста - Строка - Имя загружаемого листа (по-умолчанию не заполнено)
// НомерПервойСтроки - Число - Номер строки с которой начинается загрузка данных (по-умолчанию 1)
// АдресСоответствияКолонок - Строка - описание колонок загружаемого файла в таблице значений,
// помещенное во временное хранилище на Сервере.
// см. пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ИнициализироватьТаблицуСоСвойствамиКолонок
// НазваниеЛиста - Строка - Имя загружаемого листа (по-умолчанию не заполнено)
// НомерПервойСтроки - Число - Номер строки с которой начинается загрузка данных (по-умолчанию 1)
// СопоставлениеПоНаименованию - Булево - если Истина, то колонки макета сопоставляются с табличным документом по
// наименованию; если Ложь, то сопоставляются в последовательности колонок макета, а наименования игнорируются.
//
// Возвращаемое значение:
// - Строка - Адрес файла во временном хранилище
// Строка - Адрес файла во временном хранилище
//
Асинх Функция ЗагрузитьИзXLS(СоответствиеКолонок, НазваниеЛиста = "", НомерПервойСтроки = 1) Экспорт
Асинх Функция ЗагрузитьИзXLS(АдресСоответствияКолонок,НазваниеЛиста = "",
НомерПервойСтроки = 1, СопоставлениеПоНаименованию = Ложь) Экспорт

АдресПомещения = пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ПоместитьЗаглушку(СоответствиеКолонок);
АдресПомещения = пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ПоместитьЗаглушку(АдресСоответствияКолонок);

Параметры = Новый Структура("Макет, АдресПомещения, НазваниеЛиста, НомерПервойСтроки", СоответствиеКолонок, АдресПомещения, НазваниеЛиста, НомерПервойСтроки);
Параметры = ИнициализироватьСтруктуруПередачиПараметровНаСервер();
Параметры.АдресМакета = АдресСоответствияКолонок;
Параметры.АдресПомещения = АдресПомещения;
Параметры.НазваниеЛиста = НазваниеЛиста;
Параметры.НомерПервойСтроки = НомерПервойСтроки;
Параметры.ПоНаименованию = СопоставлениеПоНаименованию;

ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
ПараметрыДиалога.Фильтр = "Документ Excel (*.xls, *.xlsx)|*.xls;*.xlsx|";
Expand All @@ -47,7 +57,8 @@
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх( , , , ПараметрыДиалога);

Если ТипЗнч(ОписаниеФайла) = Тип("ОписаниеПомещенногоФайла") И Не ОписаниеФайла.ПомещениеФайлаОтменено Тогда
пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ФормированиеТаблицы(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение, Параметры);
пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ФормированиеТаблицы(
ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение, Параметры);
Иначе
пбп_ОбщегоНазначенияСлужебныйКлиент.СообщитьПользователю(НСтр("ru = 'Помещение файла отменено'"));
АдресПомещения = Неопределено;
Expand All @@ -57,4 +68,17 @@

КонецФункции

#КонецОбласти
#КонецОбласти // ПрограммныйИнтерфейс

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

Функция ИнициализироватьСтруктуруПередачиПараметровНаСервер()

СтруктураПараметров = Новый Структура(
"АдресМакета, АдресПомещения, НазваниеЛиста, НомерПервойСтроки, ПоНаименованию");

Возврат СтруктураПараметров;

КонецФункции

#КонецОбласти // СлужебныеПроцедурыИФункции
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?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.16">
<CommonModule uuid="ca6de14a-47ae-4468-92da-b9e6cdb71e64">
<Properties>
<Name>пбп_ЗагрузкаФайлаЧерезТабличныйДокументСервер</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка файла через табличный документ сервер</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>true</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Loading

0 comments on commit 8762df6

Please sign in to comment.