ТабличныйДокумент.Показать

Методы · Show

Открывает окно для показа и редактирования табличного документа.

Синтаксис

Показать(<Заголовок>, <ИмяФайла>, <Активизация>)

Примеры платформы

ТабДок.Показать("Заявки от покупателей", "Заявки.mxl");
Полное описание, параметры и ограничения

ТабличныйДокумент.Показать (SpreadsheetDocument.Show)

ТабличныйДокумент (SpreadsheetDocument)

Показать (Show)

Доступен, начиная с версии 8.1.

Синтаксис:
Показать(<Заголовок>, <ИмяФайла>, <Активизация>)
Параметры:

<Заголовок> (необязательный)
Тип: Строка.
Заголовок окна табличного документа.

<ИмяФайла> (необязательный)
Тип: Строка.
Имя файла для сохранения табличного документа. Если значение не пустое, то при закрытии окна, если документ был изменен, будет предложено сохранить табличный документ в указанный файл.

<Активизация> (необязательный)
Тип: Булево.
Определяет активизацию открываемого окна табличного документа.
Истина - активизировать окно; Ложь - открывать окно без активизации.
Значение по умолчанию: Истина.
Описание:

Открывает окно для показа и редактирования табличного документа.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Если табличный документ является реквизитом управляемой формы, то вызов метода приводит к возникновению исключения.
Пример:

ТабДок.Показать("Заявки от покупателей", "Заявки.mxl");

См. также:
ТабличныйДокумент, метод Скрыть

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Заполнить собственную диаграмму табличного документа и восстановить обновление при ошибке

Разбираем Обновление в его контексте обычного толстого клиента. В управляемых формах отключение этого свойства не является ускорением.

Где и как запускать

Учебное обычное приложение, толстый клиент Windows: собственная обычная форма внешней обработки. Это не модуль управляемой формы и не серверный вызов.

Подготовка

  1. Отдельная пустая учебная конфигурация для ОБЫЧНОГО приложения, толстый клиент Windows. Не переключайте рабочую конфигурацию и не запускайте урок в тонком клиенте.

  2. В собственной внешней обработке создайте обычную форму, добавьте кнопку УчебныйПример и назначьте её Действие одноимённой процедуре. Код — полный обработчик модуля формы, без &НаКлиенте.

  3. Документ и его рисунок создаются кодом заново. Макет типового отчёта, рабочий табличный документ и исходные файлы не используются.

Процедура УчебныйПример(Кнопка)
    Документ = Новый ТабличныйДокумент;
    Рисунок = Документ.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Диаграмма);
    Рисунок.Расположить(Документ.Область(1, 1, 20, 12));
    Диаграмма = Рисунок.Объект;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    ПрежнееОбновление = Диаграмма.Обновление;
    Диаграмма.Обновление = Ложь;
    Попытка
        Продажи = Диаграмма.УстановитьСерию("sales");
        Продажи.Текст = "Продано, шт.";
        Для Месяц = 1 По 3 Цикл
            Точка = Диаграмма.УстановитьТочку(Месяц);
            Точка.Текст = "Месяц " + Строка(Месяц);
            Диаграмма.УстановитьЗначение(Точка, Продажи, Месяц * 5);
        КонецЦикла;
        Диаграмма.ОбластьЗаголовка.Текст = "Собственные значения 5/10/15";
        Диаграмма.Обновление = ПрежнееОбновление;
    Исключение
        Диаграмма.Обновление = ПрежнееОбновление;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Диаграмма.Обновление = ПрежнееОбновление);
    Сообщить(Диаграмма.Точки.Количество() = 3);
    Документ.Показать("Учебная диаграмма — без файла и печати");
КонецПроцедуры

Разбор по шагам

  1. Коллекция рисунков нового табличного документа создаёт рисунок типа Диаграмма. Рисунок.Объект содержит именно диаграмму.

  2. Расположить принимает область ячеек, а не четыре отдельных числа. Используем собственную область 1,1–20,12.

  3. Сохраняем прежний режим Обновление, отключаем его на время пакетного заполнения и возвращаем при успехе и при исключении.

  4. Создаются три собственные точки 5/10/15. Показать открывает новый документ, но не вызывает печать или сохранение.

  5. Смысл свойства сверяется со справкой платформы; похожая работа с Обновление найдена в исходном отчёте УТ 10.3, но этот пример не вызывает его код.

Как проверить результат

  1. Два сообщения Истина: режим обновления восстановлен, точек три.

  2. Открытый собственный табличный документ показывает 5/10/15. Файл не создаётся и печать не запускается.

  3. Для отрицательного теста добавьте ВызватьИсключение внутри Попытка: перед повторным выбросом прежний режим всё равно восстанавливается.

Ожидаемый результат

Пакетное заполнение и восстановление состояния разобраны в подходящем клиентском контексте, без обещания ускорения управляемой формы.

На что обратить внимание

  1. В управляемых формах установка Обновление не влияет на производительность. Используйте для них обычные уроки Диаграмма без этого приёма.

  2. Показать — интерактивная клиентская операция; серверный фрагмент не может открыть пользователю это окно.

  3. Сохранённый прежний режим может быть Ложь. Возвращаем именно его, а не безусловно включаем чужое состояние.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Сгруппировать шесть точек и создать модель без выдуманного прогноза

Две очевидно разделённые группы числовых точек позволяют понять роли ключа, входных колонок, параметров и результата кластеризации.

Где и как запускать

Полный модуль управляемой формы собственной внешней обработки, только толстый клиент Windows.

Подготовка

  1. Собственная учебная база 8.5.1.1343, толстый клиент Windows. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой. Вставьте весь модуль выбранного урока.

  2. Методы построителя отчёта доступны только толстому клиенту, хотя сам тип упомянут и в других контекстах. Не переносите этот полный модуль в тонкий/веб-клиент или серверный обработчик.

  3. Для отдельного урока АнализДанных без построителя используется собственный серверный общий модуль УчебнаяСтатистика с флагом Сервер и вызов УчебнаяСтатистика.ВыполнитьПример() из серверной команды.

  4. Все значения вымышлены и создаются в памяти. Нет чтения документов/платежей, сетевых моделей, персональных данных, записи базы, сохранения файлов или печати.

  5. Это учебный расчёт на маленьком наборе. Он не даёт основания прогнозировать реальные продажи или принимать бизнес-решения без проверки качества исходных данных.

&НаКлиенте
Процедура Выполнить(Команда)
    Точки = Новый ТаблицаЗначений;
    Точки.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Точки.Колонки.Добавить("X", Новый ОписаниеТипов("Число"));
    Точки.Колонки.Добавить("Y", Новый ОписаниеТипов("Число"));
    Координаты = Новый Массив;
    Координаты.Добавить(Новый Структура("X,Y", 0, 0));
    Координаты.Добавить(Новый Структура("X,Y", 0, 1));
    Координаты.Добавить(Новый Структура("X,Y", 1, 0));
    Координаты.Добавить(Новый Структура("X,Y", 10, 10));
    Координаты.Добавить(Новый Структура("X,Y", 10, 11));
    Координаты.Добавить(Новый Структура("X,Y", 11, 10));
    Для Индекс = 0 По 5 Цикл
        Точка = Точки.Добавить();
        Точка.Код = "guide-point-" + Строка(Индекс + 1);
        Точка.X = Координаты[Индекс].X;
        Точка.Y = Координаты[Индекс].Y;
    КонецЦикла;
    Построитель = Новый ПостроительОтчетаАнализаДанных;
    Построитель.ТипАнализа = Тип("АнализДанныхКластеризация");
    Построитель.ИсточникДанных = Точки;
    Построитель.ОтображатьСостояние = Ложь;
    Построитель.ОбрабатыватьПрерываниеПользователя = Истина;
    Колонки = Построитель.НастройкаКолонок;
    Ключ = Колонки.Найти("Код");
    X = Колонки.Найти("X");
    Y = Колонки.Найти("Y");
    Если Ключ = Неопределено ИЛИ X = Неопределено ИЛИ Y = Неопределено Тогда
        ВызватьИсключение "Нет трёх настроек собственных колонок";
    КонецЕсли;
    Ключ.ТипКолонки = ТипКолонкиАнализаДанныхКластеризация.Ключ;
    Ключ.ВидДанных = ВидДанныхАнализа.Дискретные;
    X.ТипКолонки = ТипКолонкиАнализаДанныхКластеризация.Входная;
    X.ВидДанных = ВидДанныхАнализа.Непрерывные;
    Y.ТипКолонки = ТипКолонкиАнализаДанныхКластеризация.Входная;
    Y.ВидДанных = ВидДанныхАнализа.Непрерывные;
    Количество = ПараметрУчебногоАнализа(Построитель.Параметры, "КоличествоКластеров", "ClusterCount");
    Если НЕ Количество.ТипЗначения.СодержитТип(Тип("Число")) Тогда
        ВызватьИсключение "У параметра количества ожидается числовой тип";
    КонецЕсли;
    Количество.Значение = 2;
    Метод = ПараметрУчебногоАнализа(Построитель.Параметры, "МетодКластеризации", "ClusterizationMethod");
    Метод.Значение = МетодКластеризации.ДальняяСвязь;
    Заполнение = ПараметрУчебногоАнализа(Построитель.Параметры, "ТипЗаполненияТаблицы", "TableFillType");
    Заполнение.Значение = ТипЗаполненияТаблицыРезультатаАнализаДанных.ВсеПоля;
    Сообщить("Параметр: " + Количество.Имя + "; заголовок: " + Количество.Заголовок);
    Сообщить(Количество.Значение = 2);
    Сообщить(Ключ.Имя = "Код");
    Сообщить("Тип дополнительных параметров X: " + Строка(ТипЗнч(X.ДополнительныеПараметры)));
    Сообщить(Колонки.Количество() = 3);
    Сообщить(Колонки.Получить(Колонки.Индекс(Ключ)) = Ключ);
    Построитель.Выполнить();
    Результат = Построитель.Результат;
    Если ТипЗнч(Результат) <> Тип("РезультатАнализаДанныхКластеризация") Тогда
        ВызватьИсключение "Ожидался результат кластеризации";
    КонецЕсли;
    Сообщить(Результат.КоличествоОбъектов = 6);
    Сообщить(Результат.Кластеры.Количество() = 2);
    Сообщить(Результат.ОбъектыКластеризации.Количество() = 6);
    Сообщить(Результат.ТаблицаКластеризации.Количество() = 6);
    ВсегоВКластерах = 0;
    Для Каждого Кластер Из Результат.Кластеры Цикл
        ВсегоВКластерах = ВсегоВКластерах + Кластер.КоличествоОбъектов;
        Сообщить(СтрШаблон("Размер группы=%1; координат центра=%2", Кластер.КоличествоОбъектов, Кластер.ЦентрТяжести.Количество()));
        Сообщить("Тип значений прогноза: " + Строка(ТипЗнч(Кластер.ЗначенияПолейПрогноза)));
    КонецЦикла;
    Сообщить(ВсегоВКластерах = 6);
    Сообщить("Строк таблицы связей: " + Строка(Результат.ТаблицаСвязей.Количество()));
    Сообщить("Строк матрицы расстояний: " + Строка(Результат.МежкластерныеРасстояния.Количество()));
    Сообщить(ТипЗнч(Результат.НастройкаКолонок) = Тип("КолонкиАнализаДанных"));
    Сообщить(ТипЗнч(Результат.Параметры) = Тип("ПараметрыАнализаДанных"));
    Модель = Результат.СоздатьМодельПрогноза();
    Построитель.МодельПрогноза = Модель;
    Сообщить(ТипЗнч(Построитель.МодельПрогноза) = Тип("МодельПрогнозаКластеризация"));
    Сообщить(Модель.Кластеры.Количество() = 2);
    Сообщить("Входных колонок модели: " + Строка(Модель.Колонки.Количество()));
    Сообщить("Выходных колонок модели: " + Строка(Модель.КолонкиРезультата.Количество()));
    Сообщить("Соответствий входа модели: " + Строка(Модель.НастройкаВходныхКолонок.Количество()));
    Сообщить("Модель создана, но прогноз новых объектов не выполнялся");
    Документ = Новый ТабличныйДокумент;
    Построитель.Вывести(Документ);
    Документ.Показать("Учебные две группы шести вымышленных точек");
КонецПроцедуры

&НаКлиенте
Функция ПараметрУчебногоАнализа(Параметры, Русское, Английское)
    Параметр = Параметры.Найти(Русское);
    Если Параметр = Неопределено Тогда
        Параметр = Параметры.Найти(Английское);
    КонецЕсли;
    Если Параметр = Неопределено Тогда
        ВызватьИсключение "Нет документированного параметра " + Русское;
    КонецЕсли;
    Возврат Параметр;
КонецФункции

Разбор по шагам

  1. Шесть точек созданы в памяти: три около (0,0), три около (10,10). Код — ключ, X/Y — непрерывные входные поля. Нет географических координат, пользователей или реальной выручки.

  2. Параметры ищутся по документированному русскому/английскому имени. КоличествоКластеров получает 2 после проверки ТипЗначения, МетодКластеризации — ДальняяСвязь.

  3. ТипЗаполненияТаблицы=ВсеПоля нужен для собственного отчёта по шести строкам. Наличие результата не угадывается до выполнения.

  4. Читаем размеры кластеров, центры, таблицу кластеризации, идентификаторы объектов и диагностические таблицу связей/матрицу расстояний. Номера групп не объявляются устойчивыми бизнес-идентификаторами.

  5. СоздатьМодельПрогноза даёт реальный объект модели; его присваиваем МодельПрогноза собственного построителя. Это не вызов Модель.Выполнить и не готовый прогноз новых данных.

  6. Без прогнозируемых колонок ЗначенияПолейПрогноза не выдаются за прибыль/вероятности продажи. Модель здесь только создана и описана.

  7. Отчёт Вывести строится в собственном ТабличныйДокумент и показывается толстому клиенту. Никакая печать или выгрузка в файл не выполняется.

Как проверить результат

  1. Тринадцать логических проверок ожидаются Истина: параметры/колонки, шесть объектов, две группы, сохранение общего количества, типы описаний и модели.

  2. Размеры групп и центры выводятся как фактические диагностические значения; не требуйте заранее назначенного номера первой/второй группы.

  3. Последнее сообщение прямо говорит: новый прогноз не выполнялся.

Ожидаемый результат

Есть полный пример реального кластерного расчёта на шести точках, отчёт и созданная модель с честной границей прогноза.

На что обратить внимание

  1. Модель не становится качественной для реального бизнеса от одного успешного создания.

  2. Не сравнивать номера кластеров между разными входами как постоянные коды клиентов.

  3. Метод, масштаб признаков и стандартизация влияют на результат; этот маленький опыт не подменяет выбор модели на проверочной выборке.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.