2_3_2_195

This commit is contained in:
Компания 1С committed 2017-04-13 02:25:00 +03:00
1 parent 3d1db4a506
commit a3cf6e8089
1637 files changed
+190310 -54633

No files matched your search

@@ -3,7 +3,7 @@
//
////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
#Область СлужебныйПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Регистрация результата работы для вывода на клиенте.
@@ -30,24 +30,37 @@
КонецФункции
// Добавляет в структуру информацию о типах, которые необходимо обновить в динамических списках.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// СсылкаИлиТипИлиМассив - Массив - Тип или ссылки измененных объектов.
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// СсылкаИлиТипИлиМассив - Массив - Тип или ссылки измененных объектов,
// которые требуется обновить в динамических списках.
// ИсточникОповещенияФорм - Произвольный - Источник широковещательного оповещения открытых форм.
// Заполняется в случае, если помимо оповещения динамических списков
// также требуется разослать широковещательное оповещение открытых форм с именем события "Запись_<ИмяОбъектаМетаданных>".
// Используется только при вызове с сервера.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ОповеститьДинамическиеСписки(Результат, СсылкаИлиТипИлиМассив) Экспорт
Процедура ОповеститьДинамическиеСписки(Результат, СсылкаИлиТипИлиМассив, ПараметрОповещенияФорм = Неопределено) Экспорт
Если СсылкаИлиТипИлиМассив = Неопределено Тогда
Возврат;
КонецЕсли;
// Преобразование оповещения в массив.
МассивТипов = Новый Массив;
ТипЗначения = ТипЗнч(СсылкаИлиТипИлиМассив);
Если ТипЗначения = Тип("Массив") Тогда
ИспользоватьШироковещательноеОповещение = (ПараметрОповещенияФорм <> Неопределено);
Если ИспользоватьШироковещательноеОповещение Тогда
МассивСсылокВРазрезахТипов = Новый Соответствие;
КонецЕсли;
ТипСсылкиИлиТипаИлиМассива = ТипЗнч(СсылкаИлиТипИлиМассив);
Если ТипСсылкиИлиТипаИлиМассива = Тип("Массив") Тогда
Для Каждого Элемент Из СсылкаИлиТипИлиМассив Цикл
ТипЭлемента = ТипЗнч(Элемент);
Если ТипЭлемента = Тип("Тип") Тогда
@@ -55,45 +68,49 @@
КонецЕсли;
Если МассивТипов.Найти(ТипЭлемента) = Неопределено Тогда
МассивТипов.Добавить(ТипЭлемента);
Если ИспользоватьШироковещательноеОповещение Тогда
МассивСсылокВРазрезахТипов.Вставить(ТипЭлемента, Новый Массив);
КонецЕсли;
КонецЕсли;
Если ИспользоватьШироковещательноеОповещение И ТипЭлемента <> Тип("Тип") Тогда
МассивСсылокВРазрезахТипов[ТипЭлемента].Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Иначе
МассивТипов.Добавить(СсылкаИлиТипИлиМассив);
Если ИспользоватьШироковещательноеОповещение Тогда
Если ТипСсылкиИлиТипаИлиМассива = Тип("Тип") Тогда
ТипЭлемента = СсылкаИлиТипИлиМассив;
Иначе
ТипЭлемента = ТипСсылкиИлиТипаИлиМассива;
КонецЕсли;
МассивСсылокВРазрезахТипов.Вставить(ТипЭлемента, Новый Массив);
Если ТипСсылкиИлиТипаИлиМассива <> Тип("Тип") Тогда
МассивСсылокВРазрезахТипов[ТипЭлемента].Добавить(ТипСсылкиИлиТипаИлиМассива);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ИспользоватьШироковещательноеОповещение Тогда
Для Каждого КлючИЗначение Из МассивСсылокВРазрезахТипов Цикл
ОповеститьОткрытыеФормы(Результат, КлючИЗначение.Ключ, ПараметрОповещенияФорм, КлючИЗначение.Значение);
КонецЦикла;
КонецЕсли;
ДобавитьШаг(Результат, "ОповеститьДинамическиеСписки", Новый Структура("МассивТипов", МассивТипов));
КонецПроцедуры
// Добавляет в структуру информацию о событии, о котором надо оповестить все открытые формы.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// ИмяСобытия - Строка - Имя события, которое используется для первичной идентификации сообщения принимающими формами.
// Параметр - Произвольный - Набор данных, который может использоваться принимающей формой для обновления.
// Источник - Произвольный - Источник оповещения.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ОповеститьОткрытыеФормы(Результат, ИмяСобытия, Параметр = Неопределено, Источник = Неопределено) Экспорт
Если ИмяСобытия = Неопределено Тогда
Возврат;
КонецЕсли;
ОповещениеФорм = Новый Структура("ИмяСобытия, Параметр, Источник");
ОповещениеФорм.ИмяСобытия = ИмяСобытия;
ОповещениеФорм.Параметр = Параметр;
ОповещениеФорм.Источник = Источник;
ДобавитьШаг(Результат, "ОповеститьОткрытыеФормы", ОповещениеФорм);
КонецПроцедуры
// Добавляет в структуру информацию об узлах дерева, которые необходимо "развернуть".
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// ИмяТаблицы - Строка - Имя таблицы формы (дерева значений), в которой требуется развернуть узел.
// Идентификатор - Произвольный - Необязательный. Идентификатор строки дерева, которую требуется развернуть.
// Если указано "*", то будут развернуты все узлы верхнего уровня.
@@ -102,9 +119,6 @@
// СПодчиненными - Булево - Необязательный. Раскрывать ли подчиненные узлы.
// Значение по умолчанию: Ложь (не раскрывать подчиненные узлы).
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура РазвернутьУзлыДерева(Результат, ИмяТаблицы, Идентификатор = "*", СПодчиненными = Ложь) Экспорт
Если ИмяТаблицы = Неопределено Тогда
Возврат;
@@ -119,18 +133,21 @@
КонецПроцедуры
// Добавляет в структуру информацию, необходимую для вывода предупреждения или текста ошибки.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// Текст - Строка - Текст предупреждения.
// Подробно - Строка - Необязательный. Тексты ошибок, которые при желании может просмотреть пользователь.
// Заголовок - Строка - Необязательный. Заголовок окна.
// ПутьКРеквизитуФормы - Строка - Необязательный. Путь к реквизиту формы, значение которого вызывало ошибку.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ВывестиПредупреждение(Результат, Текст, Подробно = "", Заголовок = "", ПутьКРеквизитуФормы = "") Экспорт
Если ПустаяСтрока(Текст) Тогда
Возврат;
@@ -146,16 +163,19 @@
КонецПроцедуры
// Добавляет в структуру информацию, необходимую для вывода сообщения о неверно заполненных полях формы.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// Текст - Строка - Текст сообщения.
// ПутьКРеквизитуФормы - Строка - Необязательный. Путь к реквизиту формы, значение которого вызывало ошибку.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ВывестиСообщение(Результат, Текст, ПутьКРеквизитуФормы = "") Экспорт
Если ПустаяСтрока(Текст) Тогда
Возврат;
@@ -169,17 +189,28 @@
КонецПроцедуры
// Добавляет в структуру информацию, необходимую для вывода всплывающего оповещения.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Заголовок - Строка - Заголовок оповещения. Чтобы выводилась вся строка рекомендуется длина 40 или меньше.
// Текст - Строка - Текст оповещения. Чтобы выводилась вся строка рекомендуется длина 40 или меньше.
// Ссылка - Строка - Навигационная ссылка для перехода к объекту конфигурации.
// Картинка - Картинка - Картинка оповещения.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// Заголовок - Строка - Заголовок оповещения. Чтобы выводилась вся строка рекомендуется длина 40 или меньше.
// См. также в синтакс-помощнике описание метода глобального контекста "ПоказатьОповещениеПользователя",
// параметр "Текст".
// Текст - Строка - Текст оповещения. Чтобы выводилась вся строка рекомендуется длина 40 или меньше.
// См. также в синтакс-помощнике описание метода глобального контекста "ПоказатьОповещениеПользователя",
// параметр "Пояснение".
// Ссылка - Строка - Навигационная ссылка для перехода к объекту конфигурации.
// См. также в синтакс-помощнике описание метода глобального контекста "ПоказатьОповещениеПользователя",
// параметр "НавигационнаяСсылка".
// Картинка - Картинка - Картинка оповещения.
// См. также в синтакс-помощнике описание метода глобального контекста "ПоказатьОповещениеПользователя",
// параметр "Картинка".
//
Процедура ВывестиОповещение(Результат, Заголовок, Текст = "", Картинка = Неопределено, Ссылка = "") Экспорт
Если ПустаяСтрока(Заголовок) И ПустаяСтрока(Текст) Тогда
@@ -196,17 +227,20 @@
КонецПроцедуры
// Добавляет в структуру информацию, необходимую для открытия формы.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// ПолноеИмя - Строка - Полный путь к открываемой форме.
// Параметры - Структура - Необязательный. Параметры открываемой формы.
// РежимОкна - РежимОткрытияОкнаФормы - Необязательный. Блокировать ли окно владельца.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ВывестиФорму(Результат, ПолноеИмя, Параметры = Неопределено, РежимОкна = Неопределено) Экспорт
Если ПустаяСтрока(ПолноеИмя) Тогда
Возврат;
@@ -220,9 +254,70 @@
ДобавитьШаг(Результат, "ВывестиФорму", ВыводФормы);
КонецПроцедуры
#КонецОбласти
// Добавляет в структуру информацию, необходимую для вывода предупреждения и текста ошибки.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// ВводныйТекст - Строка - Текст предупреждения.
// ИнформацияОбОшибке - ИнформацияОбОшибке - Необязательный. Тексты ошибок, которые при желании может просмотреть пользователь.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ВывестиИнформациюОбОшибке(Результат, ВводныйТекст, ИнформацияОбОшибке) Экспорт
Кратко = ВводныйТекст + Символы.ПС + ИсходнаяПричинаОшибки(ИнформацияОбОшибке);
Подробно = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ВывестиПредупреждение(Результат, Кратко, Подробно);
КонецПроцедуры
#Область СлужебныйПрограммныйИнтерфейс
// Устарела. Следует использовать метод глобального контекста Оповестить.
//
// Добавляет в структуру информацию о событии, о котором надо оповестить все открытые формы.
// Действие выполняется после вызова процедуры СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат).
// Для этого структуру Результат следует передать на клиент и передать в соответствующем параметре указанной процедуры.
//
// Параметры:
// Результат - Структура - Структура, которая может быть использована для передачи информации на клиент.
// При вызове данного метода в этой структуре будет создан ключ "Шаги":
// * Шаги - СписокЗначений - Необязательный. Список, в который будет добавлена информация для вывода на клиенте.
// Структуру Результат допустимо использовать для хранения параметров вызывающего кода,
// но при этом следует контролировать чтобы вызывающий код не использовал ключ "Шаги",
// поскольку он зарезервирован для хранения и вывода результата выполнения.
// ИмяСобытия - Строка - Имя события, которое используется для первичной идентификации сообщения принимающими формами.
// Параметр - Произвольный - Набор данных, который может использоваться принимающей формой для обновления.
// Источник - Произвольный - Источник оповещения.
//
Процедура ОповеститьОткрытыеФормы(Результат, Знач ИмяСобытия, Знач Параметр = Неопределено, Знач Источник = Неопределено) Экспорт
Если ИмяСобытия = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ИмяСобытия) = Тип("Тип") Тогда
#Если Сервер Тогда
ОбъектМетаданных = Метаданные.НайтиПоТипу(ИмяСобытия);
Если ТипЗнч(ОбъектМетаданных) <> Тип("ОбъектМетаданных") Тогда
Возврат;
КонецЕсли;
ИмяСобытия = "Запись_" + ОбъектМетаданных.Имя;
Если Параметр = Неопределено Тогда
Попытка
Параметр = ПредопределенноеЗначение(ОбъектМетаданных.ПолноеИмя() + ".ПустаяСсылка");
Исключение
Параметр = Неопределено;
КонецПопытки;
КонецЕсли;
#Иначе
Возврат;
#КонецЕсли
КонецЕсли;
ОповещениеФорм = Новый Структура("ИмяСобытия, Параметр, Источник");
ОповещениеФорм.ИмяСобытия = ИмяСобытия;
ОповещениеФорм.Параметр = Параметр;
ОповещениеФорм.Источник = Источник;
ДобавитьШаг(Результат, "ОповеститьОткрытыеФормы", ОповещениеФорм);
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Табличный документ
@@ -245,7 +340,7 @@
// * Среднее - Число - Сумма выделенных ячеек с числами.
// * Минимум - Число - Сумма выделенных ячеек с числами.
// * Максимум - Число - Максимум выделенных ячеек с числами.
// * НуженВызовСервера - Булево - Ложь когда вычисление на клиенте нецелесообразно и нужен вызов сервера.
// * НуженВызовСервера - Булево - Истина когда вычисление на клиенте нецелесообразно и нужен вызов сервера.
//
// См. также:
// ОтчетыКлиент.ВыделенныеОбласти().
@@ -256,6 +351,7 @@
Результат.Вставить("КоличествоНеПустых", 0);
Результат.Вставить("КоличествоЧисловых", 0);
Результат.Вставить("Сумма", 0);
Результат.Вставить("Среднее", 0);
Результат.Вставить("Минимум", Неопределено);
Результат.Вставить("Максимум", Неопределено);
Результат.Вставить("НуженВызовСервера", Ложь);
@@ -348,30 +444,14 @@
КонецЦикла;
КонецЦикла;
Если Результат.КоличествоЧисловых > 0 Тогда
Результат.Среднее = Результат.Сумма / Результат.КоличествоЧисловых;
КонецЕсли;
Возврат Результат;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Регистрация результата работы для вывода на клиенте.
// Добавляет в структуру информацию, необходимую для вывода предупреждения и текста ошибки.
// Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат).
//
// Параметры:
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
// ВводныйТекст - Строка - Текст предупреждения.
// ИнформацияОбОшибке - ИнформацияОбОшибке - Необязательный. Тексты ошибок, которые при желании может просмотреть пользователь.
//
// См. также:
// СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
//
Процедура ВывестиИнформациюОбОшибке(Результат, ВводныйТекст, ИнформацияОбОшибке) Экспорт
Кратко = ВводныйТекст + Символы.ПС + ИсходнаяПричинаОшибки(ИнформацияОбОшибке);
Подробно = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ВывестиПредупреждение(Результат, Кратко, Подробно);
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Работа с ошибками.