3_1_5_237

This commit is contained in:
Компания 1С committed 2021-10-29 12:32:00 +03:00
1 parent d5da2cab4a
commit 5db66f3ced
216 files changed
+4205 -3999

No files matched your search

@@ -275,7 +275,7 @@
Если КодЯзыка = "ru" Или КодЯзыка = "be" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для русского и белорусского языков (ru_RU, be_BY):
|
|рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2
@@ -293,7 +293,7 @@
ИначеЕсли КодЯзыка = "uk" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для украинского языка (uk_UA):
|
|гривна, гривны, гривен, м, копейка, копейки, копеек, ж, 2
@@ -311,7 +311,7 @@
ИначеЕсли КодЯзыка = "pl" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для польского языка (pl_PL):
|
|złoty, złote, złotych, m, grosz, grosze, groszy, m, 2
@@ -329,7 +329,7 @@
ИначеЕсли КодЯзыка = "en" Или КодЯзыка = "fr" Или КодЯзыка = "fi" Или КодЯзыка = "kk" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для английского, французского, финского и казахского языков (en_US, fr_CA,fi_FI, kk_KZ):
|
|dollar, dollars, cent, cents, 2
@@ -343,7 +343,7 @@
ИначеЕсли КодЯзыка = "de" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для немецкого языка (de_DE):
|
|EURO, EURO, М, Cent, Cent, M, 2
@@ -359,7 +359,7 @@
ИначеЕсли КодЯзыка = "lv" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для латышского языка (lv_LV):
|
|lats, lati, latu, V, santīms, santīmi, santīmu, V, 2, J, J
@@ -381,7 +381,7 @@
ИначеЕсли КодЯзыка = "lt" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для литовского языка (lt_LT):
|
|litas, litai, litų, М, centas, centai, centų, М, 2
@@ -399,7 +399,7 @@
ИначеЕсли КодЯзыка = "et" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для эстонского языка (et_EE):
|
|kroon, krooni, sent, senti, 2
@@ -413,7 +413,7 @@
ИначеЕсли КодЯзыка = "bg" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для болгарского языка (bg_BG):
|
|лев, лева, м, стотинка, стотинки, ж, 2
@@ -433,7 +433,7 @@
ИначеЕсли КодЯзыка = "ro" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для румынского языка (ro_RO):
|
|leu, lei, M, ban, bani, W, 2
@@ -453,7 +453,7 @@
ИначеЕсли КодЯзыка = "ka" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для грузинского языка (ka_GE):
|
|ლარი, თეთრი, 2
@@ -467,7 +467,7 @@
ИначеЕсли КодЯзыка = "az" Или КодЯзыка = "tk" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для азербайджанского(az) и туркменского языков(tk):
|
|TL,Kr,2
@@ -481,7 +481,7 @@
ИначеЕсли КодЯзыка = "vi" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для вьетнамского языка (vi_VN):
|
|dong, xu, 2
@@ -495,7 +495,7 @@
ИначеЕсли КодЯзыка = "tr" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для турецкого языка (tr_TR):
|
|TL,Kr,2,Separate
@@ -510,7 +510,7 @@
ИначеЕсли КодЯзыка = "hu" Тогда
Результат.Инструкция = СтроковыеФункции.ФорматированнаяСтрока(НСтр(
"ru = 'Параметры прописи необходимо перечислить через запятую.
"ru = 'Перечислите параметры прописи через запятую.
|Образец заполнения для венгерского языка (hu):
|
|Forint, fillér, 2
@@ -29,7 +29,7 @@
Если Наименование <> "" И ВариантыОтчетов.НаименованиеЗанято(Отчет, Ссылка, Наименование) Тогда
Отказ = Истина;
ОбщегоНазначения.СообщитьПользователю(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" занято, необходимо указать другое наименование.'"), Наименование),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '""%1"" занято, укажите другое наименование.'"), Наименование),
,
"Наименование");
КонецЕсли;
@@ -79,7 +79,7 @@
КлючВарианта);
КонецЕсли;
ТекстОшибки = ТекстОшибки + НСтр("ru = 'Перед снятием пометки удаления варианта отчета
|необходимо установить пометку удаления конфликтующего варианта отчета.'");
|установите пометку удаления конфликтующего варианта отчета.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЕсли;
@@ -160,7 +160,7 @@
ЧислоВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки.Количество();
Если ЧислоВыделенныхСтрок <> 2 И ЧислоВыделенныхСтрок <> 1 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Для просмотра отличий необходимо выбрать две версии файла.'"));
ПоказатьПредупреждение(, НСтр("ru = 'Для просмотра отличий выберите две версии файла.'"));
Возврат;
КонецЕсли;
@@ -48,7 +48,7 @@
<ul><li>Для создания международного адреса (например, для валютных платежей), включите флажок <strong>Международный формат адреса</strong>, в этом случае ссылка <strong>Дополнительные настройки адреса</strong> становится недоступной.</li></ul><h3>Дополнительные настройки поля Адрес </h3>
<p>С помощью соответствующей ссылки можно перейти к дополнительным настройкам адреса:</p>
<ul><li>Включите флажок <strong>Только российский адрес</strong>, для того чтобы запретить выбор другой страны при заполнении адреса. Используйте эту возможность, если у сотрудников Вашей организации только российские адреса, это ускорит ввод информации. При этом становятся доступными дополнительные настройки:
<ul><li><strong>Запрещать ввод некорректного адреса</strong> - если флажок включен, то при некорректном вводе российского адреса невозможно будет ввести данные в программу (имеет смысл только при использовании шаблонов ввода и адресного классификатора - для использования этой возможности включите флажок <strong>Редактировать только в диалоге</strong>). Адрес проверяется по ФИАС.
<ul><li><strong>Запрещать ввод некорректного адреса</strong> - если флажок включен, то при некорректном вводе российского адреса невозможно будет ввести данные в программу (имеет смысл только при использовании шаблонов ввода и адресного классификатора - для использования этой возможности включите флажок <strong>Редактировать только в диалоге</strong>). Адрес проверяется по ГАР ФНС России.
</li>
<li><strong>Указывать ОКТМО</strong> - включите флажок, для того чтобы автоматически заполнялось поле ОКТМО. По ОКТМО нужно получать адрес муниципального образования, в том числе и код - получение особенностей налогообложения выполняется именно по коду. При необходимости поле можно отредактировать.</li>
<a name="СтандартныеПодсистемы.КонтрольВеденияУчета"></a>
@@ -160,7 +160,7 @@
Если ВидКИСТакимНаименованиемУжеСуществует(ТекущийОбъект) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Вид контактной информации с наименованием %1 уже существует. Необходимо задать другое наименование.'"),
НСтр("ru = 'Вид контактной информации с наименованием %1 уже существует. Задайте другое наименование.'"),
Строка(ТекущийОбъект.Наименование));
КонецЕсли;
@@ -349,14 +349,14 @@
<name>ПроверятьПоФИАС</name>
<synonym>
<key>ru</key>
<value>Проверять по ФИАС</value>
<value>Проверять по адресному классификатору</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<toolTip>
<key>ru</key>
<value>Проверять корректность ввода адресов по классификатору ФИАС</value>
<value>Проверять корректность ввода адресов по адресному классификатору</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
@@ -141,7 +141,7 @@
Если Модифицированность Тогда
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаЗаписатьОбъект", ЭтотОбъект);
ПоказатьВопрос(Оповещение,
НСтр("ru = 'Для проверки обновления необходимо записать изменения. Записать?'"),
НСтр("ru = 'Для проверки обновления запишите изменения. Записать?'"),
РежимДиалогаВопрос.ДаНет);
Иначе
НачатьОбновлениеКомпонентыСПортала();
@@ -161,7 +161,7 @@
Процедура СохранитьКак(Команда)
Если ЭтоАдресВременногоХранилища(АдресДвоичныхДанныхКомпоненты) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Перед сохранение компоненты в файл элемент справочника нужно записать.'"));
ПоказатьПредупреждение(, НСтр("ru = 'Перед сохранение компоненты в файл запишите элемент справочника.'"));
Иначе
ОчиститьСообщения();
ВнешниеКомпонентыСлужебныйКлиент.СохранитьКомпонентуВФайл(Объект.Ссылка);
@@ -269,7 +269,7 @@
Оповещение = Новый ОписаниеОповещения("ЗагрузитьКомпонентуПослеОтображенияОшибки", ЭтотОбъект);
СтрокаСПредупреждением = НСтр("ru = '%1
|Необходимо указать zip-архив с внешней компонентой.
|Укажите zip-архив с внешней компонентой.
|Подробнее см. <a href = ""https://its.1c.ru/db/metod8dev/content/3221"">Технология создания внешних компонент</a>'");
СтрокаСПредупреждением = СтроковыеФункцииКлиент.ФорматированнаяСтрока(СтрокаСПредупреждением, ОписаниеОшибки);
@@ -328,7 +328,7 @@
Если ВыбиратьИерархически Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Для перетаскивания пользователя в группы необходимо отключить
НСтр("ru = 'Для перетаскивания пользователя в группы отключите
|флажок ""Показывать пользователей нижестоящих групп"".'"));
Возврат;
КонецЕсли;
@@ -2163,6 +2163,10 @@
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>OnLoadDataFromSettingsAtServer</event>
<name>ПриЗагрузкеДанныхИзНастроекНаСервере</name>
</handlers>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
@@ -612,7 +612,7 @@
Если Объект.ПометкаУдаления И ВходВПрограммуРазрешен Тогда
ВходВПрограммуРазрешен = Ложь;
ПоказатьПредупреждение(,
НСтр("ru = 'Чтобы разрешить вход в программу, требуется снять
НСтр("ru = 'Чтобы разрешить вход в программу, снимите
|пометку на удаление с этого внешнего пользователя.'"));
Возврат;
КонецЕсли;
@@ -437,7 +437,7 @@
Процедура НастроитьВидимость(Команда)
Если Модифицированность Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("НастроитьВидимостьЗавершение", ЭтотОбъект);
ТекстВопроса = НСтр("ru = 'Для настройки видимости команд печати обработку необходимо записать. Продолжить?'");
ТекстВопроса = НСтр("ru = 'Для настройки видимости команд печати запишите обработку. Продолжить?'");
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("Продолжить", НСтр("ru = 'Продолжить'"));
Кнопки.Добавить(КодВозвратаДиалога.Отмена);
@@ -465,7 +465,7 @@
Обработчик = Новый ОписаниеОповещения("ВыполнитьКомандуПослеПодтвержденияЗаписи", ЭтотОбъект, Контекст);
Если Объект.Ссылка.Пустая() Или Модифицированность Тогда
ТекстВопроса = НСтр("ru = 'Для выполнения команды необходимо записать данные.'");
ТекстВопроса = НСтр("ru = 'Для выполнения команды запишите данные.'");
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("ЗаписатьИПродолжить", НСтр("ru = 'Записать и продолжить'"));
Кнопки.Добавить(КодВозвратаДиалога.Отмена);
@@ -543,7 +543,7 @@
Если ПараметрыЗаписи.РегистрацияОбработки Тогда
ОбновитьПовторноИспользуемыеЗначения();
ТекстОповещения = НСтр("ru = 'Для применения изменений в открытых окнах необходимо их закрыть и открыть заново.'");
ТекстОповещения = НСтр("ru = 'Для применения изменений в открытых окнах закройте их и откройте заново.'");
ПоказатьОповещениеПользователя(, , ТекстОповещения);
КонецЕсли;
ЗаписатьНаКлиентеЗавершение(ПараметрыЗаписи);
@@ -30,7 +30,7 @@
Если НЕ ИспользоватьДляФормыОбъекта И НЕ ИспользоватьДляФормыСписка
И Публикация <> Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Необходимо отключить публикацию или выбрать для использования как минимум одну из форм'")
НСтр("ru = 'Отключите публикацию или выберите для использования как минимум одну из форм'")
,
,
,
@@ -82,7 +82,7 @@
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Имя ""%1"", используемое данным отчетом (обработкой), уже занято другим опубликованным дополнительным отчетом (обработкой).
|
|Для продолжения необходимо изменить вид Публикации с ""%2"" на ""%3"" или ""%4"".'"),
|Для продолжения измените вид Публикации с ""%2"" на ""%3"" или ""%4"".'"),
ИмяОбъекта,
Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется),
Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки),
@@ -2420,11 +2420,9 @@
Если НайденноеОписание = Неопределено Тогда
Возврат;
КонецЕсли;
ПодсистемаСтандартныеПодсистемы = НайденноеОписание.Ссылка;
Отбор = Новый Структура;
Отбор.Вставить("ЭтоНовый", Истина);
Отбор.Вставить("Родитель", ПодсистемаСтандартныеПодсистемы);
НайденныеОписания = Выгрузка.НайтиСтроки(Отбор);
НаследующиеПодсистемы = Новый Массив;
@@ -2433,12 +2431,15 @@
МодульРаботаСФайламиСлужебный.ПриОпределенииНаследованияПодсистем(Выгрузка, НаследующиеПодсистемы);
КонецЕсли;
СтрокаПоиска = Метаданные.Подсистемы.СтандартныеПодсистемы.ПолноеИмя() + ".";
НовыеПодсистемы = Новый Массив;
Для Каждого Описание Из НайденныеОписания Цикл
Если НаследующиеПодсистемы.Найти(Описание) <> Неопределено Тогда
Продолжить;
КонецЕсли;
НовыеПодсистемы.Добавить(Описание.ПолноеИмя);
Если СтрНачинаетсяС(Описание.ПолноеИмя, СтрокаПоиска) Тогда
НовыеПодсистемы.Добавить(Описание.ПолноеИмя);
КонецЕсли;
КонецЦикла;
ОбновитьСписокНовыхПодсистем(НовыеПодсистемы);
@@ -3298,7 +3299,7 @@
ИначеЕсли Не УстановленныеРасширения[0].Активно Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено, но выключено.
|Требуется включить расширение и перезапустить сеанс.'"),
|Включите расширение и перезапустите сеанс.'"),
ИмяРасширения);
ИначеЕсли ОтключенныеРасширения.Количество() > 0 И Не ОтключенныеРасширения[0].Активно
@@ -3306,7 +3307,7 @@
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено после запуска сеанса, поэтому не подключено.
|Требуется перезапустить сеанс.'"),
|Перезапустите сеанс.'"),
ИмяРасширения);
ИначеЕсли ОтключенныеРасширения.Количество() > 0 И ОтключенныеРасширения[0].Активно Тогда
@@ -416,7 +416,7 @@
Если ВыбиратьИерархически Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Для перетаскивания пользователя в группы необходимо отключить
НСтр("ru = 'Для перетаскивания пользователя в группы отключите
|флажок ""Показывать пользователей нижестоящих групп"".'"));
Возврат;
КонецЕсли;
@@ -733,7 +733,7 @@
Если Объект.ПометкаУдаления И ВходВПрограммуРазрешен Тогда
ВходВПрограммуРазрешен = Ложь;
ПоказатьПредупреждение(,
НСтр("ru = 'Чтобы разрешить вход в программу, требуется снять
НСтр("ru = 'Чтобы разрешить вход в программу, снимите
|пометку на удаление с этого пользователя.'"));
Возврат;
КонецЕсли;
@@ -1269,7 +1269,7 @@
ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Роли.Имя");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = НСтр("ru = 'ПолныеПрава'");
ОтборЭлемента.ПравоеЗначение = Метаданные.Роли.ПолныеПрава.Имя;
ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗапретИзмененияАдминистративногоДоступа");
@@ -1294,7 +1294,7 @@
ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Роли.Имя");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = НСтр("ru = 'ПолныеПрава'");
ОтборЭлемента.ПравоеЗначение = Метаданные.Роли.ПолныеПрава.Имя;
ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗапретИзмененияАдминистративногоДоступа");
@@ -89,7 +89,7 @@
Если Не ВыбраноХотьОдноПравило Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Необходимо выбрать хотя бы одно правило для применения'"),,"Список");
НСтр("ru = 'Выберите хотя бы одно правило для применения'"),,"Список");
Отказ = Истина;
КонецЕсли;
@@ -170,7 +170,7 @@
ЕстьГруппы = Ложь;
Проверки = ВыделенныеПроверки(ЕстьГруппы);
Если Проверки.Количество() = 0 Тогда
ВызватьИсключение НСтр("ru = 'Необходимо выбрать в списке одну или несколько проверок.'");
ВызватьИсключение НСтр("ru = 'Выберите в списке одну или несколько проверок.'");
КонецЕсли;
Если ЕстьГруппы Тогда
@@ -197,7 +197,7 @@
Процедура ВыполнитьВсеПроверки(Команда)
Проверки = ВсеВыделенныеПроверки();
Если Проверки.Количество() = 0 Тогда
ВызватьИсключение НСтр("ru = 'Необходимо выбрать в списке одну или несколько проверок.'");
ВызватьИсключение НСтр("ru = 'Выберите в списке одну или несколько проверок.'");
КонецЕсли;
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -169,7 +169,7 @@
ПоказатьВопрос(
Новый ОписаниеОповещения("УстановитьПометкуУдаленияПослеОтветаНаВопрос", ЭтотОбъект),
НСтр("ru = 'Для установки отметки удаления необходимо записать сделанные изменения.
НСтр("ru = 'Для установки отметки удаления запишите сделанные изменения.
|Записать данные?'"), РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
@@ -448,7 +448,7 @@
Если Не ЗаполненыВсеОбязательныеНастройки Тогда
Отказ = Истина;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для отчета ''%1'' заполнены не все настройки, обязательные для заполнения. Необходимо заполнить все обязательные настройки или снять флажок ''Подготовлена''.'"),
НСтр("ru = 'Для отчета ''%1'' заполнены не все настройки, обязательные для заполнения. Заполните все обязательные настройки или снимите флажок ''Подготовлена''.'"),
Строка(СтрокаОтчеты.Отчет));
Поле = "Отчеты["+ Формат(ТекущийОбъект.Отчеты.Индекс(ОбъектСтрокаОтчеты), "ЧН=0; ЧГ=0") +"].Представление";
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, ТекущийОбъект, Поле);
@@ -465,7 +465,7 @@
Если РассылкаНеПерсонализирована И ОтчетПерсонализирован Тогда
Отказ = Истина;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В настройках отчета ''%1'' задан отбор по получателю рассылки. Необходимо отключить этот отбор или изменить вид рассылки на ''Свой отчет для каждого получателя''.'"),
НСтр("ru = 'В настройках отчета ''%1'' задан отбор по получателю рассылки. Отключите этот отбор или измените вид рассылки на ''Свой отчет для каждого получателя''.'"),
Строка(СтрокаОтчеты.Отчет));
Поле = "Отчеты["+ Формат(ТекущийОбъект.Отчеты.Индекс(ОбъектСтрокаОтчеты), "ЧН=0; ЧГ=0") +"].Представление";
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, ТекущийОбъект, Поле);
@@ -1167,7 +1167,7 @@
СтандартнаяОбработка = Ложь;
Если Не ЗначениеЗаполнено(Объект.ТипПолучателейРассылки) Тогда
ТекстОшибки = НСтр("ru = 'Для ввода получателей необходимо выбрать их тип'");
ТекстОшибки = НСтр("ru = 'Для ввода получателей выберите их тип'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки, , "ТипПолучателейРассылки");
Возврат;
КонецЕсли;
@@ -1371,7 +1371,7 @@
// Проверка на содержание типа получателей.
Если Не Настройка.ОписаниеДоступныхТипов.СодержитТип(ОсновнойТипПолучателей) Тогда
ТекстПредупреждения = НСтр("ru = 'Тип ""%1"" не подходит по типу к выбранной настройке.
|Необходимо выбрать другой тип получателей рассылки или другую настройку.'");
|Выберите другой тип получателей рассылки или другую настройку.'");
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, Строка(ОсновнойТипПолучателей));
ПоказатьПредупреждение(, ТекстПредупреждения);
Возврат;
@@ -271,7 +271,7 @@
Если Не ПроверкаВыполнена Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Для сбора технической информации о возникшей проблеме необходимо выполнить проверку сертификата.'"));
НСтр("ru = 'Для сбора технической информации о возникшей проблеме выполните проверку сертификата.'"));
Возврат;
КонецЕсли;
@@ -509,7 +509,7 @@
Если СтандартныеПроверки Тогда
ЭлектроннаяПодписьКлиент.УстановитьРасширение(Ложь, Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст),
НСтр("ru = 'Для продолжения необходимо установить расширение для работы с криптографией.'"));
НСтр("ru = 'Для продолжения установите расширение для работы с криптографией.'"));
Иначе
Контекст.Вставить("МенеджерКриптографии", Неопределено);
ПроверитьНаСторонеКлиентаДополнительныеПроверки(Контекст);
@@ -1,6 +1,6 @@
<!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.9600.17239"></meta></head><body>
<p>Предназначен для настройки и хранения сценариев синхронизации данных.</p>
<p>Открыть список можно из раздела <strong>Синхронизация данных</strong> по соответствующей команде. Также можно открыть список сценариев из списка <strong>Синхронизация данных</strong> по соответствующей команде меню <strong>Еще</strong>.</p>
<p>Сценарии синхронизации для выбранной настройки можно просмотреть с помощью ссылки <b>Синхронизация по расписанию </b>в нижней части списка <b>Настройки Синхронизации данных</b>. Также это можно сделать в настройке синхронизации данных с помощью ссылки панели навигации <b>Сценарии синхронизации</b>.</p>
<p>В списке выводится:</p>
<ul><li>
<div><img src="StdPicture.MoveLeft"></img> - загрузка (получение данных);</div>
@@ -174,7 +174,7 @@
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ТекстВопроса = НСтр("ru = 'Для выполнения проверки целостности требуется записать сведения о томе.
ТекстВопроса = НСтр("ru = 'Для выполнения проверки целостности запишите сведения о томе.
|Записать?'");
Оповещение = Новый ОписаниеОповещения("ТребуетсяЗаписатьФормуДляПроверкиЦелостностиТома", ЭтотОбъект);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
@@ -34,7 +34,7 @@
Элементы.ОставлятьПисьмаНаСервере.Видимость = ДоступноПолучениеПисем;
Элементы.НастройкаУчетнойЗаписиЗаголовок.Заголовок = ?(КонтекстныйРежим,
НСтр("ru = 'Для отправки писем необходимо настроить почту'"),
НСтр("ru = 'Для отправки писем настройте почту'"),
НСтр("ru = 'Введите настройки почты'"));
Элементы.НастройкаУчетнойЗаписиЗаголовок.Видимость = КонтекстныйРежим;
@@ -379,7 +379,7 @@
КонецЕсли;
Если ПустаяСтрока(ПарольДляПолученияПисем) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Необходимо ввести пароль'"), , "ПарольДляПолученияПисем", , Отказ);
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Введите пароль'"), , "ПарольДляПолученияПисем", , Отказ);
КонецЕсли;
КонецПроцедуры
@@ -75,10 +75,12 @@
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ЗначениеЗаполнено(Данные.АдресЭлектроннойПочты) И СтрНайти(Данные.Наименование, Данные.АдресЭлектроннойПочты) = 0 Тогда
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 (%2)'"),
Данные.Наименование, Данные.АдресЭлектроннойПочты);
СтандартнаяОбработка = Ложь;
Иначе
Представление = Данные.Наименование;
КонецЕсли;
КонецПроцедуры
@@ -348,12 +348,12 @@
Если Модифицированность Тогда
Если ЭтотОбъект.Объект.ПометкаУдаления Тогда
ТекстВопроса = НСтр(
"ru = 'Для выполнения действия требуется записать изменения файла.
"ru = 'Для выполнения действия запишите изменения файла.
|Записать изменения и снять пометку на удаление с файла
|""%1""?'");
Иначе
ТекстВопроса = НСтр(
"ru = 'Для выполнения действия требуется записать изменения файла.
"ru = 'Для выполнения действия запишите изменения файла.
|Записать изменения и пометить на удаление файл
|""%1""?'");
КонецЕсли;
@@ -508,7 +508,7 @@
ОбработчикОповещенияОЗакрытии = Новый ОписаниеОповещения("ВопросОНеобходимостиЗаписиПослеЗавершения", ЭтотОбъект);
ПоказатьВопрос(ОбработчикОповещенияОЗакрытии,
НСтр("ru = 'Шаблон анкеты был модифицирован.
|Для корректного отображения изменений шаблон необходимо записать.
|Для корректного отображения изменений запишите шаблон.
|Записать?'"),
РежимДиалогаВопрос.ДаНет,
,
@@ -54,7 +54,6 @@
ИдВерсии = СервисКриптографииDSSКлиентСервер.ИдентификаторВерсииСервера(ВерсияАПИ);
Если ИдВерсии > 1 Тогда
ПроверяемыеРеквизиты.Добавить("СервисАудита");
ПроверяемыеРеквизиты.Добавить("СервисОбработкиДокументов");
КонецЕсли;
@@ -368,7 +368,7 @@
Если Форма.Объект.Ссылка.Пустая() Тогда
Форма.Элементы.ТаблицаВариантыОтветов.ТолькоПросмотр = Истина;
Форма.ИнформацияВариантыОтветов = НСтр("ru = 'Для редактирования вариантов ответов необходимо записать вопрос для анкетирования'");
Форма.ИнформацияВариантыОтветов = НСтр("ru = 'Для редактирования вариантов ответов запишите вопрос для анкетирования'");
Иначе
Форма.Элементы.ТаблицаВариантыОтветов.ТолькоПросмотр = Ложь;
Форма.ИнформацияВариантыОтветов = НСтр("ru = 'Варианты ответов на вопрос:'");
@@ -1419,9 +1419,9 @@
Если ВариантТекстаВопроса = "ИзменениеПометкиУдаления" Тогда
Если Модифицированность Тогда
Если Объект.ПометкаУдаления Тогда
ТекстВопроса = НСтр("ru = 'Для снятия пометки удаления необходимо записать внесенные изменения. Записать данные?'");
ТекстВопроса = НСтр("ru = 'Для снятия пометки удаления запишите внесенные изменения. Записать данные?'");
Иначе
ТекстВопроса = НСтр("ru = 'Для установки пометки удаления необходимо записать внесенные изменения. Записать данные?'");
ТекстВопроса = НСтр("ru = 'Для установки пометки удаления запишите внесенные изменения. Записать данные?'");
КонецЕсли;
Иначе
ТекстВопроса = НСтр("ru = 'Пометить ""%1"" на удаление?'");
@@ -11,7 +11,14 @@
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("РегистрСведений.РезультатыОбменаДанными.Форма.ПредупрежденияСинхронизаций",,
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("МассивУзловПланаОбмена", Новый Массив);
ПараметрыОткрытия.Вставить("ОтборПоДатеВозникновения", Дата(1,1,1));
ПараметрыОткрытия.Вставить("ОтборУзловОбменов", Новый Массив);
ПараметрыОткрытия.Вставить("ОтборТипыПредупреждений", Новый Массив);
ПараметрыОткрытия.Вставить("ТолькоСкрытыеЗаписи", Истина);
ОткрытьФорму("РегистрСведений.РезультатыОбменаДанными.Форма.ПредупрежденияСинхронизаций", ПараметрыОткрытия,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
@@ -237,7 +237,7 @@
Если РольДоступнаНастройкаСинхронизацииДанных Тогда
Элементы.ПоясняющаяНадписьПолученоОбновление.Заголовок = НСтр("ru = 'Получено обновление программы из Интернета.
|Необходимо установить полученное обновление, после чего синхронизация будет продолжена.'");
|Установите полученное обновление, после чего синхронизация будет продолжена.'");
Иначе
Элементы.ПоясняющаяНадписьПолученоОбновление.Заголовок = НСтр("ru = 'Получено обновление программы из Интернета.
|Обратитесь к администратору информационной базы для установки полученного обновления.'");
@@ -375,7 +375,7 @@
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать адрес получателя в списке справа.'"));
ПоказатьПредупреждение(, НСтр("ru = 'Выберите адрес получателя в списке справа.'"));
Возврат;
КонецЕсли;
@@ -17,7 +17,7 @@
Если Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
ВызватьИсключение НСтр("ru = 'Восстановление паролей пользователей не поддерживается.
|Необходимо обновить версию платформы 1С: Предприятие.'");
|Обновите версию платформы 1С: Предприятие.'");
КонецЕсли;
ПрочитьНастройкиВосстановленияПароля();
@@ -1,27 +1,34 @@
<!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>
<p>Предназначен для выбора исполнителя бизнес-процесса (например, <a href="BusinessProcess.Задание.Form.ФормаБизнесПроцесса/Help">Задания</a>).</p>
<p>Предназначена для выбора исполнителя бизнес-процесса (например, <a href="BusinessProcess.Задание.Form.ФормаБизнесПроцесса/Help">Задания</a>).</p>
<p>Открывается из бизнес-процесса по кнопке выбора в поле <strong>Исполнитель</strong>. </p>
<p>В зависимости от специфики бизнес-процессов <a href="Task.ЗадачаИсполнителя/Help">задачи</a> могут быть адресованы исполнителюили группе исполнителей как персонально (персональная адресация - в качестве исполнителя можно выбирать конкретного пользователя), так и для некоторых <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">бизнес-процессов</a> с использованием ролей бизнес-процесса (ролевая адресация).</p>
<p>В зависимости от специфики бизнес-процессов <a href="Task.ЗадачаИсполнителя/Help">задачи</a> могут быть адресованы исполнителю или группе исполнителей как персонально (персональная адресация - в качестве исполнителя можно выбирать конкретного пользователя), так и для некоторых <a href="v8help://1cv8/EnterprWorkingWithBusinessProcesses_StandardInterface">бизнес-процессов</a> с использованием ролей бизнес-процесса (ролевая адресация).</p>
<p>Если выбирается исполнитель, то бизнес-процесс будет адресован этому исполнителю. Если выполняется выбор роли, то бизнес-процесс адресуется тому исполнителю, который в момент рассмотрения задачи <a href="InformationRegister.ИсполнителиЗадач/Help">назначен исполнителем</a> этой роли. <br>В процессе работы роли могут быть переназначены. В этом случае задача автоматически переадресовывается новым исполнителям.</p>
<h3>Пользователи</h3>
<ul><a name="СтандартныеПодсистемы.Пользователи">
</a><li><a name="СтандартныеПодсистемы.Пользователи">Выделите нужного </a><a href="Catalog.Пользователи/Help">пользователя</a>, нажмите <strong>Выбрать</strong></li>.
</a>
<li><a name="СтандартныеПодсистемы.Пользователи">Выделите нужного </a><a href="Catalog.Пользователи/Help">пользователя</a>, нажмите <strong>Выбрать</strong>.</li>
<li>Также можно воспользоваться двойным щелчком мыши.</li></ul><h3>Особенности взаимодействия с внешними пользователями</h3>
<ul><li>
<div>Исполнителями некоторых бизнес-процессов могут быть и внешние пользователи (например, партнеры или контактные лица партнеров).</div>
</li><li>
</li>
<li>
<div>Внешним пользователям, как правило, недоступны имена конкретных сотрудников компании, поэтому в качестве исполнителя они могут указывать только предназначенные для них роли исполнителей.</div>
</li><li>
</li>
<li>
<div>Для этого нужно настроить список таких ролей, указав, что они предназначены для определенных категорий внешних пользователей.</div></li></ul><h3>Роли исполнителей</h3>
<ul><li>
<div>При ролевой адресации поручение выдается не персонально исполнителю, а некоторой роли бизнес-процесса (например, <strong>Старший по залу</strong>). </div>
<ul><li>
<div>Могут использоваться "уточняющие" <a href="ChartOfCharacteristicTypes.ОбъектыАдресацииЗадач/Help">объекты адресации</a>, основные и дополнительные. Например, у роли <strong>Руководитель проектов</strong> могут присутствовать основной объект адресации <strong>Подразделение</strong> и дополнительный объект <strong>Проект</strong>. </div>
</li><li>
<div>Таким образом, с помощью объектов адресации происходит уточнение, руководителям какого проекта и в каком подразделении адресуется задача.</div></li></ul></li><li>
</li>
<li>
<div>Таким образом, с помощью объектов адресации происходит уточнение, руководителям какого проекта и в каком подразделении адресуется задача.</div></li></ul></li>
<li>
<div>Выделите нужную роль исполнителя, нажмите <strong>Выбрать</strong>.</div>
</li><li>
</li>
<li>
<div>Также можно воспользоваться двойным щелчком мыши.</div>
</li><li>
</li>
<li>
<div>При необходимости выберите объект адресации. Нажмите <strong>ОК</strong>.</div></li></ul><h3>См. также: </h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -168,7 +168,7 @@
&НаКлиенте
Процедура УстановитьТекстИнструкцииПоПодключениюУслуги()
ШаблонИнструкции = НСтр("ru = 'Для подключения услуги отправки SMS необходимо заключить договор с провайдером <a href = ""%1"">%2</a>.
ШаблонИнструкции = НСтр("ru = 'Для подключения услуги отправки SMS заключите договор с провайдером <a href = ""%1"">%2</a>.
|Имя отправителя следует заполнять только в случае, если оно предусмотрено договором.
|По вопросам оплаты услуги и проблемам авторизации следует обращаться к провайдеру услуги.'");
@@ -802,8 +802,8 @@
Если ПроверкаУдаления Тогда
ТекстСообщения = ТекстСообщения + Символы.ПС + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для удаления всех унаследованных прав следует
|снять флажок ""%1"".'"),
НСтр("ru = 'Для удаления всех унаследованных прав
|снимите флажок ""%1"".'"),
Элементы.НаследоватьПраваРодителей.Заголовок);
КонецЕсли;
КонецЕсли;
@@ -1029,11 +1029,11 @@
Если ОписаниеСтрокиПриложения.ЭтоНачальнаяВыгрузка Тогда
ТекстЧасть1 = НСтр("ru = 'Перед выгрузкой данных для сопоставления необходимо завершить настройку синхронизации.'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка());
ТекстЧасть1 = НСтр("ru = 'Перед выгрузкой данных для сопоставления завершите настройку синхронизации.'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка());
Иначе
ТекстЧасть1 = НСтр("ru = 'Перед запуском синхронизации данных необходимо завершить ее настройку.'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка());
ТекстЧасть1 = НСтр("ru = 'Перед запуском синхронизации данных завершите ее настройку.'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка());
КонецЕсли;
@@ -64,7 +64,7 @@
Процедура Отправить(Команда)
Если СтрДлина(ТекстСообщения) = 0 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо ввести текст сообщения'"));
ПоказатьПредупреждение(, НСтр("ru = 'Введите текст сообщения'"));
Возврат;
КонецЕсли;
@@ -301,7 +301,7 @@
КонецЕсли;
Если Не ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(Адрес, Истина) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо ввести корректный адрес электронной почты.'"));
ПоказатьПредупреждение(, НСтр("ru = 'Введите корректный адрес электронной почты.'"));
Отказ = Истина;
Возврат;
КонецЕсли;
@@ -461,14 +461,14 @@
Если ПочтовыеАдресаПолучателей.Количество() = 0 Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить получателя письма'"), , "ПочтовыеАдресаПолучателей");
НСтр("ru = 'Заполните получателя письма'"), , "ПочтовыеАдресаПолучателей");
Результат = Ложь;
КонецЕсли;
Для каждого ПолучательПочты Из ПочтовыеАдресаПолучателей Цикл
Адрес = ПочтовыйАдресИзПредставления(ПолучательПочты.Представление);
Если ПустаяСтрока(Адрес) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить получателя письма'"),, "ПочтовыеАдресаПолучателей[" + Формат(ПочтовыеАдресаПолучателей.Индекс(ПолучательПочты), "ЧГ=0") + "].Представление");
НСтр("ru = 'Заполните получателя письма'"),, "ПочтовыеАдресаПолучателей[" + Формат(ПочтовыеАдресаПолучателей.Индекс(ПолучательПочты), "ЧГ=0") + "].Представление");
Результат = Ложь;
ИначеЕсли Не ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(Адрес, Ложь) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
@@ -377,6 +377,17 @@
ТабличныеДокументы = ТабличныеДокументыДляПечати();
УправлениеПечатьюКлиент.РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати,
ТабличныеДокументы.Количество() > 1, ?(НастройкиПечатныхФорм.Количество() > 1, Копий, 1));
// СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов") Тогда
СписокПечати = Новый СписокЗначений;
Для Каждого ПечатнаяФорма Из НастройкиПечатныхФорм Цикл
СписокПечати.Добавить(ПечатнаяФорма.ИмяМакета, ПечатнаяФорма.Название);
КонецЦикла;
МодульУчетОригиналовПервичныхДокументовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УчетОригиналовПервичныхДокументовКлиент");
МодульУчетОригиналовПервичныхДокументовКлиент.ЗаписатьСостоянияОригиналовПослеПечати(ОбъектыПечати, СписокПечати);
КонецЕсли;
// Конец СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
Оповестить("ТабличныеДокументыНапечатаны", ТабличныеДокументы, ОбъектыПечати);
@@ -1531,18 +1542,6 @@
КонецЕсли;
КонецЦикла;
// СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов") Тогда
ПечатныеФормы = НастройкиПечатныхФорм.Выгрузить(,"ИмяМакета, Название");
СписокПечати = Новый СписокЗначений;
Для Каждого ПечатнаяФорма Из ПечатныеФормы Цикл
СписокПечати.Добавить(ПечатнаяФорма.ИмяМакета, ПечатнаяФорма.Название);
КонецЦикла;
МодульУчетОригиналовПервичныхДокументовВызовСервера = ОбщегоНазначения.ОбщийМодуль("УчетОригиналовПервичныхДокументовВызовСервера");
МодульУчетОригиналовПервичныхДокументовВызовСервера.ЗаписатьСостоянияОригиналовПослеПечати(ОбъектыПечати, СписокПечати);
КонецЕсли;
// Конец СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
Возврат ТабличныеДокументы;
КонецФункции
@@ -5,7 +5,7 @@
<id>1</id>
<title>
<key>ru</key>
<value>Для входа в программу необходимо сменить пароль на новый.</value>
<value>Для входа в программу смените пароль на новый.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -54,7 +54,7 @@
Иначе
КлючНазначенияФормы = "УстановкаПароляПриВходеВПрограмму";
Элементы.ПояснениеПриВходе.Заголовок =
НСтр("ru = 'Для входа в программу нужно установить пароль.'")
НСтр("ru = 'Для входа в программу установите пароль.'")
КонецЕсли;
Иначе
Если Не ДополнительныеПараметры.ЭтоТекущийПользовательИБ
@@ -120,7 +120,7 @@
Если Элементы.ПапкаДляСохраненияФайлов.Видимость Тогда
Если ВариантСохранения = "СохранитьВПапку" И ПустаяСтрока(ВыбраннаяПапка) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Необходимо указать папку.'"),,"ВыбраннаяПапка");
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Укажите папку.'"),,"ВыбраннаяПапка");
Возврат;
КонецЕсли;
КонецЕсли;
@@ -134,7 +134,7 @@
КонецЦикла;
Если ФорматыСохранения.Количество() = 0 Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Необходимо указать как минимум один из предложенных форматов.'"));
ПоказатьПредупреждение(,НСтр("ru = 'Укажите как минимум один из предложенных форматов.'"));
Возврат;
КонецЕсли;
@@ -13,7 +13,7 @@
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Отказ = Истина;
ВызватьИсключение НСтр("ru = 'Операция не доступна в мобильном клиенте, необходимо использовать тонкий клиент.'");
ВызватьИсключение НСтр("ru = 'Операция не доступна в мобильном клиенте, используйте тонкий клиент.'");
КонецЕсли;
ТабличныеДокументыДляСравнения = ПолучитьИзВременногоХранилища(Параметры.АдресТабличныхДокументов);
File diff suppressed because it is too large. Load diff
@@ -5,16 +5,16 @@
<ul><li><strong>Простой</strong> - можно только менять уже имеющиеся параметры, с помощью флажков добавлять или убирать их;
</li>
<li><strong>Расширенный</strong> - можно управлять настройками: добавлять параметры, менять поля, структуру отчета. После того, как настройки в расширенном режиме закончены и сохранены, в простом режиме появляется возможность включать и отключать их с помощью флажка.</li></ul><p>Окно настроек в зависимости от сложности отчета состоит из нескольких вкладок:</p>
<ul><li><a href="#1">Отборы</a> - вводятся условия для отборов значений в отчете;
<ul><li><a href="#1">Фильтры</a> - вводятся условия для отборов значений в отчете;
</li>
<li><a href="#2">Поля и сортировки</a>- с помощью флажков можно добавлять в отчет поля или убирать их. Можно добавлять поля для сортировки отчета, убирать их или отключать;
</li>
<li><a href="#4">Оформление</a> - управление оформлением отчета;
</li>
<li><a href="#5">Структура</a> - управление структурой отчета.</li></ul><h3><a name="1">Отборы</a></h3>
<ul><li>При формировании отчетов могут использоваться различные параметры и отборы.
<li><a href="#5">Структура</a> - управление структурой отчета.</li></ul><h3><a name="1">Фильтры</a></h3>
<ul><li>При формировании отчетов могут использоваться различные параметры и фильтры.
</li>
<li>На вкладке можно менять параметры отборов. С помощью флажка отбор по параметру (например, <strong>Период</strong>) можно сделать активным или отключить.
<li>На вкладке можно менять параметры фильтров (отборов). С помощью флажка отбор по параметру (например, <strong>Период</strong>) можно сделать активным или отключить.
</li>
<li>В <strong>Простом</strong> режиме можно в каждом поле с помощью соответствующей команды контекстного меню по правой кнопке мыши <strong>Изменить условия отбора</strong>.
</li>
@@ -24,9 +24,9 @@
</li>
<li>В режиме <strong>Расширенный</strong> можно перейти к настройке всех предусмотренных параметров отчета.
</li>
<li>С помощью соответствующей кнопки можно <strong>Добавить отбор</strong>.
<li>С помощью соответствующей кнопки можно <strong>Добавить фильтр</strong>.
</li>
<li>Для изменения настроек отборов отчета применяется таблица, состоящая из колонок:
<li>Для изменения настроек фильтров (отборов) отчета применяется таблица, состоящая из колонок:
<ul><li><strong>Поле</strong> - перечисление полей, по которым производится отбор;
</li>
<li><strong>Условие</strong> - выбор операции для отбора по каждому полю;
@@ -38,11 +38,11 @@
<li><strong>Значение</strong> - можно указать одно или несколько значений каждого поля для отбора в зависимости от операции.
<ul><li>Для ввода значения можно дважды щелкнуть мышью по полю.
</li>
<li>Введите значение параметра с помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>. Включите флажки рядом с параметрами, по которым необходимо произвести отбор. Можно задействовать все параметры для отбора или часть, включая или выключая флажки.
<li>Введите значение параметра с помощью кнопки<img src="StdPicture.InputFieldSelect"></img><strong>Выбрать</strong>. Включите флажки рядом с параметрами, по которым необходимо произвести отбор. Можно задействовать все параметры для отбора или часть, включая или выключая флажки.
</li>
<li>Для выбора нескольких значений предусмотрена кнопка <strong>Подбор</strong>. Откройте список, выберите несколько значений из списка. Включите флажки рядом с нужными для отбора параметрами. Введите значения параметров для отбора или выберите из списка.</li></ul></li>
<li><img src="CommonPicture.БыстрыйДоступ"></img> <strong>Размещение</strong> - видимость параметра или отбора в окне отчета. Для смены видимости отбора с помощью двойного щелчка мышью можно выбрать одно из нескольких значений:
<ul><li><img src="CommonPicture.БыстрыйДоступ"></img> <strong>В шапке отчета</strong> - параметр или отбор выводится в шапке отчета и в шапке настроек отчета;
<li><img src="CommonPicture.БыстрыйДоступ"></img> <strong>Размещение</strong> - видимость параметра или фильтра в окне отчета. Для смены видимости фильтра с помощью двойного щелчка мышью можно выбрать одно из нескольких значений:
<ul><li><img src="CommonPicture.БыстрыйДоступ"></img> <strong>В шапке отчета</strong> - параметр или фильтр выводится в шапке отчета и в шапке настроек отчета;
</li>
<li><img src="CommonPicture.БыстрыйДоступСФлажком"></img> <strong>Только флажок в шапке отчета</strong> - в шапке отчета и шапке настроек отчета выводится только флажок отбора. С помощью флажка можно только включить или отключить этот отбор. При таком размещении рекомендуется задать полностью понятный заголовок, описывающий значение отбора, поскольку значение отбора не выводится. Применимо только для отборов;
</li>
@@ -52,7 +52,7 @@
</li>
<li><img src="CommonPicture.СкрытаяНастройкаОтчета"></img> <strong>Не показывать </strong>- параметр или отбор выводится только в расширенном режиме настроек отчета.</li></ul></li>
<li><strong>Заголовок</strong> - можно ввести свой заголовок для отбора.</li></ul></li>
<li>Отборы можно группировать. Для этого выделите несколько условий для отбора, выполните команду <strong>Сгруппировать отборы</strong> контекстного меню по правой кнопке мыши или меню <strong>Еще</strong>. Объединить отборы можно в группы <strong>И</strong>, <strong>Или</strong>, <strong>Не</strong>. Для отмены группировки выполните команду <strong>Разгруппировать</strong>.
<li>Отборы можно группировать. Для этого выделите несколько условий для отбора, выполните команду <b>Сгруппировать</b> контекстного меню по правой кнопке мыши или меню <strong>Еще</strong>. Объединить отборы можно в группы <strong>И</strong>, <strong>Или</strong>, <strong>Не</strong>. Для отмены группировки выполните команду <strong>Разгруппировать</strong>.
</li>
<li>Подробнее об отчетах и операциях отборов см. книгу 1С:Предприятие 8.3 Руководство пользователя.</li></ul><h3><a name="2">Поля</a> и сортировки</h3>
<ul><li>Вкладка <strong>Поля и сортировки</strong> состоит из двух частей:
@@ -97,6 +97,6 @@
<h3>Изменение условий отборов</h3>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.Отборы"></img> можно <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.УсловияОтборовОтчета/Help">просмотреть</a> и при необходимости <strong>Изменить условия отборов</strong> по каждому полю. </div></li></ul><h3>Получение данных отчета</h3>
<ul><li>Укажите нужные параметры, нажмите кнопку <strong>Закрыть и сформировать</strong>. Последние настройки будут сохранены автоматически. Если были применены ошибочные настройки, их можно не только изменить, но и сбросить с помощью команд формы отчета. </li></ul><h3 style="font-size: 13.4399995803833px;">Изменение варианта отчета</h3>
<ul><li>Укажите нужные параметры, нажмите кнопку <strong>Закрыть и сформировать</strong>. Последние настройки будут сохранены автоматически. Если были применены ошибочные настройки, их можно не только изменить, но и сбросить с помощью команд <a href="CommonForm.ФормаОтчета/Help">формы отчета</a>. </li></ul><h3 style="font-size: 13.4399995803833px;">Изменение варианта отчета</h3>
<ul><li>Нажмите <strong>Еще - Настройки для технического специалиста</strong>. Можно добавить поля, изменить параметры и настройки отчета. </li>
<li>Внесенные изменения можно сохранить в другой вариант отчета.</li></ul></div></body></html>
@@ -3580,7 +3580,8 @@
Для Каждого ЭлементНастройки Из ВыбранныеПоляУзлаНастроек.Элементы Цикл
Если ТипЗнч(ЭлементНастройки) = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
НайденноеПоле = НайтиВыбранноеПоле(ЭлементНастройки, Поле);
ИначеЕсли ЭлементНастройки.Поле = Поле Тогда
ИначеЕсли ТипЗнч(ЭлементНастройки) = Тип("ВыбранноеПолеКомпоновкиДанных")
И ЭлементНастройки.Поле = Поле Тогда
НайденноеПоле = Поле;
КонецЕсли;
КонецЦикла;
@@ -734,20 +734,16 @@
</extInfo>
</items>
<items xsi:type="form:Button">
<name>Сохранить</name>
<id>51</id>
<title>
<key>ru</key>
<value>Сохранить...</value>
</title>
<name>СохранитьОтчет</name>
<id>1101</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СохранитьРасширеннаяПодсказка</name>
<id>141</id>
<name>СохранитьОтчетРасширеннаяПодсказка</name>
<id>1102</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -755,15 +751,12 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Save</commandName>
<commandName>Form.Command.СохранитьОтчет</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Скачать</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items>
@@ -2373,16 +2366,16 @@
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>СохранитьЕще</name>
<id>752</id>
<name>СохранитьОтчетЕще</name>
<id>1103</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СохранитьЕщеРасширеннаяПодсказка</name>
<id>753</id>
<name>СохранитьОтчетЕщеРасширеннаяПодсказка</name>
<id>1104</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -2390,15 +2383,12 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Save</commandName>
<commandName>Form.Command.СохранитьОтчет</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Скачать</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
@@ -6838,6 +6828,7 @@
<verticalScroll>UseIfNecessary</verticalScroll>
<showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton>
<conversationsRepresentation>Show</conversationsRepresentation>
<attributes>
<name>Отчет</name>
<id>1</id>
@@ -7494,6 +7485,19 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВыводитьЗаголовкиНастроек</name>
<id>17</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ВсеНастройки</name>
<title>
@@ -8661,6 +8665,33 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>СохранитьОтчет</name>
<title>
<key>ru</key>
<value>Сохранить...</value>
</title>
<id>56</id>
<toolTip>
<key>ru</key>
<value>Сохранить результат отчета в файл</value>
</toolTip>
<use>
<common>true</common>
</use>
<shortcut>Ctrl+S</shortcut>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Скачать</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>СохранитьОтчет</name>
</handler>
</action>
<representation>Picture</representation>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Ссылка</name>
<valueType>
@@ -95,7 +95,7 @@
ПостоянныеКоманды.Добавить(Команда.Имя);
КонецЦикла;
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
УстановитьВидимостьДоступность();
КонецЕсли;
@@ -269,7 +269,7 @@
Процедура ПередЗагрузкойВариантаНаСервере(НовыеНастройкиКД)
// Ничего не делать если отчет не на СКД и никаких настроек не загружено.
Если НовыеНастройкиКД = Неопределено
Или Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Или Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
@@ -277,11 +277,7 @@
Если РежимРасшифровки Тогда
ДополнительныеСвойства = НовыеНастройкиКД.ДополнительныеСвойства;
Если ДополнительныеСвойства.Свойство("КлючВарианта")
И ЗначениеЗаполнено(ДополнительныеСвойства.КлючВарианта)
И ЗначениеЗаполнено(КлючТекущегоВарианта)
И ДополнительныеСвойства.КлючВарианта <> КлючТекущегоВарианта Тогда
Если ЗначениеЗаполнено(КлючТекущегоВарианта) Тогда
ДополнительныеСвойства.Вставить("КлючВарианта", КлючТекущегоВарианта);
КонецЕсли;
КонецЕсли;
@@ -307,7 +303,7 @@
&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(НовыеНастройкиКД)
// Ничего не делать если отчет не на СКД и никаких настроек не загружено.
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта)
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта)
И НовыеНастройкиКД = Неопределено Тогда
Возврат;
@@ -362,7 +358,7 @@
&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД)
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
@@ -374,21 +370,24 @@
&НаСервере
Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
КлючХраненияЗначения = КлючХраненияЗначенияВРамкахВариантаОтчета(НастройкиОтчета.ПолноеИмя, КлючТекущегоВарианта);
ВосстановитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки);
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
ВосстановитьСостояниеОпцииВыводитьЗаголовкиНастроек(КлючХраненияЗначения, ВыводитьЗаголовкиНастроек, РежимРасшифровки);
ПараметрыОбновления = Новый Структура("ИмяСобытия", "ПриОбновленииСоставаПользовательскихНастроекНаСервере");
ОбновитьЭлементыФормыНастроекНаСервере(ПараметрыОбновления);
ВосстановитьВыбранныйУровеньГруппировок();
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
@@ -435,13 +434,15 @@
&НаСервере
Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
СохранитьВыбранныйУровеньГруппировок();
КлючХраненияЗначения = КлючХраненияЗначенияВРамкахВариантаОтчета(НастройкиОтчета.ПолноеИмя, КлючТекущегоВарианта);
СохранитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки);
СохранитьСостояниеОпцииВыводитьЗаголовкиНастроек(КлючХраненияЗначения, ВыводитьЗаголовкиНастроек, РежимРасшифровки);
КонецПроцедуры
&НаСервере
Процедура ПриСохраненииВариантаНаСервере(НастройкиКД)
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
НовыеНастройкиКД = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
@@ -455,7 +456,7 @@
&НаСервере
Процедура ПриСохраненииПользовательскихНастроекНаСервере(ПользовательскиеНастройкиКД)
Если Не ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
Возврат;
КонецЕсли;
ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере(ЭтотОбъект, ПользовательскиеНастройкиКД);
@@ -790,6 +791,7 @@
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
ПараметрыФормы.Вставить("КомпоновщикНастроек", Отчет.КомпоновщикНастроек);
ПараметрыФормы.Вставить("КлючТекущегоВарианта", КлючТекущегоВарианта);
ПараметрыФормы.Вставить("ВыводитьЗаголовкиНастроек", ВыводитьЗаголовкиНастроек);
Обработчик = Новый ОписаниеОповещения("ПослеИзмененияСоставаБыстрыхНастроек", ЭтотОбъект);
@@ -891,6 +893,20 @@
ВариантыОтчетовКлиент.ПоделитьсяПользовательскимиНастройками(ОписаниеНастроек);
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Обработчики команд сохранения результата отчета.
&НаКлиенте
Процедура СохранитьОтчет(Команда)
ТекстПредложения = НСтр("ru = 'Для сохранения результата отчета в файл рекомендуется
|установить расширение для работы с файлами.'");
Обработчик = Новый ОписаниеОповещения("ПослеУстановкиРасширенияРаботыСФайлами", ЭтотОбъект);
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Обработчик, ТекстПредложения);
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Обработчики команд контекстного меню табличного документа - результат отчета.
@@ -2853,6 +2869,10 @@
&НаКлиенте
Процедура УточнитьСвойстваФильтра(Фильтр, Поиск)
Если ТипЗнч(Фильтр) <> Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Возврат;
КонецЕсли;
Значения = ОтчетыКлиентСервер.ЗначенияСписком(Фильтр.ПравоеЗначение);
Если Значения.НайтиПоЗначению(Поиск.ПравоеЗначение) = Неопределено Тогда
@@ -2912,12 +2932,7 @@
КонецЕсли;
ОчиститьМенюУровнейГруппировок();
Если ИндексСтруктурыОтчета <> Неопределено
И ИндексСтруктурыОтчета.Количество() > 0 Тогда
ЗаполнитьМенюУровнейГруппировок(ИндексСтруктурыОтчета);
КонецЕсли;
ЗаполнитьМенюУровнейГруппировок(ИндексСтруктурыОтчета);
УстановитьДоступностьМенюУровнейГруппировок();
@@ -2971,7 +2986,14 @@
Возврат;
КонецЕсли;
КоличествоРазделов = ИндексСтруктурыОтчета[0].КоличествоРазделов;
Если ИндексСтруктурыОтчета = Неопределено
Или ИндексСтруктурыОтчета.Количество() = 0 Тогда
ИндексСтруктурыОтчета = ВариантыОтчетовСлужебный.НовыйИндексСтруктурыОтчета();
КоличествоРазделов = 999;
Иначе
КоличествоРазделов = ИндексСтруктурыОтчета[0].КоличествоРазделов;
КонецЕсли;
Если КоличествоРазделов = 1 Тогда
СвойстваМеню = СвойстваМенюУровнейГруппировокПростогоОтчета(ИндексСтруктурыОтчета);
@@ -3231,29 +3253,43 @@
КонецЦикла;
ПодключитьОбработчикОжидания("СохранитьВыбранныйУровеньГруппировокОтложено", 0.1, Истина);
КонецПроцедуры
&НаСервере
Процедура СохранитьВыбранныйУровеньГруппировок()
&НаКлиенте
Процедура СохранитьВыбранныйУровеньГруппировокОтложено()
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта) Тогда
КлючХраненияЗначения = КлючХраненияЗначенияВРамкахВариантаОтчета(НастройкиОтчета.ПолноеИмя, КлючТекущегоВарианта);
СохранитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СохранитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки)
Если РежимРасшифровки Тогда
Возврат;
КонецЕсли;
ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить(
КлючОбъектаВыбранногоУровняГруппировок(), "ВыбранныйУровеньГруппировок", ВыбранныйУровеньГруппировок);
КлючХраненияЗначения, "ВыбранныйУровеньГруппировок", ВыбранныйУровеньГруппировок);
КонецПроцедуры
&НаСервере
Процедура ВосстановитьВыбранныйУровеньГруппировок()
&НаСервереБезКонтекста
Процедура ВосстановитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки)
Если РежимРасшифровки Тогда
Возврат;
КонецЕсли;
СохраненноеЗначение = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(
КлючОбъектаВыбранногоУровняГруппировок(), "ВыбранныйУровеньГруппировок");
КлючХраненияЗначения, "ВыбранныйУровеньГруппировок");
Если ЗначениеЗаполнено(СохраненноеЗначение) Тогда
ВыбранныйУровеньГруппировок = СохраненноеЗначение;
@@ -3280,16 +3316,10 @@
КонецЦикла;
ПодключитьОбработчикОжидания("СохранитьВыбранныйУровеньГруппировокОтложено", 0.1, Истина);
КонецПроцедуры
&НаСервере
Функция КлючОбъектаВыбранногоУровняГруппировок()
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"%1/%2", НастройкиОтчета.ПолноеИмя, КлючТекущегоВарианта);
КонецФункции
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
@@ -3298,7 +3328,7 @@
&НаСервере
Процедура УстановитьВидимостьДоступность(ПриСохраненииВарианта = Ложь)
ПоказыватьКомандыВыбораВариантов =
ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта)
ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта)
И НастройкиОтчета.РазрешеноВыбиратьВарианты;
Если Не ПриСохраненииВарианта Тогда
@@ -3411,7 +3441,7 @@
&НаСервере
Процедура ПроверитьДоступностьОбменаНастройкамиВарианта(МетаданныеОтчета)
ОбменНастройкамиВариантаДоступен = ВариантыОтчетовСлужебный.РежимВариантаОтчета(КлючТекущегоВарианта)
ОбменНастройкамиВариантаДоступен = ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(КлючТекущегоВарианта)
И ВариантыОтчетов.ОтчетПодключенКХранилищу(МетаданныеОтчета);
Элементы.ГруппаОбменНастройкамиЕще.Видимость = ОбменНастройкамиВариантаДоступен;
@@ -3433,7 +3463,9 @@
КлючОбъекта, "", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);
КонецЕсли;
СохранитьВыбранныйУровеньГруппировок();
КлючХраненияЗначения = КлючХраненияЗначенияВРамкахВариантаОтчета(НастройкиОтчета.ПолноеИмя, КлючТекущегоВарианта);
СохранитьВыбранныйУровеньГруппировок(КлючХраненияЗначения, ВыбранныйУровеньГруппировок, РежимРасшифровки);
СохранитьСостояниеОпцииВыводитьЗаголовкиНастроек(КлючХраненияЗначения, ВыводитьЗаголовкиНастроек, РежимРасшифровки);
РежимРасшифровки = Ложь;
ВариантМодифицирован = Ложь;
@@ -4210,7 +4242,10 @@
Возврат;
КонецЕсли;
Если Результат.ВариантМодифицирован Тогда
Если Результат.ВариантМодифицирован
Или Результат.ВыводитьЗаголовкиНастроек <> ВыводитьЗаголовкиНастроек Тогда
ВыводитьЗаголовкиНастроек = Результат.ВыводитьЗаголовкиНастроек;
ОбновитьЭлементыФормыНастроек(Результат);
КонецЕсли;
@@ -4221,4 +4256,187 @@
Возврат 999;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция КлючХраненияЗначенияВРамкахВариантаОтчета(ПолноеИмяОтчета, КлючВарианта)
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"%1/%2", ПолноеИмяОтчета, КлючВарианта);
КонецФункции
#Область ВыводЗаголовковНастроек
&НаСервереБезКонтекста
Процедура СохранитьСостояниеОпцииВыводитьЗаголовкиНастроек(КлючХраненияЗначения, ВыводитьЗаголовкиНастроек, РежимРасшифровки)
Если РежимРасшифровки Тогда
Возврат;
КонецЕсли;
ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить(
КлючХраненияЗначения, "ВыводитьЗаголовкиНастроек", ВыводитьЗаголовкиНастроек);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВосстановитьСостояниеОпцииВыводитьЗаголовкиНастроек(КлючХраненияЗначения, ВыводитьЗаголовкиНастроек, РежимРасшифровки)
Если РежимРасшифровки Тогда
Возврат;
КонецЕсли;
СохраненноеЗначение = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(
КлючХраненияЗначения, "ВыводитьЗаголовкиНастроек");
ВыводитьЗаголовкиНастроек = (СохраненноеЗначение = Истина);
КонецПроцедуры
#КонецОбласти
#Область СохранениеРезультатаОтчета
&НаКлиенте
Процедура ПослеУстановкиРасширенияРаботыСФайлами(РасширениеПодключено, ДополнительныеПараметры) Экспорт
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
Диалог.Фильтр = ДоступныеФорматыСохраненияОтчета(НастройкиОтчета);
Диалог.МножественныйВыбор = Ложь;
Диалог.Заголовок = НСтр("ru = 'Сохранение результата отчета'");
Обработчик = Новый ОписаниеОповещения("ПослеВыбораИмениФайла", ЭтотОбъект);
ФайловаяСистемаКлиент.ПоказатьДиалогВыбора(Обработчик, Диалог);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораИмениФайла(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Массив")
И Результат.Количество() > 0 Тогда
ПолноеИмяФайлаОтчета = Результат[0];
ИначеЕсли ТипЗнч(Результат) = Тип("Строка") Тогда
ПолноеИмяФайлаОтчета = Результат;
Иначе
Возврат;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ПослеСохраненияРезультатаОтчета", ЭтотОбъект, ПолноеИмяФайлаОтчета);
ФорматыСохранения = ФорматыСохраненияОтчета(ПолноеИмяФайлаОтчета);
СвойстваРезультата = НастройкиОтчета.СвойстваРезультата; // см. ВариантыОтчетовСлужебный.СвойстваРезультатаОтчета
РезультатОтчета = РезультатОтчетаДляСохранения(ОтчетТабличныйДокумент, СвойстваРезультата.Заголовки);
РезультатОтчета.НачатьЗапись(Обработчик, ПолноеИмяФайлаОтчета, ФорматыСохранения);
КонецПроцедуры
&НаКлиенте
Процедура ПослеСохраненияРезультатаОтчета(Результат, ПолноеИмяФайлаОтчета) Экспорт
Если Результат <> Истина Тогда
Возврат;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ПриВыбореИмениФайлаОтчета", ЭтотОбъект, ПолноеИмяФайлаОтчета);
ПоказатьОповещениеПользователя(НСтр("ru = 'Отчет сохранен в файл'"), Обработчик, ПолноеИмяФайлаОтчета);
КонецПроцедуры
&НаКлиенте
Процедура ПриВыбореИмениФайлаОтчета(ПолноеИмяФайлаОтчета) Экспорт
ФайловаяСистемаКлиент.ОткрытьФайл(ПолноеИмяФайлаОтчета);
КонецПроцедуры
&НаКлиенте
Функция ФорматыСохраненияОтчета(Знач ПолноеИмяФайлаОтчета)
ОписаниеПолногоИмениФайла = СтрРазделить(ПолноеИмяФайлаОтчета, ПолучитьРазделительПути());
ИмяФайлаОтчета = ОписаниеПолногоИмениФайла[ОписаниеПолногоИмениФайла.ВГраница()];
ОписаниеИмениФайла = СтрРазделить(ИмяФайлаОтчета, ".");
РасширениеФайлаОтчета = ОписаниеИмениФайла[ОписаниеИмениФайла.ВГраница()];
ИндексФорматовСохраненияОтчета = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
НастройкиОтчета, "ИндексФорматовСохраненияОтчета", Новый Соответствие);
Возврат ИндексФорматовСохраненияОтчета[РасширениеФайлаОтчета];
КонецФункции
&НаСервереБезКонтекста
Функция ДоступныеФорматыСохраненияОтчета(НастройкиОтчета)
ДоступныеФорматы = Новый Массив;
ФорматыСохранения = СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента();
ФорматСохраненияTXT = ФорматыСохранения.Найти(ТипФайлаТабличногоДокумента.TXT, "ТипФайлаТабличногоДокумента");
ФорматСохраненияANSITXT = ФорматыСохранения.Найти(ТипФайлаТабличногоДокумента.ANSITXT, "ТипФайлаТабличногоДокумента");
Если ФорматСохраненияTXT <> Неопределено
И ФорматСохраненияANSITXT <> Неопределено Тогда
ФорматыСохранения.Удалить(ФорматСохраненияANSITXT);
КонецЕсли;
ИндексФорматовСохраненияОтчета = Новый Соответствие;
ТекущийФорматСохранения = Новый Массив;
Для Каждого ФорматСохранения Из ФорматыСохранения Цикл
РасширениеФорматаСохранения = "*." + ФорматСохранения.Расширение;
ПредставлениеФорматаСохранения = СтрЗаменить(
ФорматСохранения.Представление,
"." + ФорматСохранения.Расширение,
РасширениеФорматаСохранения);
ТекущийФорматСохранения.Добавить(ПредставлениеФорматаСохранения);
ТекущийФорматСохранения.Добавить(РасширениеФорматаСохранения);
ДоступныеФорматы.Добавить(СтрСоединить(ТекущийФорматСохранения, "|"));
ТекущийФорматСохранения.Очистить();
ИндексФорматовСохраненияОтчета.Вставить(ФорматСохранения.Расширение, ФорматСохранения.ТипФайлаТабличногоДокумента);
КонецЦикла;
НастройкиОтчета.Вставить("ИндексФорматовСохраненияОтчета", ИндексФорматовСохраненияОтчета);
Возврат СтрСоединить(ДоступныеФорматы, "|");
КонецФункции
&НаСервереБезКонтекста
Функция РезультатОтчетаДляСохранения(ОтчетТабличныйДокумент, Заголовки)
РезультатОтчета = Новый ТабличныйДокумент;
РезультатОтчета.Вывести(ОтчетТабличныйДокумент);
Для Каждого ИндексЗаголовка Из Заголовки Цикл
СвойстваЗаголовка = ИндексЗаголовка.Значение;
Если Не СвойстваЗаголовка.ПолеСортируется Тогда
Продолжить;
КонецЕсли;
Область = РезультатОтчета.Область(ИндексЗаголовка.Ключ);
Область.Картинка = Неопределено;
КонецЦикла;
Возврат РезультатОтчета;
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -163,7 +163,7 @@
ВызватьИсключение;
#Иначе
ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке()) + Символы.ПС + Символы.ПС
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В случае ошибки о несоответствии версии компоненты ""comcntr"" следует зарегистрировать ее на компьютере %1
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В случае ошибки о несоответствии версии компоненты ""comcntr"" зарегистрируйте ее на компьютере %1
|для учетной записи ОС Windows, от имени которой выполняется 1С:Предприятие. Например:
|regsvr32.exe ""%2\comcntr.dll""'"), ИмяКомпьютера(), КаталогПрограммы());
#КонецЕсли
@@ -2273,11 +2273,11 @@
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно выполнить операцию администрирования кластера серверов по причине: не существует файл %1
|
|Для администрирования кластера через сервер администрирования (ras) требуется установить на данном
|Для администрирования кластера через сервер администрирования (ras) установите на данном
|компьютере клиент сервера администрирования (rac).
|Для его установки:
|- Для компьютеров с ОС Windows требуется переустановить платформу, установив компонент ""Сервер 1С:Предприятия"";
|- Для компьютеров с ОС Linux требуется установить пакет 1c-enterprise83-server*.'"),
|- Для компьютеров с ОС Windows переустановите платформу, установив компонент ""Сервер 1С:Предприятия"";
|- Для компьютеров с ОС Linux установите пакет 1c-enterprise83-server*.'"),
ФайлКлиента.ПолноеИмя);
КонецЕсли;
@@ -1308,11 +1308,11 @@
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно выполнить операцию администрирования кластера серверов по причине: не существует файл %1.
|
|Для администрирования кластера через сервер администрирования (ras) требуется установить на данном
|Для администрирования кластера через сервер администрирования (ras) установите на данном
|компьютере клиент сервера администрирования (rac).
|Для его установки:
|- Для компьютеров с ОС Windows требуется переустановить платформу, установив компонент ""Администрирование сервера 1С:Предприятия"";
|- Для компьютеров с ОС Linux требуется установить пакет 1c-enterprise83-server*.'"),
|- Для компьютеров с ОС Windows переустановите платформу, установив компонент ""Администрирование сервера 1С:Предприятия"";
|- Для компьютеров с ОС Linux установите пакет 1c-enterprise83-server*.'"),
ФайлКлиента.ПолноеИмя);
КонецЕсли;
@@ -123,7 +123,7 @@
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// следует вызвать в фоновом задании.
// Т.к. при использовании веб-сервиса фирмы "1С" предоставляющего через Интернет сведения об
// адресах РФ в формате ФИАС, всегда доступны адресные сведения по всем регионам РФ,
// адресах РФ в формате адресного классификатора, всегда доступны адресные сведения по всем регионам РФ,
// то возвращает общее количество субъектов РФ.
//
// Возвращаемое значение:
@@ -175,7 +175,7 @@
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// функцию следует вызвать в фоновом задании.
// При использовании веб-сервиса фирмы "1С" предоставляющего через Интернет сведения об
// адресах РФ в формате ФИАС, всегда возвращает Истина, если подключена интернет-поддержка пользователей.
// адресах РФ в формате адресного классификатора, всегда возвращает Истина, если подключена интернет-поддержка пользователей.
//
// Возвращаемое значение:
// Булево - Истина, если адресный классификатор содержит сведения хотя бы по одному региону
@@ -224,7 +224,7 @@
// ** Текст - Строка - текст ошибки.
// ** Подсказка - Строка - текст возможного исправления ошибки.
// * Варианты - Массив - устарело. Содержит описание найденных вариантов в виде массива структур с полями:
// ** Идентификатор - УникальныйИдентификатор - уникальный идентификационный код адресного объекта ФИАС.
// ** Идентификатор - УникальныйИдентификатор - уникальный идентификационный код адресного объекта.
// ** Индекс - Число - почтовый индекс адресного объекта.
// ** КодКЛАДР - Число - код КЛАДР ближайшего объекта.
// ** OKATO - Число - код общероссийского классификатора объектов административно-территориального деления.
@@ -304,7 +304,7 @@
// Возвращает коды адрес (ОКТМО, ОКАТО, налоговых инспекций ФНС и др.) и
// уникальные идентификационные коды адресного объекта и дома.
// Кода не будут заполнены, если адрес не соответствует ФИАС или содержит адресные поля без идентификаторов.
// Кода не будут заполнены, если адрес не соответствует адресному классификатору или содержит адресные поля без идентификаторов.
// При получении кодов через веб-сервиса выполнение функции может занимать 20 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// функцию следует вызвать в фоновом задании.
@@ -312,14 +312,15 @@
// Параметры:
// Адрес - Строка - адрес во внутреннем формате JSON или XML, соответствующий структуре XDTO-пакета Адрес.
// Источник - Строка - источник получения кодов адреса:
// "Сервис1С" - коды будут получены через веб-сервис "1С" предоставляющий сведения об адресах РФ в формате ФИАС;
// "Сервис1С" - коды будут получены через веб-сервис "1С" предоставляющий сведения об адресах РФ в формате
// адресного классификатора;
// "ЗагруженныеДанные" - сначала будет попытка определить коды по загруженным данным адресного классификатора,
// а затем, если коды не были определены, то они будут получены через веб-сервис "1С".
// Если параметр не указан, то определение кодов будет аналогично параметру ЗагруженныеДанные.
// Возвращаемое значение:
// Структура - коды адреса. Если адрес не существует, то поля структуры содержат пустые значения:
// * Идентификатор - Строка - уникальный идентификационный код адресного объекта ФИАС.
// * ИдентификаторДома - Строка - уникальный идентификационный код дома(здания) адресного объекта ФИАС.
// * Идентификатор - Строка - уникальный идентификационный код адресного объекта.
// * ИдентификаторДома - Строка - уникальный идентификационный код дома(здания) адресного объекта.
// * КодКЛАДР - Строка - код классификатор адресов России (КЛАДР).
// * КодИФНСФЛ - Строка - код инспекции ФНС, обслуживающей физических лиц.
// * КодИФНСЮЛ - Строка - код инспекции ФНС, обслуживающей юридические лица.
@@ -363,14 +364,14 @@
// * РегионТипПолный - Строка - полное наименование типа региона. Например: "область".
// * РегионТипКраткий - Строка - краткое наименование типа региона. Например: "обл".
// * ИдентификаторРегиона- УникальныйИдентификатор
// - Неопределено - идентификационный код ФИАС региона.
// - Неопределено - идентификационный код региона.
// * МуниципальныйРайон - Строка - текстовое представление муниципального района для адреса по муниципальному делению.
// * МуниципальныйРайонТипПолный - Строка - полное наименование типа муниципального района по муниципальному
// делению. Например: "городской округ".
// * МуниципальныйРайонТипКраткий - Строка - краткое наименование типа муниципального района для адреса по
// муниципальному делению. Например: "мун.р-н".
// * ИдентификаторМуниципальногоРайона- УникальныйИдентификатор
// - Неопределено - идентификационный код ФИАС муниципального район.
// - Неопределено - идентификационный код муниципального район.
// * КодМуниципальногоРайона - Строка - код муниципального района: 1- муниципальный район; 2- городской округ;
// 3 - внутригородская территория города федерального значения; 4 - муниципальный округ.
// Если не удалось определить код, то возвращается пустая строка.
@@ -380,19 +381,19 @@
// * ПоселениеТипКраткий - Строка - краткое наименование типа муниципального района для адреса по муниципальному
// делению. Например: "с. п.".
// * ИдентификаторПоселения- УникальныйИдентификатор
// - Неопределено - идентификационный код ФИАС поселения.
// - Неопределено - идентификационный код поселения.
// * КодПоселения - Строка - код поселения: 1 - городское поселение; 2 - сельское поселение; 3- межселенная
// территория в составе муниципального района; 4 - внутригородской район городского округа;
// * НаселенныйПункт - Строка - текстовое представление населенного пункта.
// * НаселенныйПунктТипПолный - Строка - полное наименование типа населенного пункта. Например: "деревня".
// * НаселенныйПунктТипКраткий - Строка - краткое наименование типа населенного пункта. Например: "д".
// * ИдентификаторНаселенногоПункта- УникальныйИдентификатор
// - Неопределено - идентификационный код ФИАС населенного пункта.
// * Территория - Строка - текстовое представление территории. В терминах ФИАС элемент планировочной структуры.
// - Неопределено - идентификационный код населенного пункта.
// * Территория - Строка - текстовое представление территории (элемент планировочной структуры).
// * ТерриторияТипПолный - Строка - полное наименование типа территории. Например: "Гаражно-строительный кооп.".
// * ТерриторияТипКраткий - Строка - краткое наименование типа территории. Например: "гск".
// * ИдентификаторТерритории- УникальныйИдентификатор
// - Неопределено - идентификационный код ФИАС территории.
// - Неопределено - идентификационный код территории.
// * ПочтовыйИндекс - Число - почтовый индекс.
// * OKATO - Строка - код общероссийского классификатора объектов административно-территориального деления.
// * КодКЛАДР - Строка - код классификатор адресов России (КЛАДР).
@@ -415,7 +416,7 @@
#Область УстаревшиеПроцедурыИФункции
// Возвращает идентификационный код дома и адресного объекта с помощью веб-сервиса фирмы 1С предоставляющего
// сведения об адресах РФ в формате ФИАС. Для получения идентификаторов требуется подключение
// сведения об адресах РФ в формате адресного классификатора. Для получения идентификаторов требуется подключение
// к Интернет-поддержке пользователей и наличие постоянного соединения с интернетом,
// т.к. адресные сведения, загруженные в программу, не используются.
//
@@ -314,7 +314,7 @@
Функция МуниципальныеРайоны() Экспорт
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Результат = Новый Соответствие;
Результат.Вставить("Г.О.", "Городской округ"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("М.Р-Н", "муниципальный район"); // @Non-NLS-1, @Non-NLS-2
@@ -330,7 +330,7 @@
Функция Поселения() Экспорт
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Результат = Новый Соответствие;
Результат.Вставить("Г.П.", "Городское поселение"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("Г. П.", "Городское поселение"); // @Non-NLS-1, @Non-NLS-2
@@ -325,7 +325,7 @@
КонецФункции
// Проверка адрес на соответствие ФИАС
// Проверка адрес на соответствие адресному классификатору
//
// Параметры:
// Адреса - Соответствие из КлючИЗначение:
@@ -351,7 +351,7 @@
//
// Параметры:
// Родитель - УникальныйИдентификатор - родительский объект.
// Уровень - Число - уровень данных для выбора (по ФИАС от 1 до 7)
// Уровень - Число - уровень данных для выбора
// ТипАдреса - Строка - варианты: Муниципальный, Административно-территориальный
// ДополнительныеПараметры - Структура - описание настроек поиска:
// * ФорматАдреса - Строка - тип используемого классификатора.
@@ -476,7 +476,7 @@
//
// Параметры:
// Родитель - УникальныйИдентификатор - родительский адресный объект.
// Уровень - Число - уровень данных для выбора (по ФИАС от 1 до 7).
// Уровень - Число - уровень данных для выбора.
// ТипАдреса - Строка -Варианты: Муниципальный, Административно-территориальный.
// СтрокаПоиска - Строка - если указана, то будут отобраны адресные сведения совпадающей со строкой.
//
@@ -2006,7 +2006,7 @@
Процедура ОбработатьНовыеДанные(Знач Дескриптор, Знач ПутьКФайлу) Экспорт
Если Дескриптор.DataType = "ФИАС30" Тогда
ОбработатьФИАС(Дескриптор, ПутьКФайлу);
ОбработатьАдресныйКлассификатор(Дескриптор, ПутьКФайлу);
КонецЕсли;
КонецПроцедуры
@@ -4615,25 +4615,25 @@
Архив.ИзвлечьВсе(КаталогФайлов, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
ФайловаяСистема.УдалитьВременныйФайл(ПолноеИмяФайла);
ФайлыСтарогоФИАС = НайтиФайлы(КаталогФайлов, "*EXTRAINFO.FI");
ФайлыНовогоФИАС = НайтиФайлы(КаталогФайлов, "*EXTRAACT.FI");
ФайлыСтарогоАдресногоКлассификатора = НайтиФайлы(КаталогФайлов, "*EXTRAINFO.FI");
ФайлыНовогоАдресногоКлассификатора = НайтиФайлы(КаталогФайлов, "*EXTRAACT.FI");
Если ФайлыНовогоФИАС.Количество() = 0 Тогда
Если ФайлыНовогоАдресногоКлассификатора.Количество() = 0 Тогда
Если ФайлыСтарогоФИАС.Количество() > 0 Тогда
Если ФайлыСтарогоАдресногоКлассификатора.Количество() > 0 Тогда
ТекстПричины = НСтр("ru = 'Не допускается загрузка адресных сведений без поддержки муниципальных адресов.'");
Иначе
ТекстПричины = НСтр("ru = 'Файл не содержит адресных сведений ФИАС'");
ТекстПричины = НСтр("ru = 'Файл не содержит адресных сведений'");
КонецЕсли;
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось загрузить адресные сведения из файла: %1
|по причине: %2
|Необходимо использовать адресные сведения расположенные по адресу https://its.1c.ru/download/fias2'"), ПолноеИмяФайла, ТекстПричины));
|Используйте адресные сведения, расположенные по адресу https://its.1c.ru/download/fias2'"), ПолноеИмяФайла, ТекстПричины));
ВызватьИсключение ТекстПричины;
КонецЕсли;
@@ -4796,7 +4796,7 @@
КонецФункции
// Проверка адрес на соответствие ФИАС
// Проверка адрес на соответствие адресного классификатора
//
// Параметры:
// Адреса - Соответствие из КлючИЗначение:
@@ -5709,7 +5709,7 @@
Если КакиеУровниПроверять["Distict"] <> Неопределено И АдресСтрока["Наименование" + КакиеУровниПроверять["Distict"]] = NULL Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "СвРайМО/Район",
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Район ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Район ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.District, Адрес.DistrictType)));
Продолжить;
@@ -5718,7 +5718,7 @@
Если НЕ ДанныеУровняКорректные("Area", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Субъект РФ'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Субъект РФ ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Субъект РФ ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес["Area"], Адрес["AreaType"], Истина)));
Продолжить;
@@ -5727,7 +5727,7 @@
Если НЕ ДанныеУровняКорректные("MunDistrict", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Муниципальный район'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Муниципальный район ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Муниципальный район ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.MunDistrict, Адрес.MunDistrictType)));
Продолжить;
@@ -5736,7 +5736,7 @@
Если НЕ ДанныеУровняКорректные("Distict", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Район'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Район ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Район ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.District, Адрес.DistrictType)));
Продолжить;
@@ -5745,7 +5745,7 @@
Если НЕ ДанныеУровняКорректные("Settlement", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Поселение'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поселение ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поселение ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.Settlement, Адрес.SettlementType)));
Продолжить;
@@ -5754,7 +5754,7 @@
Если НЕ ДанныеУровняКорректные("City", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Город'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Город ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Город ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.City, Адрес.CityType)));
Продолжить;
@@ -5763,7 +5763,7 @@
Если НЕ ДанныеУровняКорректные("Territory", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Территория'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Территория ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Территория ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.Territory, Адрес.TerritoryType)));
Продолжить;
@@ -5772,7 +5772,7 @@
Если НЕ ДанныеУровняКорректные("Locality", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Населенный пункт'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Населенный пункт ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Населенный пункт ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.Locality, Адрес.LocalityType)));
Продолжить;
@@ -5781,7 +5781,7 @@
Если НЕ ДанныеУровняКорректные("Street", АдресСтрока, КакиеУровниПроверять) Тогда
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, НСтр("ru = 'Улица'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Улица ""%1"" отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Улица ""%1"" отсутствует в адресном классификаторе'"),
СоединитьНаименованиеИТипАдресногоОбъекта(Адрес.Street, Адрес.StreetType)));
Продолжить;
@@ -5977,7 +5977,7 @@
КонецЕсли;
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, ПолеСОшибкой,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 отсутствует в ФИАС%2'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 отсутствует в адресном классификаторе%2'"),
ПредставлениеДома, ТекстПодсказки));
Результат.АдресКорректный = Ложь;
@@ -6038,7 +6038,7 @@
КонецЦикла;
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Дом",
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Земельный участок %1 отсутствует в ФИАС'"),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Земельный участок %1 отсутствует в адресном классификаторе'"),
Участок));
Результат.АдресКорректный = Ложь;
@@ -6681,7 +6681,7 @@
КонецЕсли;
Иначе
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ТипМуниципальногоРайона, "м.р-н") = 0 Тогда
КодМуниципальногоРайона = "1";
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "г.о.") = 0 Тогда
@@ -6702,7 +6702,7 @@
Функция КодПоселения(Знач ТипПоселения)
КодПоселения = "";
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ТипПоселения, "г. п.") = 0 Или СтрСравнить(ТипПоселения, "г.п.") = 0 Тогда // @Non-NLS-2
КодПоселения = "1";
ИначеЕсли СтрСравнить(ТипПоселения, "с.п.") = 0 Тогда
@@ -6914,7 +6914,7 @@
СписокЭлементовДляПроверки = СписокДляПроверки.Item; // СписокXDTO
ПроверяемыйАдрес = СписокЭлементовДляПроверки.Добавить(Сервис.ФабрикаXDTO.Создать(ТипЭлементаСписка));
ПроверяемыйАдрес.Levels = УровниКлассификатораФИАС();
ПроверяемыйАдрес.Levels = УровниКлассификатора();
Если ЭтоКонтактнаяИнформацияВXML(АдресДляПроверки) Тогда
АдресXDTO = ОбщегоНазначения.ОбъектXDTOИзСтрокиXML(АдресДляПроверки, Сервис.ФабрикаXDTO);
ПроверяемыйАдрес.Address = АдресXDTO.Состав.Состав;
@@ -7423,7 +7423,7 @@
#КонецОбласти
#Область ПреобразованиеТиповДанныхФИАС
#Область ПреобразованиеТиповДанныхАдресногоКлассификатора
// Преобразует ДвоичныеДанные в УникальныйИдентификатор.
// Выполняет обратное действие для функции УникальныйИдентификаторВДвоичныеДанные.
@@ -7591,12 +7591,12 @@
КонецФункции
// Набор уровней для запросов ФИАС.
// Набор уровней для запросов адресного классификатора.
//
// Возвращаемое значение:
// ФиксированныйМассив - набор числовых уровней.
//
Функция УровниКлассификатораФИАС()
Функция УровниКлассификатора()
Уровни = Новый Массив;
Уровни.Добавить(1);
@@ -7672,7 +7672,7 @@
// * Сокращение - Строка - наименование субъекта по классификатору. Например "Обл".
// * ПочтовыйИндекс - Число - индекс региона. Если 0 - то неопределено.
// * ПочтовыйИндекс - Число - индекс региона. Если 0 - то неопределено.
// * Идентификатор - УникальныйИдентификатор - идентификатор ФИАС.
// * Идентификатор - УникальныйИдентификатор - идентификатор адресного объекта.
//
Функция СведенияОСубъектахРФ()
Возврат РегистрыСведений.АдресныеОбъекты.КлассификаторСубъектовРФ();
@@ -8462,7 +8462,7 @@
//
Функция ИсправлениеСокращений(Сокращение)
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(Сокращение, "г. п.") = 0 Тогда
Возврат "г.п.";
КонецЕсли;
@@ -9380,6 +9380,8 @@
КонтактнаяИнформация = СтрокуJSONВСтруктуру(Значение);
ЗаполнитьЗначенияСвойств(Результат, КонтактнаяИнформация);
УстановкаТипаКузбассКемеровскойОбласти(Результат);
Возврат Результат;
КонецФункции
@@ -9906,7 +9908,7 @@
Результат = Новый Массив;
// Код, Наименование, Тип, Порядок, КодФИАС
// Код, Наименование, Тип, Порядок, КодАдресногоКлассификатора
// Тип: 1 - владение, 2 - здание, 3 - помещение.
Результат.Добавить(СтрокаОбъектаАдресации("1010", "Дом", 1, 1, 2)); // не локализуется
@@ -9952,25 +9954,25 @@
// Наименование - Строка
// Тип - Число
// Порядок - Число
// КодФИАС - Число
// КодАдресногоКлассификатора - Число
// Возвращаемое значение:
// Структура:
// * Ключ - Строка
// * Сокращение - Строка
// * КодФИАС - Число
// * КодАдресногоКлассификатора - Число
// * Порядок - Число
// * Тип - Число
// * Наименование - Строка
// * Код - Строка
//
Функция СтрокаОбъектаАдресации(Код, Наименование, Тип = 0, Порядок = 0, КодФИАС = 0)
Функция СтрокаОбъектаАдресации(Код, Наименование, Тип = 0, Порядок = 0, КодАдресногоКлассификатора = 0)
СтруктураОбъектаАдресации = Новый Структура;
СтруктураОбъектаАдресации.Вставить("Код", Код);
СтруктураОбъектаАдресации.Вставить("Наименование", Наименование);
СтруктураОбъектаАдресации.Вставить("Тип", Тип);
СтруктураОбъектаАдресации.Вставить("Порядок", Порядок);
СтруктураОбъектаАдресации.Вставить("КодФИАС", КодФИАС);
СтруктураОбъектаАдресации.Вставить("КодАдресногоКлассификатора", КодАдресногоКлассификатора);
СтруктураОбъектаАдресации.Вставить("Сокращение", НРег(Наименование));
СтруктураОбъектаАдресации.Вставить("Ключ", ВРег(Наименование));
Возврат СтруктураОбъектаАдресации;
@@ -10563,7 +10565,7 @@
КонецПроцедуры
Функция ПараметрыФИАС()
Функция ПараметрыАдресногоКлассификатора()
Возврат Новый Структура("Версия, Регион");
@@ -10571,7 +10573,7 @@
Функция ПараметрыВерсииИзФайла(Знач Дескриптор)
ПараметрыВерсии = ПараметрыФИАС();
ПараметрыВерсии = ПараметрыАдресногоКлассификатора();
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
Для Каждого Характеристика Из Дескриптор.Properties.Property Цикл
@@ -10586,10 +10588,10 @@
КонецФункции
Функция ОписаниеПоследнейЗагрузкиФИАС(Знач КодРегиона)
Функция ОписаниеПоследнейЗагрузкиАдресногоКлассификатора(Знач КодРегиона)
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
Результат = ПараметрыФИАС();
Результат = ПараметрыАдресногоКлассификатора();
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("КодСубъектаРФ", КодРегиона);
@@ -10623,7 +10625,7 @@
Возврат Истина;
КонецЕсли;
ПараметрыТекущихДанных = ОписаниеПоследнейЗагрузкиФИАС(ПараметрыНовыхДанных.Регион);
ПараметрыТекущихДанных = ОписаниеПоследнейЗагрузкиАдресногоКлассификатора(ПараметрыНовыхДанных.Регион);
Если ПараметрыТекущихДанных.Версия = Неопределено
ИЛИ ПараметрыНовыхДанных.Версия > ПараметрыТекущихДанных.Версия Тогда
Возврат Истина;
@@ -10633,7 +10635,7 @@
КонецФункции
Процедура ОбработатьФИАС(Знач Дескриптор, Знач ПутьКФайлу)
Процедура ОбработатьАдресныйКлассификатор(Знач Дескриптор, Знач ПутьКФайлу)
КаталогФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла());
@@ -10673,12 +10675,22 @@
КонецПроцедуры
Процедура УстановкаТипаКузбассКемеровскойОбласти(КонтактнаяИнформацияПоПолям) Экспорт
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(КонтактнаяИнформацияПоПолям.area, "Кемеровская область - Кузбасс") = 0 Тогда
КонтактнаяИнформацияПоПолям.area = "Кемеровская область -";
КонтактнаяИнформацияПоПолям.areaType= "Кузбасс";
КонецЕсли;
// АПК: 1297-вкл
КонецПроцедуры
Функция НаименованиеРегионаБезТипа(Наименование)
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Возврат СтрНачинаетсяС(ВРег(Наименование), ВРег("Ханты-Мансийский Автономный округ - Югра")); // @Non-NLS-1
// АПК: 1297-вкл
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -5871,7 +5871,7 @@
ПоказыватьЛичныеВариантыОтчетовДругихАвторов = Пользователи.ЭтоПолноправныйПользователь();
Если ПараметрыПоиска.Свойство("ТолькоЛичные") Тогда
ПоказыватьЛичныеВариантыОтчетовДругихАвторов = ПоказыватьЛичныеВариантыОтчетовДругихАвторов И ПараметрыПоиска.ТолькоЛичные;
ПоказыватьЛичныеВариантыОтчетовДругихАвторов = ПоказыватьЛичныеВариантыОтчетовДругихАвторов И Не ПараметрыПоиска.ТолькоЛичные;
КонецЕсли;
Запрос = Новый Запрос;
@@ -6385,8 +6385,11 @@
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
| ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка
| И (ПредставленияИзРасширений.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК ГруппыТекущегоПользователя
| ПО ГруппыТекущегоПользователя.Пользователь = &ТекущийПользователь
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ПО СоставыГруппПользователей.Пользователь = &ТекущийПользователь
| ПО СоставыГруппПользователей.ГруппаПользователей = ГруппыТекущегоПользователя.ГруппаПользователей
| И &ПоказыватьЛичныеВариантыОтчетовДругихАвторов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК ДоступныеВариантыОтчетов
| ПО ДоступныеВариантыОтчетов.Вариант = ВариантыОтчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ПользовательскиеВариантыОтчетов
@@ -6410,7 +6413,7 @@
| И (&ПоказыватьЛичныеВариантыОтчетовДругихАвторов
| ИЛИ НЕ ВариантыОтчетов.ТолькоДляАвтора
| ИЛИ ВариантыОтчетов.Автор = &ТекущийПользователь)
| И ЕСТЬNULL(ДоступныеВариантыОтчетов.Пользователь, НЕОПРЕДЕЛЕНО) В (СоставыГруппПользователей.ГруппаПользователей, НЕОПРЕДЕЛЕНО)
| И ЕСТЬNULL(ДоступныеВариантыОтчетов.Пользователь, НЕОПРЕДЕЛЕНО) В (СоставыГруппПользователей.Пользователь, &ТекущийПользователь, НЕОПРЕДЕЛЕНО)
| И ЕСТЬNULL(ДоступныеВариантыОтчетов.Видимость, ИСТИНА)
| И (&ЕстьОтборПоКонтексту
| И (ПользовательскиеВариантыОтчетов.Ссылка ЕСТЬ NULL
@@ -7348,7 +7351,7 @@
// Возвращает текст сообщения о том, что данные отчета еще обновляются.
Функция СообщениеДанныеЕщеОбновляются() Экспорт
Возврат НСтр("ru = 'Отчет может содержать некорректные данные, так как не завершен переход на новую версию программы. Если отчет долгое время недоступен, необходимо обратиться к администратору.'");
Возврат НСтр("ru = 'Отчет может содержать некорректные данные, так как не завершен переход на новую версию программы. Если отчет долгое время недоступен, обратитесь к администратору.'");
КонецФункции
////////////////////////////////////////////////////////////////////////////////
@@ -183,7 +183,7 @@
Процедура ОткрытьДиалогРазмещенияВариантовВРазделах(Варианты, Владелец = Неопределено) Экспорт
Если ТипЗнч(Варианты) <> Тип("Массив") Или Варианты.Количество() < 1 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выберите варианты отчетов, которые необходимо разместить в разделах.'"));
ПоказатьПредупреждение(, НСтр("ru = 'Выберите варианты отчетов для размещения в разделах.'"));
Возврат;
КонецЕсли;
@@ -48,7 +48,7 @@
НастройкиОтчета = Форма.НастройкиОтчета; // см. ВариантыОтчетов.НастройкиФормыОтчета
Если Не РежимВариантаОтчета(Форма.КлючТекущегоВарианта)
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(Форма.КлючТекущегоВарианта)
Или Не НастройкиОтчета.РазрешеноИзменятьВарианты Тогда
Возврат;
@@ -102,13 +102,6 @@
КонецПроцедуры
Функция РежимВариантаОтчета(КлючВарианта) Экспорт
Возврат ТипЗнч(КлючВарианта) = Тип("Строка")
И Не ПустаяСтрока(КлючВарианта);
КонецФункции
#Область ПредставлениеНастроекКомпоновкиДанных
Функция ПредставлениеЭлементовСтруктуры(ЭлементыСтруктуры) Экспорт
@@ -1247,7 +1240,7 @@
#Область Конструкторы
Функция НовыйИндексСтруктурыОтчета()
Функция НовыйИндексСтруктурыОтчета() Экспорт
ОписаниеЧисла = Новый ОписаниеТипов("Число");
ОписаниеСтроки = Новый ОписаниеТипов("Строка");
@@ -1786,7 +1779,7 @@
Функция ДанныеЭлементаРасшифровки(Форма, Расшифровка) Экспорт
Если Не РежимВариантаОтчета(Форма.КлючТекущегоВарианта)
Если Не ВариантыОтчетовСлужебныйКлиентСервер.РежимВариантаОтчета(Форма.КлючТекущегоВарианта)
Или Не Форма.НастройкиОтчета.РазрешеноИзменятьВарианты
Или Не ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
@@ -798,7 +798,7 @@
ЭлементСортировки.ТипУпорядочивания = ТипСортировкиРаздела(Команда);
ЭлементСортировки.Использование = Истина;
ОповеститьОЗавершенииКонтекстнойНастройки(Форма, ДействиеКоманды(Команда));
ОповеститьОЗавершенииКонтекстнойНастройки(Форма, ДействиеКоманды(Команда), Ложь);
КонецПроцедуры
@@ -1408,73 +1408,33 @@
Если ЭлементыСтруктуры = Неопределено Тогда
УдалитьЭлементыСортировки(Настройки.Порядок.Элементы);
Если СвойстваЗаголовка.КоличествоРазделов = 1 Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Настройки.Структура);
Иначе
Раздел = Настройки.ПолучитьОбъектПоИдентификатору(СвойстваЗаголовка.ИдентификаторРаздела);
Если ТипЗнч(Раздел) = Тип("ГруппировкаКомпоновкиДанных") Тогда
УдалитьЭлементыСортировки(Раздел.Порядок.Элементы);
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Структура);
ИначеЕсли ТипЗнч(Раздел) = Тип("ТаблицаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Строки);
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Колонки);
КонецЕсли;
КонецЕсли;
Иначе
Для Каждого Элемент Из ЭлементыСтруктуры Цикл
ТипЭлемента = ТипЗнч(Элемент);
Если ТипЭлемента = Тип("ТаблицаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Строки);
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Колонки);
ИначеЕсли ТипЭлемента = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки.Настройки, СвойстваЗаголовка);
ИначеЕсли ТипЭлемента = Тип("ГруппировкаКомпоновкиДанных")
Или ТипЭлемента = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
УдалитьЭлементыСортировки(Элемент.Порядок.Элементы);
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Структура);
КонецЕсли;
КонецЦикла;
Настройки.ОчиститьПорядокЭлемента(Настройки);
ЭлементыСтруктуры = Настройки.Структура;
КонецЕсли;
КонецПроцедуры
Процедура УдалитьЭлементыСортировки(ЭлементыСортировки)
Индекс = ЭлементыСортировки.Количество() - 1;
Пока Индекс >= 0 Цикл
Элемент = ЭлементыСортировки[Индекс];
Для Каждого Элемент Из ЭлементыСтруктуры Цикл
Если ТипЗнч(Элемент) <> Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда
ЭлементыСортировки.Удалить(Элемент);
Настройки.ОчиститьПорядокЭлемента(Элемент);
ТипЭлемента = ТипЗнч(Элемент);
Если ТипЭлемента = Тип("ТаблицаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Строки);
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Колонки);
ИначеЕсли ТипЭлемента = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки.Настройки, СвойстваЗаголовка);
ИначеЕсли ТипЭлемента = Тип("ГруппировкаКомпоновкиДанных")
Или ТипЭлемента = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Структура);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
КонецПроцедуры
@@ -3164,7 +3124,7 @@
// Возвращаемое значение:
// КомпоновщикНастроекКомпоновкиДанных
//
Функция КомпоновщикНастроекОтчета(Форма)
Функция КомпоновщикНастроекОтчета(Форма, РазвернутьАвтоПоля = Истина)
Если СтрЗаканчиваетсяНа(Форма.ИмяФормы, "КонтекстнаяНастройкаОтчета")
Или СтрЗаканчиваетсяНа(Форма.ИмяФормы, "КонтекстнаяНастройкаОтчета") Тогда
@@ -3180,7 +3140,9 @@
КонецЕсли;
КомпоновщикНастроек.РазвернутьАвтоПоля();
Если РазвернутьАвтоПоля Тогда
КомпоновщикНастроек.РазвернутьАвтоПоля();
КонецЕсли;
Возврат КомпоновщикНастроек;
@@ -3194,9 +3156,9 @@
// Возвращаемое значение:
// НастройкиКомпоновкиДанных
//
Функция ИспользуемыеНастройки(Форма, ИдентификаторНастроек = Неопределено)
Функция ИспользуемыеНастройки(Форма, ИдентификаторНастроек = Неопределено, РазвернутьАвтоПоля = Истина)
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма, РазвернутьАвтоПоля);
ИспользуемыеНастройки = КомпоновщикНастроек.Настройки;
Если ТипЗнч(ИдентификаторНастроек) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
@@ -3326,13 +3288,13 @@
КонецФункции
Процедура ОповеститьОЗавершенииКонтекстнойНастройки(Форма, Действие)
Процедура ОповеститьОЗавершенииКонтекстнойНастройки(Форма, Действие, РазвернутьАвтоПоля = Истина)
ЭтоФормОтчета = СтрЗаканчиваетсяНа(Форма.ИмяФормы, "Форма")
Или СтрЗаканчиваетсяНа(Форма.ИмяФормы, "ФормаОтчета");
ИспользуемыеНастройки = ИспользуемыеНастройки(Форма);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма);
ИспользуемыеНастройки = ИспользуемыеНастройки(Форма, Неопределено, РазвернутьАвтоПоля);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма, РазвернутьАвтоПоля);
КомпоновщикНастроек.ЗагрузитьНастройки(ИспользуемыеНастройки);
ИдентификаторВладельца = ?(ЭтоФормОтчета, Форма.УникальныйИдентификатор, Форма.ВладелецФормы.УникальныйИдентификатор);
@@ -145,6 +145,13 @@
КонецФункции
Функция РежимВариантаОтчета(КлючВарианта) Экспорт
Возврат ТипЗнч(КлючВарианта) = Тип("Строка")
И Не ПустаяСтрока(КлючВарианта);
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -398,7 +398,7 @@
// ПоказыватьПроигнорированные - Булево - признак необходимости учета проигнорированных.
// УзелИнформационнойБазы - ПланОбменаСсылка - отбор по конкретному узлу.
// Период - СтандартныйПериод - отбор по периоду.
// СтрокаПоиска - Строка - отбор по в комментарию.
// СтрокаПоиска - Строка - отбор по комментарию.
//
Функция КоличествоКоллизийИлиНепринятых(УзлыОбмена, ЭтоКоличествоКоллизий,
ПоказыватьПроигнорированные, Период, СтрокаПоиска) Экспорт
@@ -1653,7 +1653,7 @@
// Возвращает структуру, содержащую версию объекта и дополнительную информацию.
//
// Параметры:
// Ссылка - ЛюбаяСсылка - ссылка версионируемый объект;
// Ссылка - ЛюбаяСсылка - версионируемый объект;
// НомерВерсии - Число - номер версии объекта.
//
// Возвращаемое значение:
@@ -91,9 +91,16 @@
Результат.Вставить("Версия", Информация.Реквизиты.Версия);
Если ИскатьКомпонентуПоследнейВерсии Тогда
// Версия внешней компоненты больше, чем версия макета.
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
Если ЧастиВерсии.Количество() = 4 Тогда
// Версия внешней компоненты больше, чем версия макета.
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли;
Иначе
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
КонецЕсли;
@@ -133,7 +133,7 @@
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ВызватьОнлайнПоддержкуПослеУстановкиРасширения", ЭтотОбъект);
ТекстСообщения = НСтр("ru = 'Для запуска приложения необходимо установить расширение для работы с 1С:Предприятием.'");
ТекстСообщения = НСтр("ru = 'Для запуска приложения установите расширение для работы с 1С:Предприятием.'");
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Оповещение, ТекстСообщения, Ложь);
КонецПроцедуры
@@ -2417,7 +2417,7 @@
Параметры.ПутьККонфигурации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"File=""%1"";", Параметры.КаталогКопии1CD);
Иначе
Результат.Кратко = НСтр("ru = 'Для выгрузки модулей необходимо закрыть конфигуратор.'");
Результат.Кратко = НСтр("ru = 'Для выгрузки модулей закройте конфигуратор.'");
Возврат Результат;
КонецЕсли;
КонецЕсли;
@@ -245,8 +245,8 @@
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Дополнительный отчет или обработка %1 был загружен из сервиса и не может быть отключен из автономного рабочего места.
|Для удаления дополнительного отчета или обработки необходимо выполнить операцию отключения в
|приложении сервиса и провести синхронизацию данных автономного рабочего места с сервисом.'"),
|Для удаления дополнительного отчета или обработки выполните операцию отключения в
|приложении сервиса и проведите синхронизацию данных автономного рабочего места с сервисом.'"),
Источник.Наименование);
КонецЕсли;
@@ -484,7 +484,7 @@
НовоеЗначение.Вставить(РазделениеДанныхМассив[0], МассивЗначенийРазделителей);
Иначе
ЗначенияОтбора = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЗначениеИзСписка.Значение, Символы.ПС);
ЗначенияОтбора = СтрРазделить(ЗначениеИзСписка.Значение, Символы.ПС, Ложь);
Для Каждого ЗначениеОтбора Из ЗначенияОтбора Цикл
НовоеЗначение.Добавить(ЗначениеОтбора);
КонецЦикла;
@@ -516,9 +516,10 @@
// Не формируем представление отбора, если его значение соответствует значению отбора по умолчанию.
Если ОтборЖурналаРегистрацииПоУмолчанию <> Неопределено Тогда
СписокОграниченийПоУмолчанию = "";
Если ОтборЖурналаРегистрацииПоУмолчанию.Свойство(ИмяОграничения, СписокОграниченийПоУмолчанию)
И ОбщегоНазначенияКлиентСервер.СпискиЗначенийИдентичны(СписокОграниченийПоУмолчанию, СписокОграничений) Тогда
Возврат;
Если ОтборЖурналаРегистрацииПоУмолчанию.Свойство(ИмяОграничения, СписокОграниченийПоУмолчанию) Тогда
Если СписокОграниченийПоУмолчанию.Количество() = СписокОграничений.Количество() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -848,7 +848,7 @@
Дело.Владелец = Раздел;
Дело.Представление = НСтр("ru = 'Согласия на обработку ПДн'");
Дело.Количество = ИстекшиеСогласия.Количество();
Дело.Подсказка = НСтр("ru = 'Истекли согласия на обработку персональных данных (ПДн). Необходимо прекратить обработку ПДн или запросить у субъекта продление согласия на обработку.'");
Дело.Подсказка = НСтр("ru = 'Истекли согласия на обработку персональных данных (ПДн). Прекратите обработку ПДн или запросите у субъекта продление согласия на обработку.'");
Дело.ПараметрыФормы = Новый Структура("ИстекшиеСогласия", ИстекшиеСогласия);
Дело.Форма = "ЖурналДокументов.СогласияНаОбработкуПерсональныхДанных.Форма.ФормаСписка";
КонецЦикла;
@@ -780,7 +780,10 @@
Подписки.ПриДобавленииКлассификаторов = Истина;
Подписки.ПриЗагрузкеКлассификатора = Истина;
Подписки.ПриОбработкеОбластиДанных = Истина;
// ЭлектроннаяПодпись
Подписки.ПриОпределенииИспользуемыхВерсийВнешнихКомпонент = Истина;
КонецПроцедуры
#Область БазоваяФункциональность
@@ -881,6 +884,20 @@
#КонецОбласти
#Область ЭлектроннаяПодпись
// См. ПолучениеВнешнихКомпонентВМоделиСервисаПереопределяемый.ПриОпределенииИспользуемыхВерсийВнешнихКомпонент.
Процедура ПриОпределенииИспользуемыхВерсийВнешнихКомпонент(Идентификаторы) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ПриОпределенииИспользуемыхВерсийВнешнихКомпонент(Идентификаторы);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -68,7 +68,7 @@
// * Идентификатор - Строка
// * Представление - Строка
// * ТипЗначения - ОписаниеТипов
// * ИмяКартинки - Строка
// * Картинка - Строка
// * Порядок - Число
//
Функция ТаблицаПолей() Экспорт
@@ -1993,6 +1993,7 @@
|ГДЕ
| &Условие
| И ИмяТаблицы.Дата > &ДатаНачалаПроверки
| И НЕ ИмяТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
@@ -2007,6 +2008,7 @@
| &ОбъектМетаданных КАК ИмяТаблицы
|ГДЕ
| &Условие
| И НЕ ИмяТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
@@ -3049,6 +3051,7 @@
| &ОбъектМетаданных КАК ИмяТаблицы
|ГДЕ
| &Условие
| И НЕ ИмяТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
@@ -4183,7 +4186,7 @@
УточнениеПроблемы = УточнениеПроблемы + ?(ЗначениеЗаполнено(УточнениеПроблемы), Символы.ПС, "") + ПользовательскоеСообщение.Текст;
КонецЦикла;
Возврат ?(ПустаяСтрока(УточнениеПроблемы), НСтр("ru = 'Для подробной информации необходимо открыть форму объекта.'"), УточнениеПроблемы);
Возврат ?(ПустаяСтрока(УточнениеПроблемы), НСтр("ru = 'Для подробной информации откройте форму объекта.'"), УточнениеПроблемы);
КонецФункции
@@ -108,7 +108,7 @@
Процедура ПриОбработкеКоманды(ФормаОтчета, Команда, Результат) Экспорт
Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.РезультатыПроверкиУчета" Тогда
ТекстНеуспешногоДействия = НСтр("ru = 'Необходимо выбрать строку с проблемным объектом.'");
ТекстНеуспешногоДействия = НСтр("ru = 'Выберите строку с проблемным объектом.'");
Расшифровка = ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.Расшифровка;
Если Команда.Имя = "КонтрольВеденияУчетаИсторияИзмененийОбъекта" Тогда
Результат = КонтрольВеденияУчетаВызовСервера.ДанныеДляИсторииИзмененийОбъекта(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка);
@@ -689,7 +689,7 @@
Для каждого ОбъектМетаданныхСЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
ЛокализуемыеРеквизитыОбъекта = МультиязычныеРеквизитыОбъекта(ОбъектМетаданныхСЭлементами);
ЛокализуемыеРеквизитыОбъекта = НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданныхСЭлементами);
Отборы = Новый Массив;
Для каждого РеквизитОбъекта Из ЛокализуемыеРеквизитыОбъекта Цикл
@@ -1365,6 +1365,34 @@
КонецФункции
Функция НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданных, Префикс = "")
СписокРеквизитовОбъекта = Новый Соответствие;
Если МультиязычныеСтрокиВРеквизитах(ОбъектМетаданных) Тогда
ДлинаСуффиксаЯзыка = ДлинаСуффиксаЯзыка();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 0
| *
|ИЗ
| &ИмяТаблицы КАК ДанныеИсточника";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ИмяТаблицы", ОбъектМетаданных.ПолноеИмя());
РезультатЗапроса = Запрос.Выполнить();
Для каждого Колонка Из РезультатЗапроса.Колонки Цикл
Если СтрЗаканчиваетсяНа(Колонка.Имя, "Язык1") Или СтрЗаканчиваетсяНа(Колонка.Имя, "Язык2") Тогда
СписокРеквизитовОбъекта.Вставить(Префикс + Лев(Колонка.Имя, СтрДлина(Колонка.Имя) - ДлинаСуффиксаЯзыка), Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат СписокРеквизитовОбъекта;
КонецФункции
Функция ДлинаСуффиксаЯзыка()
Возврат СтрДлина("Язык1");
@@ -187,12 +187,12 @@
// то способ отображения должен быть иерархический или в виде дерева.
ОтображениеСписком = ЭлементСписок.Отображение = ОтображениеТаблицы.Список;
Если Информация.ЕстьРодитель И ОтображениеСписком И Не СписокСодержитОтборПоРодителю(НастройкиКомпоновкиДанных) Тогда
Возврат НСтр("ru = 'Для изменения порядка элементов необходимо установить режим просмотра ""Дерево"" или ""Иерархический список"".'");
Возврат НСтр("ru = 'Для изменения порядка элементов установите режим просмотра ""Дерево"" или ""Иерархический список"".'");
КонецЕсли;
// Для подчиненных справочников должен быть установлен отбор по владельцу.
Если Информация.ЕстьВладелец И Не СписокСодержитОтборПоВладельцу(НастройкиКомпоновкиДанных) Тогда
Возврат НСтр("ru = 'Для изменения порядка элементов необходимо установить отбор по полю ""Владелец"".'");
Возврат НСтр("ru = 'Для изменения порядка элементов установите отбор по полю ""Владелец"".'");
КонецЕсли;
// Проверка признака "Использование" у реквизита РеквизитДопУпорядочивания по отношению к перемещаемому элементу.
@@ -362,7 +362,7 @@
РеквизитДопУпорядочивания = НастройкиКомпоновкиДанных.Порядок.ДоступныеПоляПорядка.НайтиПоле(Новый ПолеКомпоновкиДанных("РеквизитДопУпорядочивания"));
Если Не СортировкаПравильная Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для перемещения элементов необходимо настроить сортировку
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Для перемещения элементов настройте сортировку
|в списке по полю ""%1"" (по возрастанию)'"), РеквизитДопУпорядочивания.Заголовок);
КонецЕсли;
@@ -1856,6 +1856,10 @@
ПровестиГенерациюКодаНомераПриНеобходимости(ДанныеДляЗаписиВИБ);
КонецЕсли;
Если УдалятьСозданныеПоКлючевымСвойствам Тогда
ДанныеДляЗаписиВИБ.ДополнительныеСвойства.Вставить("УдалятьСозданныеПоКлючевымСвойствам");
КонецЕсли;
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена И Не ПравилоКонвертации.ЭтоРегистр Тогда
ПолучениеЭлемента = ПолучениеЭлементаДанных.Авто;
ОтправкаНазад = Ложь;
@@ -30,7 +30,7 @@
Если ТребуетсяОбновлениеКонфигурацииУзлаРИБ Тогда
Пояснение = НСтр("ru = 'Получено обновление программы из ""%1"".
|Необходимо установить обновление программы, после чего синхронизация данных будет продолжена.'");
|Установите обновление программы, после чего синхронизация данных будет продолжена.'");
Пояснение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Пояснение, СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ГлавныйУзел);
ПоказатьОповещениеПользователя(НСтр("ru = 'Установить обновление'"), "e1cib/app/Обработка.ВыполнениеОбменаДанными",
Пояснение, БиблиотекаКартинок.Предупреждение32);
@@ -304,7 +304,7 @@
СообщенияОбОшибках.Вставить(72, НСтр("ru = 'Ошибка при выгрузке данных для узла плана обмена'"));
СообщенияОбОшибках.Вставить(73, НСтр("ru = 'Ошибка в обработчике события ПоследовательностьПолейПоиска'"));
СообщенияОбОшибках.Вставить(74, НСтр("ru = 'Необходимо перезагрузить правила обмена для выгрузки данных.'"));
СообщенияОбОшибках.Вставить(74, НСтр("ru = 'Перезагрузите правила обмена для выгрузки данных.'"));
СообщенияОбОшибках.Вставить(75, НСтр("ru = 'Ошибка в обработчике события ПослеЗагрузкиПравилОбмена (конвертация)'"));
СообщенияОбОшибках.Вставить(76, НСтр("ru = 'Ошибка в обработчике события ПередОтправкойИнформацииОбУдалении (конвертация)'"));
@@ -78,6 +78,27 @@
Форма.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Форма.Объект.Наименование + " (%1)",
ПредставлениеПланаОбмена);
Если ОбщегоНазначения.РазделениеВключено() Тогда
ВидимостьНастройкиПодключения = Ложь;
Если Не Форма.Объект.Ссылка.Пустая() Тогда
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(Форма.Объект.Ссылка);
ВидимостьНастройкиПодключения = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS
Или ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Форма.Элементы,
"ФормаОбщаяКомандаНастройкиПодключения",
"Видимость",
ВидимостьНастройкиПодключения);
КонецЕсли;
КонецПроцедуры
// Процедура-обработчик события "ПриЗаписиНаСервере" для формы узла плана обмена.
@@ -10669,7 +10690,7 @@
Если ОбщегоНазначения.ЭтоLinuxСервер() Тогда
ВызватьИсключение НСтр("ru = 'Синхронизация данных через прямое подключение на сервере под управлением ОС Linux недоступно.
|Для синхронизации данных через прямое подключение требуется использовать ОС Windows.'");
|Для синхронизации данных через прямое подключение используйте ОС Windows.'");
КонецЕсли;
@@ -12013,7 +12034,7 @@
// Получение данных необходимо отменить.
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В программе ""%1"" выполняется обновление настроек синхронизации.
|Загрузка данных отменена. Необходимо запустить синхронизацию данных повторно.'"),
|Загрузка данных отменена. Запустите синхронизацию данных повторно.'"),
Строка(СтруктураНастроек.УзелИнформационнойБазы));
Отказ = Истина;
КонецЕсли;
@@ -14683,7 +14704,7 @@
И СтруктураНастроекОбменаВнешнееСоединение.НастройкаСинхронизацииДанныхЗавершена = Ложь Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и завершить в ней настройку синхронизации.
НСтр("ru = 'Для продолжения перейдите в программу ""%1"" и завершите в ней настройку синхронизации.
|Выполнение обмена данными отменено.'"),
СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазыНаименование);
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
@@ -14701,7 +14722,7 @@
И СтруктураНастроекОбменаВнешнееСоединение.ПолученоСообщениеДляСопоставленияДанных = Истина Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и выполнить загрузку сообщения для сопоставления данных.
НСтр("ru = 'Для продолжения перейдите в программу ""%1"" и выполните загрузку сообщения для сопоставления данных.
|Выполнение обмена данными отменено.'"),
СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазыНаименование);
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
@@ -15290,7 +15311,7 @@
//
// Параметры:
// УзелИнформационнойБазы - ПланОбменаСсылка - узел плана обмена, для которого выполняется итерация обмена данными.
// ПараметрыОбменаДляУзла - Структура:
// ПараметрыОбмена - Структура:
// * ВыполнятьЗагрузку - Булево - флаг необходимости выполнять загрузку данных.
// Необязательный, значение по умолчанию Истина.
// * ВыполнятьВыгрузку - Булево - флаг необходимости выполнять выгрузку данных.
@@ -291,7 +291,7 @@
Если Не ЗначениеЗаполнено(ИдентификаторФайла) Тогда
СообщениеОбОшибке = НСтр("ru = 'Не указан идентификатор загружаемого файла. Дальнейшее выполнение метода невозможно.
|Необходимо для загружаемого файла назначить уникальный идентификатор.'");
|Назначьте уникальный идентификатор для загружаемого файла.'");
ВызватьИсключение (СообщениеОбОшибке);
КонецЕсли;
@@ -378,7 +378,7 @@
Иначе
ШаблонСообщения = НСтр("ru = 'Не найден ни один фрагмент сессии передачи с идентификатором %1.
|Необходимо убедиться, что в настройках программы заданы параметры
|Убедитесь, что в настройках программы заданы параметры
|""Каталог временных файлов для Linux"" и ""Каталог временных файлов для Windows"".'");
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Строка(
ИдентификаторФайла));
@@ -3648,6 +3648,11 @@
Возврат;
КонецЕсли;
Если Не ЭтоУдалениеОбъекта
И ЭлементДанных.ДополнительныеСвойства.Свойство("УдалятьСозданныеПоКлючевымСвойствам") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
@@ -5346,12 +5346,12 @@
//
Процедура ИзменитьМаксимумВыборки(ТекстЗапроса, ТекущееКоличество, НовоеКоличество)
ТекстПоиска = "ПЕРВЫЕ " + Формат(ТекущееКоличество, "ЧН=0; ЧГ=0");
ТекстПоиска = "ПЕРВЫЕ " + Формат(ТекущееКоличество, "ЧН=0; ЧГ=0"); // @query-part
Если НовоеКоличество = Неопределено Тогда
ТекстЗамены = "";
Иначе
ТекстЗамены = "ПЕРВЫЕ " + Формат(НовоеКоличество, "ЧН=0; ЧГ=0");
ТекстЗамены = "ПЕРВЫЕ " + Формат(НовоеКоличество, "ЧН=0; ЧГ=0"); // @query-part
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ТекстПоиска, ТекстЗамены);
@@ -5865,14 +5865,14 @@
| %1 КАК %1
| ГДЕ
| %2)";
ШаблонУсловияПоРеквизиту = "Таблица%1.%2 = %3.Ссылка";
ШаблонУсловияПоРеквизиту = "%1.%2 = %3.Ссылка";
РазделительУсловий =
"
| И ";
РазделительУсловийПоРеквизитам =
"
| ИЛИ ";
Таблица = ?(ПолноеИмяРегистра <> Неопределено, "Документа", "Объекта");
Таблица = ?(ПолноеИмяРегистра <> Неопределено, "ТаблицаДокумента", "ТаблицаОбъекта");
Условия = Новый Массив;
Для Каждого ОписаниеМетаданных Из РеквизитыШапки Цикл
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.5.221";
Описание.Версия = "3.1.5.237";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1012,7 +1012,7 @@
Количество = Число(ПотокиОбновления[1]);
Исключение
ТекстИсключения = НСтр(
"ru = 'Параметр запуска программы ""ЧислоПотоковОбновления"" необходимо указать в формате
"ru = 'Укажите параметр запуска программы ""ЧислоПотоковОбновления"" в формате
|""ЧислоПотоковОбновления=Х"", где ""Х"" - максимальное количество потоков обновления.'");
ВызватьИсключение ТекстИсключения;
КонецПопытки;
@@ -6591,18 +6591,15 @@
Процедура ЗаписатьДетальнуюИнформациюОХодеОбновления(ОписаниеОбработчика)
КопияОписания = ОбщегоНазначения.СкопироватьРекурсивно(ОписаниеОбработчика);
Если КопияОписания.Свойство("Параметры") Тогда
КопияОписания.Удалить("Параметры");
КонецЕсли;
Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - ОписаниеОбработчика.ЗначениеНаНачало;
ОписаниеОбработчика.Вставить("Выполнен", Ложь);
ОписаниеОбработчика.Вставить("Длительность", Длительность / 1000); // В секундах
КопияОписания.Вставить("Выполнен", Ложь);
КопияОписания.Вставить("Длительность", Длительность / 1000); // В секундах
КопияОписания = ОбщегоНазначения.СкопироватьРекурсивно(ОписаниеОбработчика);
Если КопияОписания.Свойство("Параметры") Тогда
КопияОписания.Удалить("Параметры");
КонецЕсли;
ЗаписьЖурналаРегистрации(
СобытиеЖурналаРегистрацииПротокол(),
@@ -46,7 +46,7 @@
Результат.ПоддерживаетсяУстановкаИсправлений = Истина;
Результат.ОписаниеОшибки =
НСтр("ru = 'В веб-клиенте доступна только установка исправлений.
|Для установки обновления, необходимо установить
|Для установки обновления, установите
|полный дистрибутив технологической платформы 1С:Предприятие для Windows.'");
#ИначеЕсли МобильныйКлиент Тогда
@@ -65,7 +65,7 @@
Результат.ПоддерживаетсяУстановкаИсправлений = Истина;
Результат.ОписаниеОшибки = Результат.ОписаниеОшибки
+ НСтр("ru = 'При подключении через веб-сервер доступна только установка исправлений.
|Для установки обновления, необходимо установить
|Для установки обновления, установите
|полный дистрибутив технологической платформы 1С:Предприятие для Windows.'");
КонецЕсли;
@@ -76,7 +76,7 @@
Результат.ОписаниеОшибки = Результат.ОписаниеОшибки
+ НСтр("ru = 'Для установки обновления требуется конфигуратор.
|Необходимо установить полный дистрибутив технологической платформы 1С:Предприятие для Windows.'");
|Установите полный дистрибутив технологической платформы 1С:Предприятие для Windows.'");
КонецЕсли;
#КонецЕсли
@@ -8237,7 +8237,7 @@
СравниваемыеКолонки.Добавить("Значение");
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для коллекции типа %1 необходимо указать имена полей, по которым производится сравнение в ОбщегоНазначения.КоллекцииИдентичны'"),
НСтр("ru = 'Для коллекции типа %1 укажите имена полей, по которым производится сравнение в ОбщегоНазначения.КоллекцииИдентичны'"),
ТипКоллекции);
КонецЕсли;
Иначе
@@ -852,24 +852,46 @@
Функция ЭтоМакет(Местоположение)
ШагиПути = СтрРазделить(Местоположение, ".");
Если ШагиПути.Количество() < 2 Тогда
Если СтрНайти(Местоположение, "/") > 0 Тогда
Возврат Ложь;
КонецЕсли;
Путь = Новый Структура;
Попытка
Для каждого ШагПути Из ШагиПути Цикл
Путь.Вставить(ШагПути);
КонецЦикла;
Исключение
ШагиПути = СтрРазделить(Местоположение, ".");
Количество = ШагиПути.Количество();
Если Не Количество = 2 И Не Количество = 4 Тогда
Возврат Ложь;
КонецПопытки;
КонецЕсли;
Если Количество = 2 И Не ВРег(ШагиПути[0]) = "ОБЩИЙМАКЕТ" Тогда
Возврат Ложь;
КонецЕсли;
Если Количество = 4 И Не ВРег(ШагиПути[2]) = "МАКЕТ" Тогда
Возврат Ложь;
КонецЕсли;
Для каждого ШагПути Из ШагиПути Цикл
Если Не ИмяСоответствуетТребованиямИменованияСвойств(ШагПути) Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции
Функция ИмяСоответствуетТребованиямИменованияСвойств(Имя)
Буквы = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ";
Цифры = "1234567890";
Если Имя = "" Или СтрНайти(Буквы + "_", ВРег(Лев(Имя, 1))) = 0 Тогда
Возврат Ложь;
КонецЕсли;
Возврат СтрРазделить(ВРег(Имя), Буквы + Цифры + "_", Ложь).Количество() = 0;
КонецФункции
// Получает из кэша символическое имя внешней компоненты, если она была ранее подключена.
Функция ПолучитьСимволическоеИмяКомпонентыИзКэша(КлючОбъекта)
@@ -962,7 +984,7 @@
ОбщегоНазначенияСлужебныйКлиент, Контекст);
ТекстВопроса =
НСтр("ru = 'Для завершения перерегистрации компоненты comcntr необходимо перезапустить программу.
НСтр("ru = 'Для завершения перерегистрации компоненты comcntr перезапустите программу.
|Перезапустить сейчас?'");
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
@@ -1574,13 +1574,11 @@
КонецПроцедуры
Процедура ПерегруппироватьЭлементыФормыНастроек(Форма, Знач УзелИерархииЭлементов, СвойстваЭлементов, ИменаРеквизитов, ВидыСтилизованныхЭлементов)
ЭтоОсновнаяФорма = (Форма.ТипФормыОтчета = ТипФормыОтчета.Основная);
ОписаниеНастроек = СвойстваЭлементов.Поля.Скопировать(,
"ИндексНастройки, ИдентификаторНастройки, Настройки, ЭлементНастройки, ОписаниеНастройки");
ЭлементыНастроек = ЭлементыФормыНастроек(Форма, ОписаниеНастроек, ИменаРеквизитов);
УстановитьСвойстваЭлементовФормыНастроек(Форма, ЭлементыНастроек, СвойстваЭлементов, ЭтоОсновнаяФорма);
УстановитьСвойстваЭлементовФормыНастроек(Форма, ЭлементыНастроек, СвойстваЭлементов);
Если Форма.ТипФормыОтчета <> ТипФормыОтчета.Настройка Тогда
ЭлементыНастроек.ЗаполнитьЗначения(Ложь, "ЭтоСписок");
@@ -1620,7 +1618,7 @@
Группа = ?(ИдентификаторыГрупп.Количество() = 1, УзелИерархииЭлементов, Элементы.Найти(ИмяГруппы));
Если Группа = Неопределено Тогда
Группа = ГруппаЭлементовФормыНастроек(Элементы, УзелИерархииЭлементов, ИмяГруппы, ЭтоОсновнаяФорма);
Группа = ГруппаЭлементовФормыНастроек(Форма, УзелИерархииЭлементов, ИмяГруппы);
Группа.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Строка %1'"), НомерГруппы);
@@ -1634,18 +1632,18 @@
ДополнительныеСвойства = Форма.Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства;
ПодготовитьЭлементыФормыНастроекКРаспределению(
ЭлементыНастроекГруппы, СвойстваГруппы.Группировка, ЭтоОсновнаяФорма, ДополнительныеСвойства);
РаспределитьЭлементыФормыНастроек(Форма.Элементы, Группа, ЭлементыНастроекГруппы, ЭтоОсновнаяФорма);
ЭлементыНастроекГруппы, СвойстваГруппы.Группировка, ЭтоОсновнаяФорма(Форма), ДополнительныеСвойства);
РаспределитьЭлементыФормыНастроек(Форма, Группа, ЭлементыНастроекГруппы);
КонецЦикла;
ВывестиСтилизованныеЭлементыФормыНастроек(Форма, ЭлементыНастроек, ОписаниеНастроек, ИменаРеквизитов, ВидыСтилизованныхЭлементов);
ДобавитьОтступКолонок(Форма, ЭлементыНастроек, УзелИерархииЭлементов, ЭтоОсновнаяФорма);
ДобавитьОтступКолонок(Форма, ЭлементыНастроек, УзелИерархииЭлементов);
КонецПроцедуры
Процедура ДобавитьОтступКолонок(Форма, ЭлементыНастроек, УзелИерархииЭлементов, ЭтоОсновнаяФорма)
Процедура ДобавитьОтступКолонок(Форма, ЭлементыНастроек, УзелИерархииЭлементов)
Если Не ЭтоОсновнаяФорма Тогда
Если Не ЭтоОсновнаяФорма(Форма) Тогда
Возврат;
КонецЕсли;
@@ -1672,7 +1670,7 @@
Колонка = ПодчиненныеЭлементы[НомерКолонки - 1];
ИмяГруппы = УзелИерархииЭлементов.Имя + "ПоляКолонки" + НомерКолонки;
ГруппаПолейКолонки = ГруппаЭлементовФормыНастроек(Элементы, УзелИерархииЭлементов, ИмяГруппы, ЭтоОсновнаяФорма);
ГруппаПолейКолонки = ГруппаЭлементовФормыНастроек(Форма, УзелИерархииЭлементов, ИмяГруппы);
ГруппаПолейКолонки.Группировка = Колонка.Группировка;
ГруппаПолейКолонки.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поля колонки %1'"), НомерКолонки);
@@ -1922,7 +1920,7 @@
// * Группы - Структура
// * Поля - ТаблицаЗначений
//
Процедура УстановитьСвойстваЭлементовФормыНастроек(Форма, ЭлементыНастроек, СвойстваЭлементов, ЭтоОсновнаяФорма)
Процедура УстановитьСвойстваЭлементовФормыНастроек(Форма, ЭлементыНастроек, СвойстваЭлементов)
КомпоновщикНастроек = Форма.Отчет.КомпоновщикНастроек;
#Область УстановкаСвойствЭлементовИспользование
@@ -2015,7 +2013,7 @@
СвойстваПоля = СвойстваЭлементов.Поля.Найти(Элемент.ИндексНастройки, "ИндексНастройки");
ЗаполнитьЗначенияСвойств(Поле, СвойстваПоля,, "ПоложениеЗаголовка");
Если ЭтоОсновнаяФорма Тогда
Если ЭтоОсновнаяФорма(Форма) И Не Форма.ВыводитьЗаголовкиНастроек Тогда
Если СтрЗаканчиваетсяНа(СвязанноеПоле.Заголовок, ":") Тогда
Заголовок = Лев(СвязанноеПоле.Заголовок, СтрДлина(СвязанноеПоле.Заголовок) - 1);
Иначе
@@ -2360,12 +2358,14 @@
КонецЦикла;
КонецПроцедуры
Процедура РаспределитьЭлементыФормыНастроек(Элементы, Знач Группа, ЭлементыНастроек, ЭтоОсновнаяФорма)
Процедура РаспределитьЭлементыФормыНастроек(Форма, Знач Группа, ЭлементыНастроек)
КоличествоКолонок = 0;
Если ЭлементыНастроек.Количество() > 0 Тогда
КоличествоКолонок = ЭлементыНастроек[ЭлементыНастроек.Количество() - 1].НомерКолонки;
КонецЕсли;
Элементы = Форма.Элементы;
Для НомерКолонки = 1 По КоличествоКолонок Цикл
ПризнакиЭлементов = ЭлементыНастроек.Скопировать(Новый Структура("НомерКолонки", НомерКолонки));
ПризнакиЭлементов.Свернуть("ЭтоФлажок, ЭтоСписок, НомерГруппы");
@@ -2376,7 +2376,7 @@
ИмяКолонки = Группа.Имя + "Колонка" + НомерКолонки;
Колонка = ?(КоличествоКолонок = 1, Группа, Элементы.Найти(ИмяКолонки));
Если Колонка = Неопределено Тогда
Колонка = ГруппаЭлементовФормыНастроек(Элементы, Группа, ИмяКолонки, ЭтоОсновнаяФорма);
Колонка = ГруппаЭлементовФормыНастроек(Форма, Группа, ИмяКолонки);
Колонка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Колонка %1'"), НомерКолонки);
@@ -2390,25 +2390,27 @@
КонецЕсли;
Если ТолькоПоляВвода Тогда
РаспределитьЭлементыФормыНастроекПоСвойствам(Элементы, Колонка, ЭлементыНастроек, НомерКолонки, ЭтоОсновнаяФорма);
РаспределитьЭлементыФормыНастроекПоСвойствам(Форма, Колонка, ЭлементыНастроек, НомерКолонки);
Продолжить;
КонецЕсли;
НомерСтроки = 0;
Для Каждого Признаки Из ПризнакиЭлементов Цикл
НомерСтроки = НомерСтроки + 1;
Родитель = ИерархияЭлементовФормыНастроек(Элементы, Колонка, Признаки, НомерСтроки, НомерКолонки, ЭтоОсновнаяФорма);
Родитель = ИерархияЭлементовФормыНастроек(Форма, Колонка, Признаки, НомерСтроки, НомерКолонки);
РаспределитьЭлементыФормыНастроекПоСвойствам(Элементы, Родитель, ЭлементыНастроек, НомерКолонки, ЭтоОсновнаяФорма, Признаки.НомерГруппы);
РаспределитьЭлементыФормыНастроекПоСвойствам(Форма, Родитель, ЭлементыНастроек, НомерКолонки, Признаки.НомерГруппы);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Процедура РаспределитьЭлементыФормыНастроекПоСвойствам(Элементы, Родитель, ЭлементыНастроек, НомерКолонки, ЭтоОсновнаяФорма, НомерГруппы = Неопределено)
Процедура РаспределитьЭлементыФормыНастроекПоСвойствам(Форма, Родитель, ЭлементыНастроек, НомерКолонки, НомерГруппы = Неопределено)
Элементы = Форма.Элементы;
СвойстваНастроек = СтрРазделить("Использование, ВидСравнения, Значение", ", ", Ложь);
Для Каждого СвойствоНастройки Из СвойстваНастроек Цикл
ИмяГруппы = Родитель.Имя + СвойствоНастройки;
Группа = ГруппаЭлементовФормыНастроек(Элементы, Родитель, ИмяГруппы, ЭтоОсновнаяФорма);
Группа = ГруппаЭлементовФормыНастроек(Форма, Родитель, ИмяГруппы);
Группа.Заголовок = СвойствоНастройки;
Группа.Видимость = (СвойствоНастройки <> "ВидСравнения");
@@ -2425,9 +2427,9 @@
КонецЦикла;
КонецПроцедуры
Функция ИерархияЭлементовФормыНастроек(Элементы, Родитель, Признаки, НомерСтроки, НомерКолонки, ЭтоОсновнаяФорма)
Функция ИерархияЭлементовФормыНастроек(Форма, Родитель, Признаки, НомерСтроки, НомерКолонки)
ИмяСтроки = Родитель.Имя + "Строка" + НомерСтроки;
Строка = ГруппаЭлементовФормыНастроек(Элементы, Родитель, ИмяСтроки, ЭтоОсновнаяФорма);
Строка = ГруппаЭлементовФормыНастроек(Форма, Родитель, ИмяСтроки);
Строка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Строка %1.%2'"), НомерКолонки, НомерСтроки);
@@ -2440,7 +2442,7 @@
КонецЕсли;
ИмяКолонки = Строка.Имя + "Колонка1";
Колонка = ГруппаЭлементовФормыНастроек(Элементы, Строка, ИмяКолонки, ЭтоОсновнаяФорма);
Колонка = ГруппаЭлементовФормыНастроек(Форма, Строка, ИмяКолонки);
Колонка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Колонка %1.%2.1'"), НомерКолонки, НомерСтроки);
@@ -2449,7 +2451,9 @@
Возврат Колонка;
КонецФункции
Функция ГруппаЭлементовФормыНастроек(Элементы, Родитель, ИмяГруппы, ЭтоОсновнаяФорма = Ложь)
Функция ГруппаЭлементовФормыНастроек(Форма, Родитель, ИмяГруппы)
Элементы = Форма.Элементы;
Группа = Элементы.Найти(ИмяГруппы);
Если Группа <> Неопределено Тогда
Возврат Группа;
@@ -2461,13 +2465,19 @@
Группа.Отображение = ОтображениеОбычнойГруппы.Нет;
Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
Если ЭтоОсновнаяФорма Тогда
Если ЭтоОсновнаяФорма(Форма) И Не Форма.ВыводитьЗаголовкиНастроек Тогда
Группа.Объединенная = Ложь;
КонецЕсли;
Возврат Группа;
КонецФункции
Функция ЭтоОсновнаяФорма(Форма)
Возврат (Форма.ТипФормыОтчета = ТипФормыОтчета.Основная);
КонецФункции
// Вывод стилизованных элементов формы настроек.
Процедура ВывестиСтилизованныеЭлементыФормыНастроек(Форма, ЭлементыНастроек, ОписаниеНастроек, ИменаРеквизитов, ВидыЭлементов)
@@ -2755,7 +2765,7 @@
Команда.Картинка = КартинкаКнопкиВыбораПериода();
ИмяГруппыКнопки = СтрЗаменить(ИмяЭлемента, "ВыбратьПериод", "ГруппаВыбратьПериод");
ГруппаКнопки = ГруппаЭлементовФормыНастроек(Форма.Элементы, Группа, ИмяГруппыКнопки);
ГруппаКнопки = ГруппаЭлементовФормыНастроек(Форма, Группа, ИмяГруппыКнопки);
ГруппаКнопки.ГоризонтальноеПоложениеПодчиненных = ГоризонтальноеПоложениеЭлемента.Центр;
Кнопка = Форма.Элементы.Найти(ИмяЭлемента);
@@ -675,21 +675,30 @@
Виды.Колонки.Добавить("ИмяПодменю", Новый ОписаниеТипов("Строка"));
Виды.Колонки.Добавить("Заголовок", Новый ОписаниеТипов("Строка"));
Виды.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число"));
Виды.Колонки.Добавить("Картинка"); // Картинка, Неопределено.
Виды.Колонки.Добавить("Отображение"); // ОтображениеКнопки, Неопределено.
Виды.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
Виды.Колонки.Добавить("Отображение", Новый ОписаниеТипов("ОтображениеКнопки"));
Виды.Колонки.Добавить("ВидГруппыФормы");
ЗаполнениеОбъектов.ПриОпределенииВидовПодключаемыхКоманд(Виды);
СозданиеНаОсновании.ПриОпределенииВидовПодключаемыхКоманд(Виды);
ИнтеграцияПодсистемБСП.ПриОпределенииВидовПодключаемыхКоманд(Виды);
ПодключаемыеКомандыПереопределяемый.ПриОпределенииВидовПодключаемыхКоманд(Виды);
Для Каждого Вид Из Виды Цикл
Если Не ЗначениеЗаполнено(Вид.ИмяПодменю) Тогда
Вид.ИмяПодменю = "Подменю" + Вид.Имя;
КонецЕсли;
Если Не ЗначениеЗаполнено(Вид.Заголовок) Тогда
Вид.Заголовок = Вид.Имя;
КонецЕсли;
КонецЦикла;
// Вид с пустой группой для команд, которые следует размещать в командной панели.
Вид = Виды.Добавить();
Вид.Имя = "КоманднаяПанель";
Вид.ИмяПодменю = "";
Вид.Порядок = 90;
ЗаполнениеОбъектов.ПриОпределенииВидовПодключаемыхКоманд(Виды);
СозданиеНаОсновании.ПриОпределенииВидовПодключаемыхКоманд(Виды);
ИнтеграцияПодсистемБСП.ПриОпределенииВидовПодключаемыхКоманд(Виды);
ПодключаемыеКомандыПереопределяемый.ПриОпределенииВидовПодключаемыхКоманд(Виды);
Виды.Сортировать("Порядок Возр");
Возврат Виды;
@@ -142,7 +142,7 @@
Если ПараметрыВыполнения.ТребуетсяРаботаСФайлами Тогда
ПараметрыВыполнения.ТребуетсяРаботаСФайлами = Ложь;
Обработчик = Новый ОписаниеОповещения("ПродолжитьВыполнениеКомандыПослеУстановкиРасширенияРаботыСФайлами", ЭтотОбъект, ПараметрыВыполнения);
ТекстСообщения = НСтр("ru = 'Для продолжения необходимо установить расширение для работы с 1С:Предприятием.'");
ТекстСообщения = НСтр("ru = 'Для продолжения установите расширение для работы с 1С:Предприятием.'");
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Обработчик, ТекстСообщения);
Возврат;
КонецЕсли;
@@ -184,9 +184,9 @@
Если ИнформацияОДокументах.Непроведенные.Количество() > 0 Тогда
Если ИнформацияОДокументах.ДоступноПравоПроведения Тогда
Если ИнформацияОДокументах.Непроведенные.Количество() = 1 Тогда
ТекстВопроса = НСтр("ru = 'Для выполнения команды необходимо предварительно провести документ. Выполнить проведение документа и продолжить?'");
ТекстВопроса = НСтр("ru = 'Для выполнения команды предварительно проведите документ. Выполнить проведение документа и продолжить?'");
Иначе
ТекстВопроса = НСтр("ru = 'Для выполнения команды необходимо предварительно провести документы. Выполнить проведение документов и продолжить?'");
ТекстВопроса = НСтр("ru = 'Для выполнения команды предварительно проведите документы. Выполнить проведение документов и продолжить?'");
КонецЕсли;
ПараметрыВыполнения.НепроведенныеДокументы = ИнформацияОДокументах.Непроведенные;
Обработчик = Новый ОписаниеОповещения("ПродолжитьВыполнениеКомандыПослеПодтверждениеПроведения", ЭтотОбъект, ПараметрыВыполнения);
@@ -196,9 +196,9 @@
ПоказатьВопрос(Обработчик, ТекстВопроса, Кнопки);
Иначе
Если ИнформацияОДокументах.Непроведенные.Количество() = 1 Тогда
ТекстПредупреждения = НСтр("ru = 'Для выполнения команды необходимо предварительно провести документ. Недостаточно прав для проведения документа.'");
ТекстПредупреждения = НСтр("ru = 'Для выполнения команды предварительно проведите документ. Недостаточно прав для проведения документа.'");
Иначе
ТекстПредупреждения = НСтр("ru = 'Для выполнения команды необходимо предварительно провести документы. Недостаточно прав для проведения документов.'");
ТекстПредупреждения = НСтр("ru = 'Для выполнения команды предварительно проведите документы. Недостаточно прав для проведения документов.'");
КонецЕсли;
ПоказатьПредупреждение(, ТекстПредупреждения);
КонецЕсли;
@@ -624,7 +624,7 @@
|найти ни одного пользователя с ролями Полные права и Администратор системы.
|
|Вероятно, пользователи создавались в конфигураторе.
|Требуется назначить роли Полные права и Администратор системы хотя бы одному пользователю.'");
|Назначьте роли Полные права и Администратор системы хотя бы одному пользователю.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Иначе
@@ -3218,7 +3218,7 @@
Если ПарольЗадан Или ПроверитьПустойПароль Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Требуется установить пароль.'"),, "СменитьПароль",, Отказ);
НСтр("ru = 'Установите пароль.'"),, "СменитьПароль",, Отказ);
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -4406,8 +4406,10 @@
Возврат Новый Массив;
КонецЕсли;
ПользователиИБСПочтой = ПользователиCЭлектроннойПочтойДляВосстановления();
Если ВнешниеПользователи.ИспользоватьВнешнихПользователей() Тогда
Возврат ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей();
Возврат ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей(ПользователиИБСПочтой);
КонецЕсли;
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
@@ -4415,7 +4417,8 @@
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| МАКСИМУМ(ПользователиКонтактнаяИнформация.Ссылка) КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
| ПользователиКонтактнаяИнформация.Представление КАК Представление,
| Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
@@ -4426,17 +4429,19 @@
| И Пользователи.Служебный = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| ПользователиКонтактнаяИнформация.Представление";
| ПользователиКонтактнаяИнформация.Представление,
| Пользователи.ИдентификаторПользователяИБ";
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
Возврат СписокПользователейДляОбновления(ПользователиИБСПочтой, РезультатЗапроса);
КонецФункции
Функция ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей()
Функция ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей(ПользователиИБСПочтой)
ТипыВнешнихПользователей = Метаданные.ОпределяемыеТипы.ВнешнийПользователь.Тип.Типы();
@@ -4480,7 +4485,8 @@
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов() + "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| МАКСИМУМ(Пользователи.Ссылка) КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
| ПользователиКонтактнаяИнформация.Представление КАК Представление,
| Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
@@ -4495,7 +4501,7 @@
| И ВременнаяТаблица.Почта ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ПользователиКонтактнаяИнформация.Представление
| ПользователиКонтактнаяИнформация.Представление, Пользователи.ИдентификаторПользователяИБ
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(ПользователиКонтактнаяИнформация.Ссылка) = 1";
@@ -4509,8 +4515,40 @@
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
Возврат СписокПользователейДляОбновления(ПользователиИБСПочтой, РезультатЗапроса);
КонецФункции
Функция СписокПользователейДляОбновления(ПользователиИБСПочтой, РезультатЗапроса)
Если ПользователиИБСПочтой.Количество() = 0 Тогда
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
КонецЕсли;
СписокПользователей = Новый Массив;
Для Каждого ПользователяДляОбновления Из РезультатЗапроса Цикл
СведенияОПользователе = ПользователиИБСПочтой[ПользователяДляОбновления.Представление];
Если СведенияОПользователе = Неопределено Тогда
СписокПользователей.Добавить(ПользователяДляОбновления.Ссылка);
Продолжить;
КонецЕсли;
Если СтрСравнить(ПользователяДляОбновления.ИдентификаторПользователяИБ, СведенияОПользователе.УникальныйИдентификатор) = 0 Тогда
Продолжить;
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для пользователя %1 не может быть установлена почта %2 для восстановления пароля, т.к. она используется для пользователя %3(%4)'"),
ПользователяДляОбновления.Ссылка, СведенияОПользователе.АдресЭлектроннойПочты, СведенияОПользователе.Имя, СведенияОПользователе.ПолноеИмя);
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.Пользователи, ПользователяДляОбновления.Ссылка, ТекстСообщения);
КонецЦикла;
Возврат СписокПользователей;
КонецФункции
@@ -4531,7 +4569,8 @@
ТекстЗапроса = "ВЫБРАТЬ
| ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
| ПользователиКонтактнаяИнформация.Представление КАК Представление,
| Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
@@ -4546,7 +4585,8 @@
ШаблонЗапроса = "ВЫБРАТЬ
| ВнешниеПользователи.Ссылка КАК Ссылка,
| КонтактнаяИнформацияВнешнегоПользователя.Представление
| КонтактнаяИнформацияВнешнегоПользователя.Представление,
| ВнешниеПользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| Справочник.ВнешниеПользователи КАК ВнешниеПользователи
| ЛЕВОЕ СОЕДИНЕНИЕ #КонтактнаяИнформация КАК КонтактнаяИнформацияВнешнегоПользователя
@@ -4574,15 +4614,17 @@
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов() + "
|ВЫБРАТЬ
| МАКСИМУМ(ВременнаяТаблица.Ссылка) КАК Ссылка
| МАКСИМУМ(ВременнаяТаблица.Ссылка) КАК Ссылка,
| ВременнаяТаблица.Представление КАК Представление,
| ВременнаяТаблица.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|
|СГРУППИРОВАТЬ ПО
| ВременнаяТаблица.Представление
| ВременнаяТаблица.Представление, ВременнаяТаблица.ИдентификаторПользователяИБ
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(ВременнаяТаблица.Ссылка) = 1
| КОЛИЧЕСТВО(ВременнаяТаблица.Ссылка) = 1
| И ТИПЗНАЧЕНИЯ(МАКСИМУМ(ВременнаяТаблица.Ссылка)) <> ТИП(Справочник.Пользователи)";
Запрос = Новый Запрос(ТекстЗапроса);
@@ -4594,7 +4636,9 @@
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
ПользователиИБСПочтой = ПользователиCЭлектроннойПочтойДляВосстановления();
Возврат СписокПользователейДляОбновления(ПользователиИБСПочтой, РезультатЗапроса);
КонецФункции
@@ -4679,7 +4723,7 @@
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ОтменитьТранзакцию();
// Если не удалось обработать пользователя, повторяем попытку снова.
ИнформацияОбОшибке = ИнформацияОбОшибке();
@@ -4699,6 +4743,45 @@
КонецФункции
Функция ПользователиCЭлектроннойПочтойДляВосстановления()
ПользователиИБСПочтой = Новый Соответствие;
ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из ПользователиИБ Цикл
СведенияОПользователе = СведенияОПользователеДляОбновленияПочтыДляВосстановления();
ЗаполнитьЗначенияСвойств(СведенияОПользователе, ПользовательИБ);
Если ЗначениеЗаполнено(СведенияОПользователе.АдресЭлектроннойПочты) Тогда
ПользователиИБСПочтой.Вставить(СведенияОПользователе.АдресЭлектроннойПочты, СведенияОПользователе);
КонецЕсли;
КонецЦикла;
Возврат ПользователиИБСПочтой;
КонецФункции
// Возвращаемое значение:
// Структура:
// * АдресЭлектроннойПочты - Строка
// * УникальныйИдентификатор - Строка
// * Имя - Строка
// * ПолноеИмя - Строка
//
Функция СведенияОПользователеДляОбновленияПочтыДляВосстановления()
Результат = Новый Структура;
Результат.Вставить("АдресЭлектроннойПочты", "");
Результат.Вставить("УникальныйИдентификатор", "");
Результат.Вставить("Имя", "");
Результат.Вставить("ПолноеИмя", "");
Возврат Результат;
КонецФункции
Функция ПоляВосстановленияПаролей() Экспорт
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
@@ -354,8 +354,8 @@
Если РодительЭлемента <> Неопределено Тогда
ТекстПредупреждения =
НСтр("ru = 'Для просмотра данной настройки необходимо открыть ""%1""
|и затем перейти к форме ""%2"".'");
НСтр("ru = 'Для просмотра данной настройки откройте ""%1""
|и затем перейдите к форме ""%2"".'");
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения,
РодительЭлемента.Настройка, ЭлементДереваЗначений.ТекущиеДанные.Настройка);
ПоказатьПредупреждение(,ТекстПредупреждения);
@@ -104,8 +104,8 @@
// Если в адресе отсутствуют коды и в программу не загружены адресные объекты адреса,
// Получение кодов может инициировать http запрос к веб-сервису 1С orgaddress.
// * НаименованиеВключаетСокращение - Булево - если Истина, то поля содержат сокращения в наименованиях адресных объектов.
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию, Ложь.
// Если в программу не загружены проверяемые адресные объекты,
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие адресному классификатору. По
// умолчанию, Ложь. Если в программу не загружены проверяемые адресные объекты,
// то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - устаревший параметр. Следует использовать свойства свойства
// возвращаемого значения с постфиксами ТипПолный и ТипКраткий. По умолчанию, Ложь.
@@ -136,8 +136,8 @@
// Если в адресе отсутствуют коды и в программу не загружены адресные объекты адреса,
// Получение кодов может инициировать http запрос к веб-сервису 1С orgaddress.
// * НаименованиеВключаетСокращение - Булево - если Истина, то поля содержат сокращениям в наименованиях адресных объектов.
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию Ложь.
// Если в программу не загружены проверяемые адресные объекты,
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие адресному классификатору. По
// умолчанию Ложь. Если в программу не загружены проверяемые адресные объекты,
// то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - устаревший параметр. Следует использовать свойства свойства
// возвращаемого значения с постфиксами ТипПолный и ТипКраткий. По умолчанию, Ложь.
@@ -396,7 +396,7 @@
// ПараметрыПроверки - Структура
// - СправочникСсылка.ВидыКонтактнойИнформации - флаги проверки адреса:
// ТолькоНациональныйАдрес - Булево - адрес должен быть только российским. По умолчанию Истина.
// ФорматАдреса - Строка - устарело. По какому классификатору проверять: "КЛАДР" или "ФИАС". По умолчанию "КЛАДР".
// ФорматАдреса - Строка - устарело. По какому классификатору проверять.
// Возвращаемое значение:
// Структура - содержит структуру с полями:
// * Результат - Строка - результат проверки: "Корректный", "НеПроверен", "СодержитОшибки".
@@ -406,7 +406,7 @@
Возврат УправлениеКонтактнойИнформациейСлужебный.ПроверитьАдрес(Адрес, ПараметрыПроверки);
КонецФункции
// Проверяет адреса на соответствие ФИАС и для устаревших адресов возвращает актуальные варианты.
// Проверяет адреса на соответствие адресному классификатору и для устаревших адресов возвращает актуальные варианты.
// Если адресные сведения региона адреса не загружены в программу, то проверка адреса будет
// выполнена через веб-сервис orgaddress и может занимать до 120 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
@@ -431,7 +431,8 @@
// * Ключ - Число - уникальный идентификатор адреса;
// * Значение - Структура:
// * АдресПроверен - Булево - признак, что адрес был проверен в классификаторе или через веб-сервис.
// * АдресКорректный - Булево - признак, что адрес соответствует ФИАС. Устаревшие адреса считаются некорректными.
// * АдресКорректный - Булево - признак, что адрес соответствует адресному классификатору. Устаревшие адреса
// считаются некорректными.
// * Ошибки - Массив из Строка - список ошибок в адресе.
// * АктуальныеАдреса - Массив из Структура - где:
// Если адрес устарел, то содержит варианты актуального адреса в виде полей адреса, где:
@@ -924,7 +925,7 @@
КонецФункции
// Устарела. Следует использовать РаботаСАдресами.СведенияОбАдресе.
// Преобразует адреса нового формата XML ФИАС в адрес формата КЛАДР.
// Преобразует адреса формата XML в адрес формата КЛАДР.
//
// Параметры:
// Данные - Строка - строка XML соответствующая XDTO пакету Адрес.
@@ -1022,7 +1023,7 @@
Проверка.ИдентификаторГруппы = "КонтактнаяИнформация";
Проверка.Наименование = НСтр("ru = 'Выявление устаревших адресов контактной информации'");
Проверка.Причины = НСтр("ru = 'Переподчинение адресных объектов (улиц, населенных пунктов), их переименование или упразднение влечет за собой внесение изменений в
|Федеральную информационную адресную систему (ФИАС). После этого ранее введенные адреса перестают проходить проверку на соответствие ФИАС.'");
|Государственном адресном реестре (ГАР). После этого ранее введенные адреса перестают проходить проверку на соответствие адресному классификатору.'");
Проверка.Рекомендация = НСтр("ru = 'Для автоматической замены устаревших адресов на актуальные нажать ссылку ниже.
|При этом следует оставлять без изменений юридически значимые адреса (адрес ЕГРЮЛ, место регистрации, рождения и др.).
|
@@ -1036,11 +1037,11 @@
Проверка = Проверки.Добавить();
Проверка.ИдентификаторГруппы = "КонтактнаяИнформация";
Проверка.Наименование = НСтр("ru = 'Проверка адресов на соответствие ФИАС.'");
Проверка.Наименование = НСтр("ru = 'Проверка адресов на соответствие адресному классификатору.'");
Проверка.Причины = НСтр("ru = 'Адрес контактной информации введен некорректно, устарел, был некорректно загружен из других источников или еще не внесен в Федеральную информационную адресную систему.'");
Рекомендация = НСтр("ru = 'В зависимости от ситуации следует выбрать один из вариантов:
|• Убедиться, что адрес введен корректно, проверив адрес на сайте ФИАС: https://fias.nalog.ru/ExtendedSearch
|О некорректных или неполных адресных сведениях на сайте ФИАС рекомендуется сообщать в органы местного самоуправления или в службу технической поддержки online-сервисов ФНС России.
|• Убедиться, что адрес введен корректно, проверив адрес на сайте ФНС России: https://fias.nalog.ru/ExtendedSearch
|О некорректных или неполных адресных сведениях на сайте ФНС России рекомендуется сообщать в органы местного самоуправления или в службу технической поддержки online-сервисов ФНС России.
|• Если адрес устарел вследствие переименования, переподчинения или упразднения адресных объектов (улиц, населенных пунктов), то введите актуальный адрес.
|
|Если адресный классификатор загружен в программу, то:
@@ -1053,8 +1054,8 @@
Проверка.Рекомендация = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Рекомендация,
НавигационнаяСсылкаЗагрузкиАдресногоКлассификатора);
Проверка.Идентификатор = "РаботаСАдресами.ПроверитьАдресаНаСоответствиеФИАС";
Проверка.ОбработчикПроверки = "РаботаСАдресами.ПроверитьАдресаНаСоответствиеФИАС";
Проверка.Идентификатор = "РаботаСАдресами.ПроверитьАдресаНаСоответствиеАдресномуКлассификатору";
Проверка.ОбработчикПроверки = "РаботаСАдресами.ПроверитьАдресаНаСоответствиеАдресномуКлассификатору";
Проверка.КонтекстПроверокВеденияУчета = "_КонтактнаяИнформация";
Проверка.Отключена = Истина;
@@ -1403,7 +1404,7 @@
// * Наименование - Строка
// * Тип - Строка
// * Порядок - Строка
// * КодФИАС - Строка
// * КодАдресногоКлассификатора - Строка
// * Сокращение - Строка
// * Ключ - Строка
//
@@ -1411,7 +1412,7 @@
Результат = Новый Массив;
// Код, Наименование, Тип, Порядок, КодФИАС
// Код, Наименование, Тип, Порядок, КодАдресногоКлассификатора
// Тип: 1 - владение, 2 - здание, 3 - помещение.
Результат.Добавить(СтрокаОбъектаАдресации("1010", "Дом", 1, 1, 2)); // Тип владения не локализуется
@@ -1457,14 +1458,14 @@
Возврат Результат;
КонецФункции
Функция СтрокаОбъектаАдресации(Код, Наименование, Тип = 0, Порядок = 0, КодФИАС = 0)
Функция СтрокаОбъектаАдресации(Код, Наименование, Тип = 0, Порядок = 0, КодАдресногоКлассификатора = 0)
СтруктураОбъектаАдресации = Новый Структура;
СтруктураОбъектаАдресации.Вставить("Код", Код);
СтруктураОбъектаАдресации.Вставить("Наименование", Наименование);
СтруктураОбъектаАдресации.Вставить("Тип", Тип);
СтруктураОбъектаАдресации.Вставить("Порядок", Порядок);
СтруктураОбъектаАдресации.Вставить("КодФИАС", КодФИАС);
СтруктураОбъектаАдресации.Вставить("КодАдресногоКлассификатора", КодАдресногоКлассификатора);
СтруктураОбъектаАдресации.Вставить("Сокращение", НРег(Наименование));
СтруктураОбъектаАдресации.Вставить("Ключ", ВРег(Наименование));
Возврат СтруктураОбъектаАдресации;
@@ -2639,7 +2640,7 @@
Возврат КодМуниципальногоРайона;
КонецЕсли;
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ТипМуниципальногоРайона, "м.р-н") = 0 Тогда
КодМуниципальногоРайона = "1";
ИначеЕсли СтрСравнить(ТипМуниципальногоРайона, "г.о.") = 0 Тогда
@@ -2672,7 +2673,7 @@
КодПоселения = "";
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ТипПоселения, "г.п.") = 0 Или СтрСравнить(ТипПоселения, "г. п.") = 0 Тогда
КодПоселения = "1";
ИначеЕсли СтрСравнить(ТипПоселения, "с.п.") = 0 Тогда
@@ -2789,8 +2790,6 @@
СоответствиеПолей.Вставить("Дом", "houseNumber");
СоответствиеПолей.Вставить("ТипДома", "houseType");
ОписаниеКонтактнойИнформации.AddressType = РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес();
Для каждого ПолеКонтактнойИнформации Из КонтактнаяИнформация Цикл
ИмяПоля = СоответствиеПолей.Получить(ПолеКонтактнойИнформации.Ключ);
Если ИмяПоля <> Неопределено Тогда
@@ -2798,6 +2797,15 @@
КонецЕсли;
КонецЦикла;
Если КонтактнаяИнформация.Свойство("ТипАдреса") И РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(КонтактнаяИнформация.ТипАдреса) Тогда
ОписаниеКонтактнойИнформации.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес();
Если КонтактнаяИнформация.Свойство("МуниципальноеПредставление") И ЗначениеЗаполнено(КонтактнаяИнформация.МуниципальноеПредставление) Тогда
ОписаниеКонтактнойИнформации.value = КонтактнаяИнформация.МуниципальноеПредставление;
КонецЕсли;
Иначе
ОписаниеКонтактнойИнформации.AddressType = РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес();
КонецЕсли;
Если КонтактнаяИнформация.Свойство("Здание")
И ТипЗнч(КонтактнаяИнформация.Здание) = Тип("Структура")
И КонтактнаяИнформация.Здание.Свойство("Номер") Тогда
@@ -2839,6 +2847,11 @@
КонецЕсли;
Если ПустаяСтрока(ОписаниеКонтактнойИнформации.value) Тогда
ОписаниеКонтактнойИнформации.value = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(ОписаниеКонтактнойИнформации, Ложь,
ОписаниеКонтактнойИнформации.AddressType);
КонецЕсли;
Возврат ОписаниеКонтактнойИнформации;
КонецФункции
@@ -3932,13 +3945,13 @@
КонецПроцедуры
// Проверка адресов на соответствие ФИАС.
// Проверка адресов на соответствие адресному классификатору.
//
// Параметры:
// Проверка - СправочникСсылка.ПравилаПроверкиУчета - исполняемая проверка;
// ПараметрыПроверки - см. КонтрольВеденияУчета.ОписаниеПроблемы.ПараметрыПроверки
//
Процедура ПроверитьАдресаНаСоответствиеФИАС(Проверка, ПараметрыПроверки) Экспорт
Процедура ПроверитьАдресаНаСоответствиеАдресномуКлассификатору(Проверка, ПараметрыПроверки) Экспорт
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
Возврат;
@@ -4064,10 +4077,10 @@
Если ПроверенныйАдрес.Ошибки.Количество() > 0 Тогда
УточнениеПроблемы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 ""%2"" не соответствует ФИАС, по причине: %3'"), Строка(ОписаниеАдреса.Вид), ОписаниеАдреса.Представление, ПроверенныйАдрес.Ошибки[0].Текст);
НСтр("ru = '%1 ""%2"" не соответствует адресному классификатору, по причине: %3'"), Строка(ОписаниеАдреса.Вид), ОписаниеАдреса.Представление, ПроверенныйАдрес.Ошибки[0].Текст);
Иначе
УточнениеПроблемы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 ""%2"" не соответствует ФИАС'"), Строка(ОписаниеАдреса.Вид), ОписаниеАдреса.Представление);
НСтр("ru = '%1 ""%2"" не соответствует адресному классификатору'"), Строка(ОписаниеАдреса.Вид), ОписаниеАдреса.Представление);
КонецЕсли;
Проблема = МодульКонтрольВеденияУчета.ОписаниеПроблемы(ОписаниеАдреса.Ссылка, ПараметрыПроверки);
@@ -251,7 +251,7 @@
//
// Параметры:
// ТипКИ - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации.
// ФорматАдреса - Строка - тип возвращаемой структуры в зависимости от формата адреса: "КЛАДР" или "ФИАС".
// ФорматАдреса - Строка - тип возвращаемой структуры в зависимости от формата адреса.
//
// Возвращаемое значение:
// Структура - пустая структура контактной информации, ключи - имена полей, значения поля.
@@ -614,7 +614,7 @@
Сокращения = Новый Соответствие;
// АПК:1036-выкл Данные из ФИАС (сокращения)
// АПК:1036-выкл Данные из адресного классификатора (сокращения)
Сокращения.Вставить("ВЛАДЕНИЕ", "влд.");
Сокращения.Вставить("ГАРАЖ", "г-ж");
Сокращения.Вставить("ДОМ", "д.");
@@ -652,7 +652,7 @@
//
Функция КраткоеНаписаниеМуниципальныхРайонов(Наименование, Сокращение) Экспорт
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(Сокращение, "г.о.") = 0 Тогда
Наименование = СокрЛП(СтрЗаменить(Наименование, "Городской округ", "")); // @Non-NLS-1
КонецЕсли;
@@ -686,7 +686,7 @@
//
Функция КраткоеНаписаниеПоселений(Наименование, Сокращение) Экспорт
// АПК: 1297-выкл Данные ФИАС, не локализуются
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(Сокращение, "г.п.") Или СтрСравнить(Сокращение, "г. п.") = 0 Тогда // @Non-NLS-2
Наименование = СокрЛП(СтрЗаменить(Наименование, "Городское поселение", "")); // @Non-NLS-1
КонецЕсли;
@@ -565,7 +565,7 @@
Если Не КомпонентаУстановлена Тогда
ТекстВопроса =
НСтр("ru = 'Для продолжения работы необходимо установить компоненту сканирования.
НСтр("ru = 'Для продолжения работы установите компоненту сканирования.
|Установить компоненту?'");
Обработчик = Новый ОписаниеОповещения("ПоказатьВопросУстановкиКомпонентыСканирования",
ЭтотОбъект, КомпонентаУстановлена);
@@ -869,7 +869,7 @@
#Если ВебКлиент Тогда
Если ПараметрыВыполнения.ДанныеФайла.Расширение <> "mxl" Тогда
Текст = НСтр("ru = 'Необходимо сохранить файл на компьютер, после чего распечатать его при помощи приложения, предназначенного для работы с данным файлом.'");
Текст = НСтр("ru = 'Сохраните файл на компьютер, после чего распечатать его при помощи приложения, предназначенного для работы с данным файлом.'");
ПоказатьПредупреждение(, Текст);
Возврат;
КонецЕсли;
@@ -1083,7 +1083,7 @@
Оповещение = Новый ОписаниеОповещения("ПолучитьИмяВременногоФайлаПослеПроверкиРасширенияРаботыСФайлами",
ЭтотОбъект, Контекст);
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Оповещение,
НСтр("ru = 'Для получения имени временного файла необходимо установить расширение для работы с 1С:Предприятием.'"), Ложь);
НСтр("ru = 'Для получения имени временного файла установите расширение для работы с 1С:Предприятием.'"), Ложь);
КонецПроцедуры
@@ -2485,9 +2485,11 @@
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
НоваяСтрока = Обработчик.ПриоритетыВыполнения.Добавить();
НоваяСтрока.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
НоваяСтрока.Порядок = "После";
Если ПодсистемаЭПСуществует Тогда
НоваяСтрока = Обработчик.ПриоритетыВыполнения.Добавить();
НоваяСтрока.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
НоваяСтрока.Порядок = "После";
КонецЕсли;
НоваяСтрока = Обработчик.ПриоритетыВыполнения.Добавить();
НоваяСтрока.Процедура = "РегистрыСведений.НаличиеФайлов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
@@ -7742,12 +7744,6 @@
КонецФункции
Функция ЭтоФайл(Файл)
Возврат Не ЭтоПапкаФайлов(Файл);
КонецФункции
Функция ЭтоСсылкаНаФайл(ОбъектВладелец)
МассивТиповФайлов = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы();
@@ -8175,7 +8175,7 @@
СтруктураПути = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ВыбранноеИмяФайла);
Если ПустаяСтрока(СтруктураПути.Расширение) Тогда
ТекстВопроса = НСтр("ru = 'Необходимо указать файл с расширением.'");
ТекстВопроса = НСтр("ru = 'Укажите файл с расширением.'");
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Повторить, НСтр("ru = 'Выбрать другой файл'"));
Кнопки.Добавить(КодВозвратаДиалога.Отмена);
@@ -9828,7 +9828,7 @@
ОбъектDispatcherHelper = ОбъектServiceManager.createInstance("com.sun.star.frame.DispatchHelper");
Исключение
ТекстИсключения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ВызватьИсключение ТекстИсключения + Символы.ПС + НСтр("ru = 'Необходимо установить (переустановить) приложение OpenOffice.org Writer.'");
ВызватьИсключение ТекстИсключения + Символы.ПС + НСтр("ru = 'Установите (переустановите) приложение OpenOffice.org Writer.'");
КонецПопытки;
// Параметры открытия: отключение исполнения макросов.
@@ -9865,7 +9865,7 @@
ОбъектWord = Новый COMОбъект("Word.Application");
Исключение
ТекстИсключения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ВызватьИсключение ТекстИсключения + Символы.ПС + НСтр("ru = 'Необходимо установить (переустановить) приложение Microsoft Word.'");
ВызватьИсключение ТекстИсключения + Символы.ПС + НСтр("ru = 'Установите (переустановите) приложение Microsoft Word.'");
КонецПопытки;
ОбъектWord.Visible = 0;
ОбъектWord.WordBasic.DisableAutoMacros(1);
@@ -9878,7 +9878,7 @@
// Произошла исключительная ситуация (Microsoft Word): Метод или свойство Merge недоступны, потому что эту команду
// нельзя использовать в режиме чтения.
ВызватьИсключение ТекстИсключения + Символы.ПС
+ НСтр("ru = 'Необходимо в настройках Microsoft Word (меню Файл — Параметры) на закладке ""Общие"" снять флажок ""Открывать вложения электронной почты в режиме чтения"".'");
+ НСтр("ru = 'В настройках Microsoft Word (меню Файл — Параметры) на закладке ""Общие"" снимите флажок ""Открывать вложения электронной почты в режиме чтения"".'");
КонецПопытки;
ОбъектWord.Visible = 1;
@@ -170,20 +170,11 @@
ПараметрыДоставки.ШаблонТемы = Рассылка.ТемаПисьма;
ПараметрыДоставки.ШаблонТекста = ?(Рассылка.ПисьмоВФорматеHTML, Рассылка.ТекстПисьмаВФорматеHTML, Рассылка.ТекстПисьма);
// Получатели
Если ДополнительныеНастройки <> Неопределено И ДополнительныеНастройки.Свойство("Получатели") Тогда
ПараметрыДоставки.Получатели = ДополнительныеНастройки.Получатели;
Иначе
Получатели = СформироватьСписокПолучателейРассылки(Рассылка, ПараметрыЖурнала);
Если Получатели.Количество() = 0 Тогда
ПараметрыДоставки.ИспользоватьЭлектроннуюПочту = Ложь;
Если Не ПараметрыДоставки.ИспользоватьПапку
И Не ПараметрыДоставки.ИспользоватьСетевойКаталог
И Не ПараметрыДоставки.ИспользоватьFTPРесурс Тогда
Возврат Ложь;
КонецЕсли;
КонецЕсли;
ПараметрыДоставки.Получатели = Получатели;
ПолучателиРассылкиВыбранны = ПолучателиРассылкиВыбранны(
Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки);
Если Не ПолучателиРассылкиВыбранны Тогда
Возврат Ложь;
КонецЕсли;
ТипТекста = ?(Рассылка.ПисьмоВФорматеHTML, "HTML", "ПростойТекст");
@@ -1324,6 +1315,49 @@
Возврат СписокПолучателей;
КонецФункции
Функция ПолучателиРассылкиВыбранны(Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки)
Получатели = СформироватьСписокПолучателейРассылки(Рассылка, ПараметрыЖурнала);
Если ДополнительныеНастройки <> Неопределено
И ДополнительныеНастройки.Свойство("Получатели") Тогда
ВыбранныеПолучатели = ДополнительныеНастройки.Получатели;
ИсключенныеПолучатели = Новый Массив;
Для Каждого Получатель Из Получатели Цикл
Если ВыбранныеПолучатели[Получатель.Ключ] = Неопределено Тогда
ИсключенныеПолучатели.Добавить(Получатель.Ключ);
КонецЕсли;
КонецЦикла;
Для Каждого Получатель Из ИсключенныеПолучатели Цикл
Получатели.Удалить(Получатель);
КонецЦикла;
КонецЕсли;
Если Получатели.Количество() = 0 Тогда
ПараметрыДоставки.ИспользоватьЭлектроннуюПочту = Ложь;
Если Не ПараметрыДоставки.ИспользоватьПапку
И Не ПараметрыДоставки.ИспользоватьСетевойКаталог
И Не ПараметрыДоставки.ИспользоватьFTPРесурс Тогда
Возврат Ложь;
КонецЕсли;
КонецЕсли;
ПараметрыДоставки.Получатели = Получатели;
Возврат Истина;
КонецФункции
// Подключает, проверяет и инициализирует отчет по ссылке, используется перед формированием или редактированием
// параметров.
//
@@ -28,7 +28,7 @@
НастройкиРезервногоКопирования = НастройкиРезервногоКопирования();
Если НастройкиРезервногоКопирования = Неопределено Тогда
Возврат НСтр("ru = 'Для настройки резервного копирования необходимо обратиться к администратору.'");
Возврат НСтр("ru = 'Для настройки резервного копирования обратитесь к администратору.'");
КонецЕсли;
ТекущаяНастройка = НСтр("ru = 'Резервное копирование не настроено, информационная база подвергается риску потери данных.'");
File diff suppressed because it is too large. Load diff
@@ -50,6 +50,7 @@
ОпределениеASN.Вставить("ВключитьИсходныеДанные", СвойствоСтруктуры(ПараметрыОперации, "ВключитьИсходныеДанные", Ложь));
ОпределениеASN.Вставить("ОтображатьОшибки", СвойствоСтруктуры(ПараметрыОперации, "ОтображатьОшибки", Ложь));
ОпределениеASN.Вставить("ОграничениеDER", СвойствоСтруктуры(ПараметрыОперации, "ОграничениеDER", Ложь));
ОпределениеASN.Вставить("ИзвлечьСОшибками", СвойствоСтруктуры(ПараметрыОперации, "ИзвлечьСОшибками", Истина));
Результат = Неопределено;
Попытка
@@ -58,8 +59,10 @@
Результат = НоваяСтрока("Начало", Новый Массив);
ПрочитатьОчереднуюПорцию(ОпределениеASN, ПотокЧтенияФайла, 1, Результат);
Исключение
ОтработатьВозникновениеОшибки(ОпределениеASN);
Результат = Неопределено;
ОтработатьВозникновениеОшибки(ОпределениеASN, ИнформацияОбОшибке());
Если НЕ ОпределениеASN.ИзвлечьСОшибками Тогда
Результат = Неопределено;
КонецЕсли;
КонецПопытки;
Возврат Результат;
@@ -1665,11 +1668,12 @@
КонецФункции
// Предусмотрена для анализа отладочной информации
Процедура ОтработатьВозникновениеОшибки(ОпределениеASN)
Процедура ОтработатьВозникновениеОшибки(ОпределениеASN, ТекущаяОшибка)
Если ОпределениеASN.ОтображатьОшибки Тогда
ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(ТекстОшибки);
ОбъектСообщения = Новый СообщениеПользователю();
ОбъектСообщения.Текст = ПодробноеПредставлениеОшибки(ТекущаяОшибка);
ОбъектСообщения.Сообщить();
КонецЕсли;
КонецПроцедуры
Loaded 100 of 216 files, more files were not shown because too many files have changed in this diff. Show more