-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Andrey Gusarov
authored and
Andrey Gusarov
committed
Sep 27, 2023
1 parent
686521f
commit b1618d9
Showing
10 changed files
with
1,092 additions
and
81 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
575 changes: 575 additions & 0 deletions
575
src/ExternalDataProcessors/ВыгрузкаЗагрузкаПользователей/Forms/Форма/Form.form
Large diffs are not rendered by default.
Oops, something went wrong.
11 changes: 11 additions & 0 deletions
11
src/ExternalDataProcessors/ВыгрузкаЗагрузкаПользователей/Forms/Форма/Help/ru.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 9.00.8112.16484"></meta></head><body> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 1" class="MsoNormal"><b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 24pt; mso-fareast-font-family: 'Times New Roman'; mso-font-kerning: 18.0pt; mso-fareast-language: RU">Выгрузка и загрузка пользователей информационной базы<o:p></o:p></span></b></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Обработка предназначена для выгрузки и загрузки списка пользователей информационной базы.<o:p></o:p></span></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Для выгрузки пользователей необходимо нажать кнопку <b>Выгрузить пользователей...</b>. После формирования необходимых данных система предложит указать файл, в который будет выполнена выгрузка. Предлагаемое по умолчанию имя файла: <b>IBUsers.xml</b>.</span></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU"><o:p></o:p></span><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Для загрузки пользователей следует нажать кнопку <b>Загрузить пользователей...</b>. Будет предложено выбрать файл, содержащий список пользователей (предварительно выгруженных из информационной базы), после чего произойдет загрузка списка пользователей. Предлагаемое по умолчанию имя файла: <b>IBUsers.xml</b>.<o:p></o:p></span></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="Important"><b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">ВАЖНО!</span></b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU"> Сопоставление пользователей выполняется по именам.<o:p></o:p></span></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Существует возможность обновить информацию о пользователе в информационной базе данными из файла, если имя пользователя в файле и в информационной базе совпадают. Для этого следует установить флажок <b>При совпадении имен пользователей обновлять свойства пользователей</b>. В противном случае при совпадении имен данные пользователя в информационной базе останутся неизменными.<o:p></o:p></span></p> | ||
<p style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Если необходимо получить протокол загрузки, следует указать флажок <b>Формировать протокол загрузки</b> перед началом загрузки. В этом случае будет сформирован текстовый файл, содержащий информацию о загрузке каждого пользователя из файла:<o:p></o:p></span></p> | ||
<ul type="disc"><li style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class="MsoNormal"><b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Пользователь: ИмяПользователя. Не изменен</span></b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">. Пользователь из файла обнаружен в информационной базе. Его данные оставлены без изменения. <o:p></o:p></span> | ||
</li><li style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class="MsoNormal"><b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Пользователь: ИмяПользователя. Обновлен данными из файла.</span></b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU"> Пользователь из файла обнаружен в информационной базе. Его данные обновлены данными из файла. <o:p></o:p></span> | ||
</li><li style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class="MsoNormal"><b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU">Пользователь: ИмяПользователя. Создан новый.</span></b><span style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: RU"> Создан новый пользователь информационной базы с указанным именем.<o:p></o:p></span></li></ul><p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"><o:p><font size="3" face="Calibri"> </font></o:p></p></body></html> |
139 changes: 139 additions & 0 deletions
139
src/ExternalDataProcessors/ВыгрузкаЗагрузкаПользователей/Forms/Форма/Module.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
|
||
&НаСервере | ||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | ||
|
||
ФайлВыгрузки = "IBUsers.xml"; | ||
ФайлЗагрузки = "IBUsers.xml"; | ||
ПриоритетФайла = Ложь; | ||
ФормироватьПротокол = Истина; | ||
|
||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура ПриОткрытии(Отказ) | ||
|
||
#Если ВебКлиент Тогда | ||
// В веб-клиенте оставим только имена файлов | ||
ФайлВыгрузки = "IBUsers.xml"; | ||
ФайлЗагрузки = "IBUsers.xml"; | ||
// и уберем поля для предварительного выбора файлов, т.к. будут использоваться интерактивные методы | ||
Элементы.ФайлВыгрузки.Видимость = Ложь; | ||
Элементы.ФайлЗагрузки.Видимость = Ложь; | ||
#КонецЕсли | ||
|
||
КонецПроцедуры | ||
|
||
#Область ВыгрузкаПользователей | ||
&НаСервере | ||
Функция ВыгрузитьПользователейНаСервере() | ||
|
||
Обработка = РеквизитФормыВЗначение("Объект"); | ||
Возврат Обработка.ВыгрузитьПользователей(); | ||
|
||
КонецФункции | ||
|
||
&НаКлиенте | ||
Процедура ВыгрузитьПользователей(Команда) | ||
|
||
Состояние(НСтр("ru = 'Выполняется выгрузка списка пользователей...'", "ru")); | ||
Результат = ВыгрузитьПользователейНаСервере(); | ||
Если НЕ Результат.Статус Тогда | ||
ПоказатьПредупреждение(, НСтр("ru = 'При выполнении выгрузки пользователей произошла ошибка.'", "ru")); | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Если ПодключитьРасширениеРаботыСФайлами() Тогда | ||
Получаемые = Новый Массив; | ||
ПолучаемыйФайл = Новый ОписаниеПередаваемогоФайла; | ||
ПолучаемыйФайл.Имя = ФайлВыгрузки; | ||
ПолучаемыйФайл.Хранение = Результат.Адрес; | ||
Получаемые.Добавить(ПолучаемыйФайл); | ||
Полученные = Новый Массив; | ||
Если ПолучитьФайлы(Получаемые, Полученные, "", Ложь) Тогда | ||
ПоказатьПредупреждение(, НСтр("ru='Выгрузка завершена успешно. Выгружено пользователей: " + Результат.Количество + "'", "ru")); | ||
КонецЕсли; | ||
Иначе | ||
ПолучитьФайл(Результат.Адрес, ФайлВыгрузки, Истина); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура ФайлВыгрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) | ||
|
||
СтандартнаяОбработка = Ложь; | ||
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); | ||
ДиалогВыбора.Заголовок = НСтр("ru = 'Укажите файл для сохранения списка пользователей'", "ru"); | ||
ДиалогВыбора.ПроверятьСуществованиеФайла = Ложь; | ||
ДиалогВыбора.ПолноеИмяФайла = ФайлВыгрузки; | ||
ДиалогВыбора.Фильтр = НСтр("ru = 'XML-файлы|*.xml|Все файлы|" + ПолучитьМаскуВсеФайлыКлиента() + "'", "ru"); | ||
Результат = ДиалогВыбора.Выбрать(); | ||
Если Результат Тогда | ||
ФайлВыгрузки = ДиалогВыбора.ПолноеИмяФайла; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
#КонецОбласти | ||
|
||
#Область ЗагрузкаПользователей | ||
&НаСервере | ||
Функция ЗагрузитьПользователейНаСервере(Адрес) | ||
|
||
Обработка = РеквизитФормыВЗначение("Объект"); | ||
Возврат Обработка.ЗагрузитьПользователей(Адрес, ПриоритетФайла, ФормироватьПротокол); | ||
|
||
КонецФункции | ||
|
||
&НаКлиенте | ||
Процедура ЗагрузитьПользователей(Команда) | ||
|
||
ИмяПротокола = "IBUsers_log.txt"; | ||
Адрес = ""; | ||
ОбратныйВызов = Новый ОписаниеОповещения("ЗагрузитьПользователейЗавершение", ЭтотОбъект, ИмяПротокола); | ||
#Если ВебКлиент Тогда | ||
НачатьПомещениеФайла(ОбратныйВызов, Адрес, "", Истина); | ||
#Иначе | ||
НачатьПомещениеФайла(ОбратныйВызов, Адрес, ФайлЗагрузки, Ложь); | ||
#КонецЕсли | ||
|
||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура ЗагрузитьПользователейЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ИмяПротокола) Экспорт | ||
|
||
Если Результат Тогда | ||
Состояние(НСтр("ru = 'Выполняется загрузка пользователей информационной базы...'", "ru")); | ||
Результат = ЗагрузитьПользователейНаСервере(Адрес); | ||
Если Результат.Статус = Ложь Тогда | ||
ПоказатьПредупреждение(, НСтр("ru = 'При выполнении загрузки пользователей произошла ошибка.'", "ru")); | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Если ФормироватьПротокол Тогда | ||
ПолучитьФайл(Результат.ФайлПротокола, ИмяПротокола, Истина); | ||
Иначе | ||
Текст = НСтр("ru = 'Загрузка пользователей завершена. Всего прочитано: %1. Загружено: %2. Совпадений: %3.'", "ru"); | ||
Текст = СтрЗаменить(Текст, "%1", Результат.ИзФайла); | ||
Текст = СтрЗаменить(Текст, "%2", Результат.Загружено); | ||
Текст = СтрЗаменить(Текст, "%3", Результат.Совпадений); | ||
ПоказатьПредупреждение(, Текст); | ||
КонецЕсли; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура ФайлЗагрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) | ||
|
||
СтандартнаяОбработка = Ложь; | ||
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); | ||
ДиалогВыбора.Заголовок = НСтр("ru = 'Укажите файл для загрузки списка пользователей'", "ru"); | ||
ДиалогВыбора.ПолноеИмяФайла = ФайлЗагрузки; | ||
ДиалогВыбора.Фильтр = НСтр("ru = 'XML-файлы|*.xml|Все файлы|" + ПолучитьМаскуВсеФайлыКлиента() + "'", "ru"); | ||
Результат = ДиалогВыбора.Выбрать(); | ||
Если Результат Тогда | ||
ФайлЗагрузки = ДиалогВыбора.ПолноеИмяФайла; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
#КонецОбласти |
Oops, something went wrong.