This commit is contained in:
Компания 1С committed 2017-04-21 14:55:00 +03:00
1 parent 2d4be649ec
commit 16320d876b
2652 files changed
+163336 -151647

No files matched your search

@@ -1,25 +1,21 @@
////////////////////////////////////////////////////////////////////////////////
// Подсистема "Базовая функциональность".
//
////////////////////////////////////////////////////////////////////////////////
#Область СлужебныйПрограммныйИнтерфейс
////////////////////////////////////////////////////////////////////////////////
// Табличный документ
// Рассчитывает показатели числовых ячеек в табличном документе.
// См. также ОтчетыКлиент.ВыделенныеОбласти.
//
// Параметры:
// ТабличныйДокумент - ТабличныйДокумент - Таблица, для которой требуется расчет.
// ТабличныйДокумент - ТабличныйДокумент - таблица, для которой требуется расчет.
// ВыделенныеОбласти
// - Неопределено - При вызове с клиента этот параметр будет определен автоматически.
// - Неопределено - при вызове с клиента этот параметр будет определен автоматически.
// - Массив - При вызове с сервера в этот параметр следует передавать области,
// предварительно вычисленные на клиенте
// при помощи функции ОтчетыКлиент.ВыделенныеОбласти(ТабличныйДокумент).
//
// Возвращаемое значение:
// Структура - Результаты расчета выделенных ячеек.
// Структура - результаты расчета выделенных ячеек.
// * Количество - Число - Количество выделенных ячеек.
// * КоличествоЧисловых - Число - Количество числовых ячеек.
// * Сумма - Число - Сумма выделенных ячеек с числами.
@@ -28,9 +24,6 @@
// * Максимум - Число - Максимум выделенных ячеек с числами.
// * НуженВызовСервера - Булево - Истина когда вычисление на клиенте нецелесообразно и нужен вызов сервера.
//
// См. также:
// ОтчетыКлиент.ВыделенныеОбласти().
//
Функция РасчетЯчеек(ТабличныйДокумент, ВыделенныеОбласти) Экспорт
Результат = Новый Структура;
Результат.Вставить("Количество", 0);
@@ -109,7 +102,8 @@
И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда
Число = Ячейка.Значение;
ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда
Число = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Ячейка.Текст);
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
Число = ОписаниеТипаЧисло.ПривестиЗначение(Ячейка.Текст);
Иначе
Продолжить;
КонецЕсли;
@@ -138,31 +132,22 @@
КонецФункции
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Работа с расписанием регламентного задания.
#Область СлужебныеПроцедурыИФункции
// Определяет примерное число строк с учетом переносов.
Функция ЧислоСтрок(Текст, ОтсечкаПоШирине, ПриводитьКРазмерамЭлементовФормы = Истина) Экспорт
ЧислоСтрок = СтрЧислоСтрок(Текст);
ЧислоПереносов = 0;
Для НомерСтроки = 1 По ЧислоСтрок Цикл
Строка = СтрПолучитьСтроку(Текст, НомерСтроки);
ЧислоПереносов = ЧислоПереносов + Цел(СтрДлина(Строка)/ОтсечкаПоШирине);
КонецЦикла;
ПримерноеЧислоСтрок = ЧислоСтрок + ЧислоПереносов;
Если ПриводитьКРазмерамЭлементовФормы Тогда
Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда
Коэффициент = 4/5; // В 8.2 в высоту 4 вмещается примерно 5 строк текста.
Иначе
Коэффициент = 2/3; // В такси в высоту 2 вмещается примерно 3 строки текста.
КонецЕсли;
ПримерноеЧислоСтрок = Цел((ПримерноеЧислоСтрок+1)*Коэффициент);
КонецЕсли;
Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() <> ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 И ПримерноеЧислоСтрок = 2 Тогда
ПримерноеЧислоСтрок = 3;
КонецЕсли;
Возврат ПримерноеЧислоСтрок;
// Формирует представление расписания регламентного задания.
//
// Параметры:
// Расписание - РасписаниеРегламентногоЗадания - Расписание.
//
// Возвращаемое значение:
// Строка - Представление расписания.
//
Функция ПредставлениеРасписания(Расписание) Экспорт
ПредставлениеРасписания = Строка(Расписание);
ПредставлениеРасписания = ВРег(Лев(ПредставлениеРасписания, 1)) + Сред(ПредставлениеРасписания, 2);
ПредставлениеРасписания = СтрЗаменить(СтрЗаменить(ПредставлениеРасписания, " ", " "), " ]", "]") + ".";
Возврат ПредставлениеРасписания;
КонецФункции
#КонецОбласти