1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2024-11-21 17:56:47 +02:00

Перенос и адаптация подсистемы загрузки файла Excel (#37)

Перенос и адаптация подсистемы https://github.com/Bayselonarrend/uniloadXLS
This commit is contained in:
Ivan Smirnov 2024-04-10 15:04:40 +03:00 committed by GitHub
parent 996effa87b
commit 9d39ee9234
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 438 additions and 4 deletions

View File

@ -0,0 +1,29 @@
# Подсистема загрузки файлов Excel через табличный документ
Пример вызова на форме
```1C (BSL)
&НаКлиенте
Асинх Процедура ЗагрузитьXLS(Команда)
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("Спр2" , "СправочникСсылка.Спр2");
СтруктураКолонок.Вставить("Перечисление1" , "ПеречислениеСсылка.Перечисление1");
СтруктураКолонок.Вставить("ЛюбоеИмя" , "");
СтруктураКолонок.Вставить("Док1" , "ДокументСсылка.Док1");
СтруктураКолонок.Вставить("Спр1" , "СправочникСсылка.Спр1");
ИД = Ждать __ЗагрузкаФайлаЧерезТабличныйДокументКлиент.ЗагрузитьИзXLS(СтруктураКолонок, , 2);
Если ЗначениеЗаполнено(ИД) Тогда
ЗагрузкаНаСервере(ИД);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗагрузкаНаСервере(ИД)
ТЗ = ПолучитьИзВременногоХранилища(ИД);
КонецПроцедуры
```

View File

@ -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="69beac3a-36fd-4246-8d7d-dfaeca98cbb2">
<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>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>true</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@ -0,0 +1,267 @@
// MIT License
// Copyright (c) 2024 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#Область ПрограммныйИнтерфейс
// Процедура - Формирование таблицы
//
// Параметры:
// АдресВХранилище - Строка - Адрес файла во временном хранилище
// Расширение - Строка - Расширение файла (xls, xlsx)
// Параметры - Структура - Параметры загрузки
//
Процедура ФормированиеТаблицы(АдресВХранилище, Расширение, Параметры) Экспорт
Макет = Параметры.Макет;
АдресПомещения = Параметры.АдресПомещения;
НазваниеЛиста = Параметры.НазваниеЛиста;
НомерСтроки = Параметры.НомерПервойСтроки;
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВХранилище);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение);
ДвоичныеДанные.Записать(ИмяВременногоФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяВременногоФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);
Попытка
УдалитьФайлы(ИмяВременногоФайла);
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Загрузка файла через табличный документ.Удаление временного файла'"), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Лист = ?(ЗначениеЗаполнено(НазваниеЛиста), Табдок.Области.Найти(СтрЗаменить(НазваниеЛиста, " ", "_")), Неопределено);
ПервыйЛист = ТабДок.Области[0].Имя;
Для Каждого ЛистДок Из ТабДок.Области Цикл
Если ЛистДок.Верх = 1 Тогда
ПервыйЛист = ЛистДок.Имя;
КонецЕсли;
КонецЦикла;
ТабДок = ТабДок.ПолучитьОбласть(?(Лист = Неопределено, ПервыйЛист, СтрЗаменить(НазваниеЛиста, " ", "_")));
Если Не НомерСтроки = 1 Тогда
ТабДок.УдалитьОбласть(ТабДок.Область("R1:R" + Строка(НомерСтроки - 1)), ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЕсли;
ТабДок.ВставитьОбласть(ТабДок.Область("R1"),
ТабДок.Область("R1"),
ТипСмещенияТабличногоДокумента.ПоГоризонтали);
Табдок.Область("R1").Очистить(Истина, Истина, Истина);
Счетчик = 0;
Для Каждого Колонка Из Макет Цикл
Счетчик = Счетчик + 1;
Если Не ЗначениеЗаполнено(Колонка.Значение) Тогда
Продолжить;
КонецЕсли;
ТабДок.Область("R1" + "C" + Строка(Счетчик)).Текст = Колонка.Ключ;
КонецЦикла;
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.Добавлять;
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
ТЗ = ПЗ.Результат.Выгрузить();
ТЗ.Колонки.Добавить("ПорядковыйНомер", Новый ОписаниеТипов("Число"));
КоллекцияОтборов = Новый ТаблицаЗначений;
КоллекцияОтборов.Колонки.Добавить("ТипДанных");
КоллекцияОтборов.Колонки.Добавить("НомерСтрокиДочерней");
КоллекцияОтборов.Колонки.Добавить("МассивДанных");
КоллекцияОтборов.Колонки.Добавить("НазваниеКолонки");
Н = ТЗ.Количество() - 1;
Пока НЕ Н < 0 Цикл
Счетчик = 0;
ТЗ[Н].ПорядковыйНомер = Н;
Для каждого Колонка Из ТЗ.Колонки Цикл
Если Не ЗначениеЗаполнено(ТЗ[Н][Колонка.Имя]) Тогда
Счетчик = Счетчик + 1;
КонецЕсли;
КонецЦикла;
Если Счетчик = ТЗ.Колонки.Количество() Тогда
ТЗ.Удалить(Н);
КонецЕсли;
Н = Н - 1;
КонецЦикла;
ВставкаВТ = "";
ВставкаБазовые = "";
ВставкаСсылочные = "";
ВставкаИсточники = "";
ХранилищеИсточников = Новый Соответствие;
МассивИменСсылочных = Новый Массив;
СоответствиеПеречислений = Новый Соответствие;
Для Каждого Колонка Из Макет Цикл
Если Не ЗначениеЗаполнено(Колонка.Значение) Тогда
Продолжить;
КонецЕсли;
ВставкаВТ = ВставкаВТ + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;
Если СтрНайти(Колонка.Значение, "Ссылка") <> 0 И СтрНайти(Колонка.Значение, "Перечисление") = 0 Тогда
ТЗ.Колонки.Добавить(Колонка.Ключ + "КодЧислом", Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(15)));
ВставкаВТ = ВставкаВТ + "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом КАК " + Колонка.Ключ + "КодЧислом," + Символы.ПС;
МассивИменСсылочных.Добавить(Колонка.Ключ);
РазбивкаТипа = СтрРазделить(СтрЗаменить(Колонка.Значение, "Ссылка", ""), ".", Ложь);
ВхождениеИсточника = ХранилищеИсточников.Получить(РазбивкаТипа[1]);
ХранилищеИсточников.Вставить(РазбивкаТипа[1], ?(ВхождениеИсточника = Неопределено, 1, ВхождениеИсточника + 1));
Итерация = ?(ХранилищеИсточников.Получить(РазбивкаТипа[1]) = 0, "", Строка(ХранилищеИсточников.Получить(РазбивкаТипа[1])));
Если РазбивкаТипа[0] = "Документ" Тогда
РеквизитСравнения = "Номер";
Иначе
РеквизитСравнения = "Наименование";
КонецЕсли;
ВставкаСсылочные = ВставкаСсылочные + РазбивкаТипа[1] + Итерация + ".Ссылка КАК " + Колонка.Ключ + "," + Символы.ПС;
Если Не СтрНайти(ВставкаИсточники, " " + РазбивкаТипа[1] + " ") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + "
| ЛЕВОЕ СОЕДИНЕНИЕ " + СтрЗаменить(Колонка.Значение, "Ссылка", "") + " КАК " + РазбивкаТипа[1] + Итерация + "
| ПО " + "ВходнаяТаблица." + Колонка.Ключ + " <> """" И " + "ВходнаяТаблица." + Колонка.Ключ + " <> 0" + "
| И (ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Итерация + "." + РеквизитСравнения + Символы.ПС;
Если СтрНайти(РазбивкаТипа[1], "Номенклатура") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Итерация + "." + "Артикул" + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом = " + РазбивкаТипа[1] + Итерация + "." + "Код" + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Итерация + "." + "Код" + Символы.ПС;
ИначеЕсли СтрНайти(Колонка.Значение, "Справочник") > 0
И Не СтрНайти(Колонка.Значение, "Организации") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом = " + РазбивкаТипа[1] + Итерация + "." + "Код" + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Итерация + "." + "Код" + Символы.ПС;
КонецЕсли;
ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "Служебный," + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + ")";
КонецЕсли;
ИначеЕсли СтрНайти(Колонка.Значение, "Перечисление") <> 0 Тогда
КолонкаПеречисления = ТЗ.Колонки.Добавить(Колонка.Ключ + "НеОбрабатывать", Новый ОписаниеТипов(Колонка.Значение));
СоответствиеПеречислений.Вставить(Колонка.Ключ, Колонка.Значение);
ВставкаВТ = СтрЗаменить(ВставкаВТ, "." + Колонка.Ключ + " КАК", "." + КолонкаПеречисления.Имя + " КАК");
ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;
ИначеЕсли Не СтрНайти(Колонка.Ключ, "НеОбрабатывать") > 0 Тогда
ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;
КонецЕсли;
КонецЦикла;
ВставкаВТ = ВставкаВТ + "ВходнаяТаблица.ПорядковыйНомер Как ПорядковыйНомер";
ВставкаБазовые = Лев(ВставкаБазовые, СтрДлина(ВставкаБазовые) - 2);
ОТЧ = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(15));
Для Каждого СтрокаТаблицы Из ТЗ Цикл
Для Каждого ИмяМассива Из МассивИменСсылочных Цикл
СтрокаТаблицы[ИмяМассива + "КодЧислом"] = ОТЧ.ПривестиЗначение(СтрокаТаблицы[ИмяМассива]);
КонецЦикла;
Для Каждого Колонка Из СоответствиеПеречислений Цикл
Для Каждого ТекЭлемент Из Метаданные.Перечисления[СтрЗаменить(Колонка.Значение, "ПеречислениеСсылка.", "")].ЗначенияПеречисления Цикл
Если нРег(ТекЭлемент.Синоним) = нРег(СтрокаТаблицы[Колонка.Ключ]) Тогда
СтрокаТаблицы[Колонка.Ключ + "НеОбрабатывать"] = Перечисления[СтрЗаменить(Колонка.Значение, "ПеречислениеСсылка.", "")][ТекЭлемент.Имя];
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| #ВставкаВТ
|ПОМЕСТИТЬ ВходнаяТаблица
|ИЗ
| &ВходнаяТаблица КАК ВходнаяТаблица
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| #ВставкаСсылочные
| #ВставкаБазовые
|ИЗ
| ВходнаяТаблица КАК ВходнаяТаблица
| #ВставкаИсточники
|
|УПОРЯДОЧИТЬ ПО
| ВходнаяТаблица.ПорядковыйНомер";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаВТ", ВставкаВТ);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаСсылочные", ВставкаСсылочные);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаБазовые", ВставкаБазовые);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаИсточники", ВставкаИсточники);
Запрос.УстановитьПараметр("ВходнаяТаблица", ТЗ);
РезультатЗапроса = Запрос.Выполнить();
ПоместитьВоВременноеХранилище(РезультатЗапроса.Выгрузить(), АдресПомещения);
КонецПроцедуры
// Функция - Поместить заглушку
//
// Параметры:
// Макет - Структура - Список колонок загружаемого файла
//
// Возвращаемое значение:
// - Строка - Адрес файла во временном хранилище
//
Функция ПоместитьЗаглушку(Макет) Экспорт
Заглушка = Новый ТаблицаЗначений;
Для Каждого Колонка Из Макет Цикл
Заглушка.Колонки.Добавить(Колонка.Ключ, Новый ОписаниеТипов(Колонка.Значение));
КонецЦикла;
ИД = ПоместитьВоВременноеХранилище(Заглушка, Новый УникальныйИдентификатор);
Возврат ИД;
КонецФункции
#КонецОбласти

View File

@ -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="7a89e22f-71d4-4875-81c4-426ef92f36ee">
<Properties>
<Name>__ЗагрузкаФайлаЧерезТабличныйДокументКлиент</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка файла через табличный документ клиент</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>true</ClientManagedApplication>
<Server>false</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>

View File

@ -0,0 +1,64 @@
// MIT License
// Copyright (c) 2024 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#Область ПрограммныйИнтерфейс
// Функция - Загрузить из XLS
//
// Параметры:
// СоответствиеКолонок - Структура - Описание колонок загружаемого файла
// НазваниеЛиста - Строка - Имя загружаемого листа (по-умолчанию не заполнено)
// НомерПервойСтроки - Число - Номер строки с которой начинается загрузка данных (по-умолчанию 1)
//
// Возвращаемое значение:
// - Строка - Адрес файла во временном хранилище
//
Асинх Функция ЗагрузитьИзXLS(СоответствиеКолонок, НазваниеЛиста = "", НомерПервойСтроки = 1) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить
ОбщегоНазначенияКлиент = Неопределено;
// -- Обход ошибки отстутствия модуля БСП, не переносить
АдресПомещения = __ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ПоместитьЗаглушку(СоответствиеКолонок);
Параметры = Новый Структура("Макет, АдресПомещения, НазваниеЛиста, НомерПервойСтроки", СоответствиеКолонок, АдресПомещения, НазваниеЛиста, НомерПервойСтроки);
ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
ПараметрыДиалога.Фильтр = "Документ Excel (*.xls, *.xlsx)|*.xls;*.xlsx|";
ПараметрыДиалога.МножественныйВыбор = Ложь;
ПараметрыДиалога.ИндексФильтра = 0;
ПараметрыДиалога.Заголовок = "Выберите файл для загрузки";
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх( , , , ПараметрыДиалога);
Если ТипЗнч(ОписаниеФайла) = Тип("ОписаниеПомещенногоФайла") И Не ОписаниеФайла.ПомещениеФайлаОтменено Тогда
__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера.ФормированиеТаблицы(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение, Параметры);
Иначе
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Помещение файла отменено'"));
АдресПомещения = Неопределено;
КонецЕсли;
Возврат АдресПомещения;
КонецФункции
#КонецОбласти

View File

@ -232,11 +232,11 @@
<ConfigurationInformationAddress/>
<DataLockControlMode>Managed</DataLockControlMode>
<ObjectAutonumerationMode>NotAutoFree</ObjectAutonumerationMode>
<ModalityUseMode>DontUse</ModalityUseMode>
<ModalityUseMode>UseWithWarnings</ModalityUseMode>
<SynchronousPlatformExtensionAndAddInCallUseMode>DontUse</SynchronousPlatformExtensionAndAddInCallUseMode>
<InterfaceCompatibilityMode>Taxi</InterfaceCompatibilityMode>
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
<DatabaseTablespacesUseMode>DontUse</DatabaseTablespacesUseMode>
<CompatibilityMode>Version8_3_14</CompatibilityMode>
<CompatibilityMode>Version8_3_18</CompatibilityMode>
<DefaultConstantsForm/>
</Properties>
<ChildObjects>
@ -249,6 +249,7 @@
<Subsystem>__ПредопределенныеЗначения</Subsystem>
<Subsystem>__СоответствиеОбъектовИБ</Subsystem>
<Subsystem>__УправлениеИнтеграциями</Subsystem>
<Subsystem>__ЗагрузкаИзТабличногоДокумента</Subsystem>
<CommonPicture>__ПодсистемаУправлениеИнтеграциями</CommonPicture>
<CommonPicture>__Реквизит</CommonPicture>
<CommonPicture>__Реквизиты</CommonPicture>
@ -269,11 +270,14 @@
<CommonTemplate>__XMLEditor</CommonTemplate>
<CommonModule>__ВспомогательныйМодульНеПереносить</CommonModule>
<CommonModule>__ВспомогательныйМодульНеПереноситьКлиент</CommonModule>
<CommonModule>__ВспомогательныйМодульНеПереноситьКлиентСервер</CommonModule>
<CommonModule>__ДокументыОбработкаЗаполнения</CommonModule>
<CommonModule>__ДокументыОбработкаПроведения</CommonModule>
<CommonModule>__ДокументыПередЗаписью</CommonModule>
<CommonModule>__ДокументыПриЗаписи</CommonModule>
<CommonModule>__ДокументыПриКопировании</CommonModule>
<CommonModule>__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера</CommonModule>
<CommonModule>__ЗагрузкаФайлаЧерезТабличныйДокументКлиент</CommonModule>
<CommonModule>__ИнтеграцииСервер</CommonModule>
<CommonModule>__КоннекторHTTP</CommonModule>
<CommonModule>__МетодыРегламентныхЗаданийСервер</CommonModule>
@ -298,7 +302,6 @@
<CommonModule>__СправочникиПриКопировании</CommonModule>
<CommonModule>__СтроковыеФункцииКлиентСервер</CommonModule>
<CommonModule>__ТипСоответствияОбъектовИБПереопределяемый</CommonModule>
<CommonModule>__ВспомогательныйМодульНеПереноситьКлиентСервер</CommonModule>
<EventSubscription>__ДокументыОбработкаЗаполнения</EventSubscription>
<EventSubscription>__ДокументыОбработкаПроведения</EventSubscription>
<EventSubscription>__ДокументыПередЗаписью</EventSubscription>

View File

@ -0,0 +1,25 @@
<?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">
<Subsystem uuid="c42cc67d-57d4-4d30-9546-56096c4506a6">
<Properties>
<Name>__ЗагрузкаИзТабличногоДокумента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка из табличного документа</v8:content>
</v8:item>
</Synonym>
<Comment/>
<IncludeHelpInContents>true</IncludeHelpInContents>
<IncludeInCommandInterface>false</IncludeInCommandInterface>
<UseOneCommand>false</UseOneCommand>
<Explanation/>
<Picture/>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.__ЗагрузкаФайлаЧерезТабличныйДокументКлиент</xr:Item>
</Content>
</Properties>
<ChildObjects/>
</Subsystem>
</MetaDataObject>