2_2_4_45
This commit is contained in:
1 parent
b1d09ad9f4
commit
89042d6a6a
2187 files changed
+168153
-164014
No files matched your search
@@ -6,7 +6,7 @@
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработка результата выполнения
|
||||
// Обработка результата выполнения.
|
||||
|
||||
// Формирует шаблон результата выполнения.
|
||||
//
|
||||
@@ -86,4 +86,200 @@
|
||||
Результат.ОповещениеФорм.Добавить(ОповещениеФорм);
|
||||
КонецПроцедуры
|
||||
|
||||
// Добавляет в оповещение для динамических списков типы из массива измененных объектов.
|
||||
//
|
||||
// Параметры:
|
||||
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
|
||||
// ИмяТаблицы - Строка - Имя таблицы формы (дерева значений), в которой требуется развернуть узел.
|
||||
// Идентификатор - Произвольный - Необязательный. Идентификатор строки дерева, которую требуется развернуть.
|
||||
// Если указано "*", то будут развернуты все узлы верхнего уровня.
|
||||
// Если указано Неопределено, то строки дерева развернуты не будут.
|
||||
// Значение по умолчанию: "*".
|
||||
// СПодчиненными - Булево - Необязательный. Раскрывать ли подчиненные узлы.
|
||||
// Значение по умолчанию: Ложь (не раскрывать подчиненные узлы).
|
||||
//
|
||||
Процедура РазвернутьУзлыДерева(Результат, ИмяТаблицы, Идентификатор = "*", СПодчиненными = Ложь) Экспорт
|
||||
Если Идентификатор = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Результат.Свойство("РазворачиваемыеУзлы") Тогда
|
||||
Результат.Вставить("РазворачиваемыеУзлы", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
РазворачиваемыйУзел = Новый Структура("ИмяТаблицы, Идентификатор, СПодчиненными");
|
||||
РазворачиваемыйУзел.ИмяТаблицы = ИмяТаблицы;
|
||||
РазворачиваемыйУзел.Идентификатор = Идентификатор;
|
||||
РазворачиваемыйУзел.СПодчиненными = СПодчиненными;
|
||||
|
||||
Результат.РазворачиваемыеУзлы.Добавить(РазворачиваемыйУзел);
|
||||
КонецПроцедуры
|
||||
|
||||
// Добавляет в структуру информацию, необходимую для вывода предупреждения.
|
||||
//
|
||||
// Параметры:
|
||||
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
|
||||
// Текст - Строка - Текст предупреждения.
|
||||
// ТекстОшибок - Строка - Необязательный. Тексты ошибок, которые при желании может просмотреть пользователь.
|
||||
// Заголовок - Строка - Необязательный. Заголовок окна.
|
||||
// ПутьКРеквизитуФормы - Строка - Необязательный. Путь к реквизиту формы, значение которого вызывало ошибку.
|
||||
//
|
||||
Процедура РезультатВыполненияДобавитьПредупреждение(Результат, Текст, ТекстОшибок = "", Заголовок = "", ПутьКРеквизитуФормы = "") Экспорт
|
||||
ВыводПредупреждения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "ВыводПредупреждения");
|
||||
Если ВыводПредупреждения = Неопределено Тогда
|
||||
ВыводПредупреждения = Новый Структура("Использование, Заголовок, Текст, ПутьКРеквизитуФормы, ТекстОшибок", Ложь);
|
||||
Результат.Вставить("ВыводПредупреждения", ВыводПредупреждения);
|
||||
КонецЕсли;
|
||||
ВыводПредупреждения.Использование = Истина;
|
||||
ВыводПредупреждения.Заголовок = Заголовок;
|
||||
ВыводПредупреждения.Текст = Текст;
|
||||
ВыводПредупреждения.ТекстОшибок = ТекстОшибок;
|
||||
ВыводПредупреждения.ПутьКРеквизитуФормы = ПутьКРеквизитуФормы;
|
||||
КонецПроцедуры
|
||||
|
||||
// Добавляет в структуру информацию, необходимую для вывода всплывающего оповещения.
|
||||
//
|
||||
// Параметры:
|
||||
// Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения().
|
||||
// Заголовок - Строка - Заголовок оповещения.
|
||||
// Текст - Строка - Текст оповещения.
|
||||
// Ссылка - Строка - Навигационная ссылка для перехода к объекту конфигурации.
|
||||
// Картинка - Картинка - Картинка оповещения.
|
||||
//
|
||||
Процедура ВывестиОповещение(Результат, Заголовок, Текст = "", Картинка = Неопределено, Ссылка = "") Экспорт
|
||||
ВыводОповещения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "ВыводОповещения");
|
||||
Если ВыводОповещения = Неопределено Тогда
|
||||
ВыводОповещения = Новый Структура("Использование, Заголовок, Ссылка, Текст, Картинка", Ложь);
|
||||
Результат.Вставить("ВыводОповещения", ВыводОповещения);
|
||||
КонецЕсли;
|
||||
ВыводОповещения.Использование = Истина;
|
||||
ВыводОповещения.Заголовок = Заголовок;
|
||||
ВыводОповещения.Ссылка = Ссылка;
|
||||
ВыводОповещения.Текст = Текст;
|
||||
ВыводОповещения.Картинка = Картинка;
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Табличный документ
|
||||
|
||||
// Вычисляет сумму выделенных ячеек и возвращает ее представление.
|
||||
//
|
||||
// Параметры:
|
||||
// ТабличныйДокумент - ТабличныйДокумент - Таблица, для которой вычисляет сумма ячеек.
|
||||
// ВыделенныеОбласти
|
||||
// - Неопределено - При вызове с клиента этот параметр будет определен автоматически.
|
||||
// - Массив - При вызове с сервера в этот параметр следует передавать области,
|
||||
// предварительно вычисленные на клиенте
|
||||
// при помощи функции ОтчетыКлиент.ВыделенныеОбласти(ТабличныйДокумент).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Представление суммы выделенных ячеек.
|
||||
//
|
||||
// См. также:
|
||||
// ОтчетыКлиент.ВыделенныеОбласти().
|
||||
//
|
||||
Функция СуммаЯчеек(ТабличныйДокумент, ВыделенныеОбласти) Экспорт
|
||||
|
||||
Если ВыделенныеОбласти = Неопределено Тогда
|
||||
#Если Клиент Тогда
|
||||
ВыделенныеОбласти = ТабличныйДокумент.ВыделенныеОбласти;
|
||||
#Иначе
|
||||
Возврат НСтр("ru = 'Не указано значение параметра ""ВыделенныеОбласти"".'");
|
||||
#КонецЕсли
|
||||
КонецЕсли;
|
||||
|
||||
#Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда
|
||||
КоличествоВыделенныхОбластей = ВыделенныеОбласти.Количество();
|
||||
Если КоличествоВыделенныхОбластей = 0 Тогда
|
||||
Возврат ""; // Нет ни одного числа.
|
||||
ИначеЕсли КоличествоВыделенныхОбластей >= 100 Тогда
|
||||
Возврат "<"; // Нужен вызов сервера.
|
||||
КонецЕсли;
|
||||
КоличествоВыделенныхЯчеек = 0;
|
||||
#КонецЕсли
|
||||
|
||||
Сумма = Неопределено;
|
||||
ПроверенныеЯчейки = Новый Соответствие;
|
||||
|
||||
Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл
|
||||
#Если Клиент Тогда
|
||||
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Верх;
|
||||
ВыделеннаяОбластьНиз = ВыделеннаяОбласть.Низ;
|
||||
ВыделеннаяОбластьЛево = ВыделеннаяОбласть.Лево;
|
||||
ВыделеннаяОбластьПраво = ВыделеннаяОбласть.Право;
|
||||
|
||||
Если ВыделеннаяОбластьВерх = 0 Тогда
|
||||
ВыделеннаяОбластьВерх = 1;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыделеннаяОбластьНиз = 0 Тогда
|
||||
ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыделеннаяОбластьЛево = 0 Тогда
|
||||
ВыделеннаяОбластьЛево = 1;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыделеннаяОбластьПраво = 0 Тогда
|
||||
ВыделеннаяОбластьПраво = ТабличныйДокумент.ШиринаТаблицы;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВыделеннаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Колонки Тогда
|
||||
ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Низ;
|
||||
ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы;
|
||||
КонецЕсли;
|
||||
|
||||
ВыделеннаяОбластьВысота = ВыделеннаяОбластьНиз - ВыделеннаяОбластьВерх;
|
||||
ВыделеннаяОбластьШирина = ВыделеннаяОбластьПраво - ВыделеннаяОбластьЛево;
|
||||
|
||||
#Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда
|
||||
КоличествоВыделенныхЯчеек = КоличествоВыделенныхЯчеек + ВыделеннаяОбластьШирина * ВыделеннаяОбластьВысота;
|
||||
Если КоличествоВыделенныхЯчеек >= 1000 Тогда
|
||||
Возврат "<"; // Нужен вызов сервера.
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
Для НомерКолонки = ВыделеннаяОбластьЛево По ВыделеннаяОбластьПраво Цикл
|
||||
Для НомерСтроки = ВыделеннаяОбластьВерх По ВыделеннаяОбластьНиз Цикл
|
||||
Ячейка = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
|
||||
Если ПроверенныеЯчейки.Получить(Ячейка.Имя) = Неопределено Тогда
|
||||
ПроверенныеЯчейки.Вставить(Ячейка.Имя, Истина);
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Ячейка.Видимость = Истина Тогда
|
||||
Если Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Колонки
|
||||
И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда
|
||||
Число = Ячейка.Значение;
|
||||
ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда
|
||||
Число = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Ячейка.Текст);
|
||||
Иначе
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ТипЗнч(Число) = Тип("Число") Тогда
|
||||
Если Сумма = Неопределено Тогда
|
||||
Сумма = Число;
|
||||
Иначе
|
||||
Сумма = Сумма + Число;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Если Сумма = Неопределено Тогда
|
||||
Возврат ""; // Нет ни одного числа.
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Формат(Сумма, "ЧН=0");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
Reference in new issue
Block a user