Основная страница

 

Глава 31-1
Работа с Таблицами


 

Для работы с табличными документами в системе используется специальный агрегатный тип данных «Таблица». Основным назначением табличного документа в системе 1С:Предприятие является создание печатных форм отчетов и первичных документов.

Печатные формы формируются при помощи встроенного языка с использованием агрегатного объекта «Таблица», создаваемого функцией СоздатьОбъект. Наиболее типичным способом заполнения табличного документа является включение в него секций. Для этого используется исходный табличный документ, который может располагаться в той же форме, в тексте программного модуля которого создан агрегатный объект «Таблица». Кроме того, исходная таблица может располагаться и в общих таблицах конфигурации и во внешнем файле. Назначение исходного табличного документа выполняется методом объекта «Таблица» — ИсходнаяТаблица.

Исходная таблица является заготовкой, содержащей текстовые фрагменты отчета, рамки, рисунки и т. д. Исходная таблица может быть включена в создаваемый отчет целиком. Однако часто необходимо включать в отчет отдельные фрагменты заготовки в определенной последовательности. Например, при печати накладной, нужно один раз вывести шапку и много раз вывести строку документа. Для этого части исходной таблицы выделяются в виде фрагментов-секций. Метод ВывестиСекцию позволяет включить выделенный фрагмент исходной таблицы в формируемый табличный документ.

В ячейках исходной таблицы может размещаться обычный текст или выражение встроенного языка 1С:Предприятия. При включении в табличный документ секции исходной таблицы автоматически происходит вычисление всех выражений и в табличный документ уже включается секция, содержащая результаты этих вычислений. Таким образом, происходит заполнение включаемых секций конкретными данными. Описанный способ, с одной стороны, позволяет наиболее наглядным образом визуально в исходной таблице спроектировать внешний вид и содержание отчета, а с другой, позволяет достаточно просто включать подготовленные фрагменты в заполняемый табличный документ.

Приведем пример формирования таким способом печатной формы документа.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("ПечатьСчета");

Таб.ВывестиСекцию("Шапка");

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

   Таб.ВывестиСекцию("Строка");

КонецЦикла;

Таб.Показать();

В приведенном примере в ячейках секций "Шапка" и "Строка" исходной таблицы располагаются выражения выдающие различные реквизиты документа.

Существует другой способ заполнения данными включаемых секций. Этот способ отличается от описанного тем, что в секциях ячеек не задаются выражения. Заполнение секции данными описывается прямо в алгоритме программного модуля. Для этого секция сначала выбирается из исходной таблицы, затем в ней заполняются значениями ячейки, в которых должны выводиться данные, а затем секция включается в табличный документ. Для получения секции из исходной таблицы используется метод ПолучитьСекцию. Полученная секция запоминается в переменной как специальный объект типа «СекцияТаблицы». Для того, чтобы в этом объекте можно было заполнять отдельные ячейки им нужно предварительно задать имена в исходной таблице. У объекта «СекцияТаблицы» отдельные именованные ячейки являются атрибутами, имеющими тип «ОбластьТаблицы» (область может содержать и несколько ячеек). Заполнение ячеек выполняется присвоением атрибуту "Текст" объекта «ОбластьТаблицы» необходимых значений.

Приведем пример формирования табличного документа этим способом.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("ПечатьСчета");

Шапка = Таб.ПолучитьСекцию("Шапка");

Шапка.Клиент.Текст = Контрагент;

Шапка = Таб.ВывестиСекцию(Шапка);

......

ВыбратьСтроки();

Пока ПолучитьСтроку () = 1 Цикл

   Строка = Таб.ПолучитьСекцию("Строка");

   Строка.Товар.Текст = Товар;

   ......

   Строка = Таб.ВывестиСекцию(Строка);

КонецЦикла;

Таб.Показать();

Этот способ может применяться в отдельных случаях для ускорения заполнения табличного документа, если для заполнения данными используются достаточно сложные выражения. Кроме того, этот способ позволяет манипулировать при включении секций различными свойствами ячеек. Например, можно для отдельных ячеек устанавливать жирный шрифт.

Кроме описанных способов существует способ заполнения табличного документа путем непосредственного обращения к ячейкам таблицы без использования в качестве заготовки исходной таблицы. Для этого используется метод Область, позволяющий по координатам строки и столбца исходной таблицы получить объект типа «ОбластьТаблицы». Атрибуты и методы этого объекта позволяют задать содержимое и элементы оформления ячеек (текст, цвета, рамки и т. д.).

Приведем фрагмент примера печати документа этим способом.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Область(2, 3).Текст = Контрагент;

......

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

   Таб.Область(НомерСтроки + 3, 3).Текст = Товар;

   ......

КонецЦикла;

Таб.Показать();

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

Во всех описанных способах основным содержанием ячеек таблицы является текст. При заполнении ячеек все данные преобразуются к текстовому виду. Кроме того, у ячейки может заполняться значение расшифровки. Это дополнительная возможность, которая никак не влияет на внешний вид таблицы при просмотре и печати, а используется для создания связанных отчетов и открытия различных объектов, отображаемых в отчете. При просмотре сформированного отчета в режиме «только просмотр», при подведении курсора к ячейке, у которой заполнено значение расшифровки, курсор принимает форму крестика с лупой и при двойном щелчке мышью или нажатии клавиши <Enter> выполняется отработка значения расшифровки.

Стандартный механизм расшифровки позволяет открыть объект (документ, элемент справочника, счет). Кроме того, использование специальной предопределенной процедуры позволяет определить в модуле формы специальные действия по отработки расшифровки, например построение детализирующего отчета.

Заполнение значения расшифровки при включении секций из исходной таблицы выполняется автоматическим вычислением значения выражения указанного в поле «Расшифровка» закладки «Текст» свойств ячейки. При использовании двух других описанных способов значение расшифровки может быть заполнено с помощью метода Расшифровка объекта типа «ОбластьТаблицы».

Заметим, что указанием "#" в поле «Расшифровка» закладки «Текст» или параметра метода Расшифровка можно включить режим, при котором расшифровка будет действовать на всю строку таблицы, что позволит избежать Дублирования значений для нескольких ячеек и, тем самым, избежать излиш-иих затрат времени при формировании отчета на вычисление выражений расшифровки.

Описанный выше способ заполнения табличного документа созданного функцией СоздатьОбъект открывает табличный документ в отдельном окне при использовании метода Показать. Кроме того, при настройке формы отчета (обработки), существует возможность табличный документ разместить непосредственно в форме. Для этого в диалоге, вызываемом пунктом «Свойства формы» меню «Действия» в параметре «Использовать таблицу» выбирается вариант «Пустую». В этом случае при открытии формы непосредственно в ней размещается табличный документ. Он может заполняться так же, как и табличный документ, созданный функцией СоздатьОбъект. Для доступа к такой таблице используется атрибут контекста формы отчета (обработки) Таблица.

Кроме описанного использования табличного документа для вывода сформированных печатных форм, существует возможность использования табличного документа в специальном режиме для ввода данных. Этот режим доступен только в формах отчета (обработки). Данный режим использования табличного документа включается через свойства формы (вызов свойств формы выполняется из меню «Действия» пунктом «Свойства формы» в параметре «Использовать таблицу» выбирается вариант «Для ввода данных»).

Режим ввода данных позволяет совместить в одной форме отчета (обработки) диалог формы вместе с табличным документом или вовсе заменить диалог табличным документом. Этот режим предполагает обязательное наличие созданной в форме отчета (обработки) таблицы, которая выбирается в свойствах формы, как используемая для ввода данных. В этом режиме в свойствах ячеек табличного документа появляется дополнительная закладка, на которой определяется тип данных хранимых ячейкой, аналогично элементу диалога формы. Для ячеек, в которых предполагается вводить данные, в закладке «Текст» выключается признак «Защита». При открытии формы с установленным свойством использование таблицы для ввода данных, указанная таблица размещается в окне формы и пользователю предоставляется возможность интерактивно вводить значения ячеек, предназначенных для ввода, аналогично вводу в поля диалога.

Работа в режиме ввода данных имеет ряд особенностей с точки зрения обращения к таблице средствами встроенного языка. Прежде всего, доступ к используемой для ввода данных таблице в модуле формы отчета (обработки) осуществляется с помощью ключевого слова "Таблица". Кроме того, в модуле формы возможно непосредственное обращение к значениям именованных ячеек таблицы по их именам. При обращении к области таблицы, используемой в режиме ввода данных, кроме обычных атрибутов используется атрибут "Значение", также предоставляющий доступ к значению ячейки. При этом тип значения определяется типом, выбранным в закладке свойств ячейки «Данные».

Для таблицы, используемой для ввода, в свойствах ячеек данных задаются-формулы. Для ячеек, предназначенных для ввода, формула выполняется после ввода значений, как у реквизитов диалога и используется обычно для вызова процедуры заполнения других ячеек. У ячеек имеющих признак «Защита» формула является выражением и вычисляет собственно значение ячейки как у элементов диалога типа «Текст».

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

Контекст работы с таблицами

Объект типа «Таблица» создается функцией СоздатьОбъект, ссылка на который присваивается переменной. Чтобы вызвать метод объекта, имя метода (с указанием необходимых параметров) пишется через точку после идентификатора переменной.

Для создания объекта типа «Таблица» в качестве параметра функции СоздатьОбъект передается ключевое слово "Таблица".

Англоязычный синоним ключевого слова ТаблицаTable.

Пример:

// Подготовка к заполнению выходных форм

Таб = СоздатьОбъект("Таблица");

Пока Запрос.Группировка("Сотр") = 1 Цикл

   // Заполнение полей Сотр

   Таб, ВывестиСекцию("РЛ<");

   Пока Запрос.Группировка("Расч") = 1 Цикл

      // Заполнение полей Расч

      Таб.ВывестиСекцию("ОТ");

   КонецЦикла;

   Таб.ВывестиСекцию("РЛ>");

КонецЦикла;

// Вывод заполненной формы

Таб.Опции(0, 0, 0, 0);

Таб.ТолькоПросмотр(1);

Таб.Показать("Результат");

При настройке формы отчета (обработки), если табличный документ размещен непосредственно в форме (для этого в диалоге, вызываемом пунктом «Свойства формы» меню «Действия» в параметре «Использовать таблицу» выбирается вариант «Пустую»), то доступ к такому объекту осуществляется через атрибут контекста формы отчета (обработки) Таблица.

Атрибуты таблиц

ТекущийОбъект

Значение встроенного объекта таблицы.

Синтаксис:

ТекущийОбъект

Англоязычный синоним:

CurrentObj

Описание:

Атрибут (только для чтения) ТекущийОбъект содержит значение встроенного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект». Он доступен только в выражении (и в теле процедур, которые вызываются в выражении), которое записывается в конфигураторе в свойствах встроенного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект» («Свойства» — «Дополнительныо» — «Текст»). Этот атрибут позволяет использовать в программном модуле полученное значение объекта для манипуляции с ним. Например, для взаимодействия с внешним приложением через механизм OLE Automation.

Пример:

* Допустим, в таблицу для построения диаграммы внедрен OLE-объект «MicrosoftGraf97». В свойствах этого объекта («Свойства» — «Дополнительные» — «Текст») в конфигураторе записано выражение:

ПостроитьГрафик(Таб.ТекущийОбъект, Запрос)

в программном модуле, в процедуре ПостроитьГрафик, можно записать алгоритм построения графика, непосредственно управляя внешним приложением MicrosoftGraf97.

Процедура ПостроитьГрафик(График, Запрос)

   Datasheet = График.Application.Datasheet;

   XCounter = 2;

   YCounter = 2;

   Пока Запрос.Группировка("Клиент") = 1 Цикл

      Если Запрос.Клиент.ЭтоГруппа() = 1 Тогда

         Продолжить;

      КонецЕсли;

      range = Datasheet.Cells(1, XCounter);

      range.Value = Запрос.Клиент.Наименование;

      Пока Запрос.Группировка("Товар") = 1 Цикл

         range = Datasheet.Cells(YCounter, 1);

         range.Value = Запрос.Товар.Наименование;

         range = Datasheet.Cells(YCounter, XCounter);

         range.Value = Запрос.ПродСум;

         YCounter = YCounter+1;

      КонецЦикла;

      YCounter = 2;

      XCounter = XCounter+l;

   КонецЦикла;

КонецПроцедуры

Замечание. Следует отметить, что в процессе конфигурирования, когда в таблицу внедряется объект, он может быть визуально предварительно полностью настроен. В данном примере, при внедрении «MicrosoftGraf97» ему установили все параметры требуемой диаграммы: размеры, вид, необходимые надписи и т. п. Атрибут ТекущийОбъект содержит объект таким, как он настроен в конфигураторе, поэтому в режиме исполнения ему достаточно только передать актуальные данные для работы.

См. также: «Работа с Диаграммами», «Связь с внешними приложениями посредством механизмов OLE Automation»

Методы таблиц

ИсходнаяТаблица

Переназначить исходную таблицу.

Синтаксис:

ИсходнаяТаблица(<Строка>)

Англоязычный синоним:

SourceTable

Параметры:

<Строка>

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

Описание:

Метод ИсходнаяТаблица переназначает в качестве исходной таблицы-шаблона одну из таблиц той формы, в программном модуле которой запущена данная процедура. Имя таблицы сначала ищется в форме модуля, потом в общих таблицах. Если такой таблицы нет, то переданное имя будет рассматриваться как имя файла, содержащего данную таблицу.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("price");

Таб.Вывести();

Таб.ТолькоПросмотр(0);

Таб.Показать("Каталог", "Catalog.mxl");

Таб.ТолькоПросмотр(1);

ИспользоватьФормат

Устанавливает стандартный формат по умолчанию для вывода всех выражений выводимых секций таблицы.

Синтаксис:

Использоватьформат(<СтрокаФормата>)

Англоязычный синоним:

DefaultFormat

Параметры:

<СтрокаФормата>

Необязательный параметр. Строковое выражение, содержащее форматную строку (см. Формат).

Возвращаемое значение:

Строковое значение, содержащее текущую форматную строку по умолчанию для таблицы (на момент до исполнения метода).

Описание:

Метод Использоватьформат устанавливает стандартный формат по умолчанию для вывода всех выражений выводимых секций таблицы. В ячейках таблицы, при выводе которых требуется формат, отличный от установленного методом ИспользоватьФормат, должен быть установлен формат явным образом. Форматная строка записывается через символ "#" после выражения, заданного для ячейки. Если выражение, заданное для ячейки просто завершается символом "#", то будет использоваться системный формат по умолчанию.

Пример:

Таб.ИспользоватьФормат("415.2");

Открыть

Открыть таблицу из файла.

Синтаксис:

Открыть(<ИмяФайла>)

Англоязычный синоним:

Open

Параметры:

<ИмяФайла>

Строковое выражение с именем файла.

Описание:

Метод Открыть открывает таблицу из файла с именем <ИмяФайла>.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("\v7\db\src.mox");

Таб.Показать();

Вывести

Перенести всю исходную таблицу-шаблон в результирующую таблицу.

Синтаксис:

Вывести()

Англоязычный синоним:

Put

Описание:

Метод Вывести целиком переносит исходную таблицу-шаблон в результирующую таблицу.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("catalog");

Таб.Вывести();

Таб.ТолькоПросмотр(0);

Таб.Показать("Каталог", "catalog.mxl");

Таб.ТолькоПросмотр(1);

ПолучитьСекцию

Получить значение секции исходной таблицы.

Синтаксис:

ПолучитьСекцию(<ИмяСекции>)

Англоязычный синоним:

GetSection

Параметры:

<ИмяСекции>

Выражение типа строка, задающее имя секции.

Возвращаемое значение:

Объект типа секция.

Описание:

Метод ПолучитьСекцию возвращает именованную секцию исходной таблицы-шаблона. При получении секции, ячейки секции, имеющие тип «Шаблон» и «Выражение» будут заполнены соответствующими данными. Имя секции задается строковым выражением следующего формата:

ИдентификаторСекции1[<|>|-][|ИдентификаторСекции2[<|>|-]]

Символы "<" , ">" , "-" после идентификатора секции указывают на то, что выбирается только часть секции:

<

заголовочная часть (с начала секции до начала вложенной секции).

>

подвальная часть (с конца вложенной секции до конца секции).

средняя часть (собственно вложенная секция).

В выражении <ИмяСекции> можно задавать имена двух секций, разделенных знаком "|". При этом будет получена область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая — вертикальной (состоять из колонок). В результате получится прямоугольная область таблицы.

Пример:

//Выводим секцию таблицы

Секция = Таб.ПолучитьСекцию("Документ<|ДокументВерт<");

Таб.ВывестиСекцию(Секция);

ВывестиСекцию

Перенести секцию исходной таблицы-шаблона в результирующую таблицу.

Синтаксис:

ВывестиСекцию(<Секция>)

Англоязычный синоним:

PutSection

Параметры:

<Ceкция>

Выражение типа строка, задающее имя выводимой секции, или значение типа секция, полученное при помощи метода ПолучитьСекцию.

Описание:

Метод ВывестиСекцию выполняет перенос именованной секции из исходной таблицы-шаблона в результирующую таблицу. Имя секции задается строковым выражением следующего формата:

ИдентификаторСекции1[<|>|-][|ИдентификаторСекции2[<|>|-]]

Символы "<" , ">" , "-" после идентификатора секции указывают на то, что выбирается только часть секции:

<

заголовочная часть (с начала секции до начала вложенной секции).

>

подвальная часть (с конца вложенной секции до конца секции).

средняя часть (собственно вложенная секция).

В выражении <Секция> можно задавать имена двух секций, разделенных знаком "|". При этом перенесена будет область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая — вертикальной (состоять из колонок). В результате перенесется прямоугольная область таблицы.

Если в качестве параметра метода задано строковое значение имени секции, то при переносе ячейки таблицы, имеющие тип «Шаблон» и «Выражение», будут заполнены соответствующими данными.

Метод ВывестиСекцию помещает новую секцию со следующей строки вслед за последней выведенной секцией, начиная с первой колонки.

Пример:

//Выводим заглавие таблицы

Таб.ВывестиСекцию("Документ<|ДокументВерт<");

Пока ЗапросКат.Группировка("Ктг") = 1 Цикл

   Таб.ПрисоединитьСекцию("Документ<|Осн2");

КонецЦикла;

Таб.ПрисоединитьСекцию("Документ<|ДокументВерт>");

//Выводим колонтитул таблицы

Таб.ВывестиСекцию("КолонТитул|ДокументВерт<");

Пока 3апросКат.Группировка("Ктг") = 1 Цикл

   Таб.ПрисоединитьСекцию("КолонТитул|Осн2");

КонецЦикла;

Таб.ПрисоединитьСекцию("КолонТитул|ДокументВерт>");

Продолжать = 1;

Пока Запрос.Группировка("Пдр") = 1 Цикл

   // Заполнение полей

   Пдр Таб.ВывестиСекцию("Осн1|ДокументВерт<");

   Далее = 1;

   Пока Продолжать = 1 Цикл

      // Заполнение полей Ктг

      СлКат = ЗапросКат.Группировка("Ктг");

      Если Далее = 1 Тогда

         ОК = Запрос.Группировка("Ктг");

      КонецЕсли;

      Если СлКат = 0 Тогда

         Прервать;

      КонецЕсли;

      Если ЗапросКат.Ктг = Запрос.Ктг Тогда

         Таб.ПрисоединитьСекцию("Осн1|Осн2");

         Далее = 1;

      Иначе

         Таб.ПрисоединитьСекцию("Осн1|Пусто");

         Далее = 0;

      КонецЕсли;

   КонецЦикла;

   Таб.ПрисоединитьСекцию("Осн1|ДокументВерт>");

КонецЦикла;

ПрисоединитьСекцию

Присоединить секцию исходной таблицы-шаблона к результирующей таблице.

Синтаксис:

ПрисоединитьСекцию(<Секция>)

Англоязычный синоним:

AttachSection

Параметры:

<Секция> Выражение типа строка, задающее имя выводимой секции, или значение типа секция, полученное при помощи метода ПолучитьСекцию.

Возвращаемое значение: Нет.

Описание:

Метод ПрисоединитьСекцию выполняет присоединение именованной секции из исходной таблицы-шаблона к результирующей таблице. Имя секции задается строковым выражением следующего формата:

ИдентификаторСекции1[<|>|-][|ИдентификаторСекции2[<|>|-]]

Символы "<" , ">" , "-" после идентификатора секции указывают на то, что выбирается только часть секции:

<

заголовочная часть (с начала секции до начала вложенной секции).

>

подвальная часть (с конца вложенной секции до конца секции).

средняя часть (собственно вложенная секция).

В выражении <Секция> можно задавать имена двух секций, разделенных знаком "|". При этом перенесена будет область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая — вертикальной (состоять из колонок). В результате перенесется прямоугольная область таблицы.

Если в качестве параметра метода задано строковое значение имени секции, то при переносе ячейки таблицы, имеющие тип «Шаблон» и «Выражение», будут заполнены соответствующими данными.

Метод ПрисоединитьСекцию помещает новую секцию в следующей колонке, правее последней ранее выведенной секции. При этом секция, передаваемая в качестве параметра метода ПрисоединитьСекцию, должна иметь прямоугольную форму, т. е. задаваться как пересечение горизонтальных и вертикальных секций.

Пример:

См. предыдущий пример.

НоваяСтраница

Вставить в результирующую таблицу разделитель страниц.

Синтаксис:

НоваяСтраница(<Ном>)

Англоязычный синоним:

NewPage

Параметры:

<Ном>

Необязательный параметр. Номер строки, после которой начинать новую страницу. Если параметр не указан, то новая страница вставляется по текущей высоте таблицы.

Описание:

Процедура НоваяСтраница вставляет в результирующую таблицу разделитель страниц.

Пример:

Таб.НоваяСтраница();

НоваяКолонка

Вставить в результирующую таблицу разделитель колонок.

Синтаксис:

НоваяКолонка(<Ном>)

Англоязычный синоним:

NewColumn

Параметры:

<Ном>

Необязательный параметр. Номер столбца, после которого начинать новую колонку. Если параметр не указан, то новая колонка вставляется по текущей ширине таблицы.

Описание:

Метод НоваяКолонка вставляет в результирующую таблицу разделитель колонок.

Пример:

Таб.НоваяКолонка();

ЩиринаТаблицы

Определить текущую ширину результирующей таблицы.

Синтаксис:

ЩиринаТаблицы()

Англоязычный синоним:

TableWidth

Возвращаемое значение:

Числовое значение, содержащее количество столбцов в результирующей таблице.

Описание:

Метод ШиринаТаблицы позволяет определить текущее количество столбцов в результирующей таблице.

Пример:

Шир = Таб.ШиринаТаблицы();

ВысотаТаблицы

Определить текущую высоту результирующей таблицы.

Синтаксис:

ВысотаТаблицы()

Англоязычный синоним:

TableHeight

Возвращаемое значение:

Числовое значение, содержащее количество строк в результирующей таблице.

Описание:

Метод ВысотаТаблицы позволяет определить текущее количество строк в результирующей таблице.

Пример:

Выс = Таб.ВысотаТаблицы();

ШиринаСекции

Определить ширину секции таблицы-шаблона.

Синтаксис:

ШиринаСекции(<ИмяСекции>)

Англоязычный синоним:

SectionWidth

Параметры:

<ИмяСекции>

Строковое выражение — название секции таблицы.

Возвращаемое значение:

Числовое значение, содержащее количество столбцов в секции таблицы-шаблона.

Описание:

Метод ШиринаСекции позволяет определить количество столбцов в секции таблицы-шаблона.

Пример:

ШирС = Таб.ШиринаСекции("БоковикОтчета");

ВысотаСекции

Определить высоту секции таблицы-шаблона.

Синтаксис:

ВысотаСекции(<ИмяСекции>)

Англоязычный синоним:

SectionHeight

Параметры:

<ИмяСекции>

Строковое выражение — название секции таблицы.

Возвращаемое значение:

Числовое значение, содержащее количество строк в секции таблицы-шаблона.

Описание:

Метод ВысотаСекции позволяет определить количество столбцов в секции таблицы-шаблона.

Пример:

ВысС = Таб.ВысотаСекции("ШапкаОтчета");

ТолькоПросмотр

Установить режим редактирования таблицы.

Синтаксис:

ТолькоПросмотр(<Режим>)

Англоязычный синоним:

Readonly

Параметры:

<Режим>

Необязательный параметр. Числовое выражение — режим редактирования: 1 — только просмотр, 0 — допускается редактирование.

Возвращаемое значение:

Текущее числовое значение режима редактирования таблицы (на момент до исполнения метода).

Описание:

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

Замечание: Режим «только просмотр» позволяет воспринимать сгруппированные ячейки таблицы как единое целое и использовать фиксацию шапки и боковика таблицы при просмотре. Таким образом данный режим рекомендуется для отчетов, которые предназначены в основном для просмотра и печати.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("catalog.txt");

Таб.ТолькоПросмотр(0);

Таб.Показать("Редактирование Прайс-листа", "price.txt");

Очистить

Очищает содержимое табличного документа.

Синтаксис:

Очистить()

Англоязычный синоним:

Clear

Описание:

Метод Очистить очищает текущее содержимое-табличного документа. Его использование позволяет заново заполнить содержимое табличного документа уже открытого в окне методом Показать. Использование данного метода имеет смысл, если сам объект типа «Таблица» не уничтожался после первого заполнения.

Пример:

* Модуль отчета позволяет выводить отчет заново в уже открытое окно.

Перем Таб;

Процедура Сформировать()

   Таб.Очистить();

   Таб.ВывестиСекцию("Отчет");

   Таб.Показать();

КонецПроцедуры

Таб=СоздатьОбъект("Таблица");

Показать

Открыть окно табличного документа.

Синтаксис:

Показать([<3аголовок>], [<ИмяФайла>], [<Активизировать>])

Англоязычный синоним:

Show

Параметры:

<Заголовок>

Необязательный параметр. Строковое выражение — заголовок окна табличного документа.

<ИмяФайла>

Необязательный параметр. Строковое выражение — имя файла для сохранения табличного документа.

<Активизировать>

Необязательный параметр. Числовое выражение — признак активизации. Может принимать значения:

1 — активизировать окно табличного документа;

0 — не активизировать окно табличного документа;

-1 (минус единица) — закрыть окно если оно открыто.

Значение по умолчанию: 1.

Описание:

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

Параметр <Заголовок> позволяет задать заголовок окна, содержащего табличнй документ. Если параметр не указан, в заголовке будет выдаваться слово «Таблица».

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

Если параметр <ИмяФайла> опущен или имеет пустое значение, то при закрытии окна табличного документа система 1С:Предприятие не будет предлагать сохранить данные в файл. Это имеет смысл для документов, которые формируются только для просмотра или печати, и их не обязательно записывать в файл. Вместе с этим, пользователь в любом случае может записать табличный документ в файл, используя команды «Сохранить» и «Сохранить как» из меню «Файл» главного меню системы 1С:Предприятие.

Параметр <Активизировать> позволяет регулировать активизацию окна табличного документа при вызове метода Показать. Если значение параметра — 0 , то окно открывается, но не становится активным.

Пример:

* Создается объект типа «Таблица» для работы с табличными документами, Открывается табличный документ, находящийся в файле SRC.MOX .

// Для работы с табличными документами создаем

// объект типа "Таблица"

Таб = СоздатьОбъект("Таблица");

// Открываем табличный документ из файла

Таб.Открыть("\v7\db\src.mox");

// Показ табличного документа

Таб.Показать();

Защита

Защитить таблицу от изменений.

Синтаксис:

Защита(<Флаг>)

Англоязычный синоним:

Protection

Параметры:

<Флаг>

Необязательный параметр. Числовое выражение — флаг защиты: 1 — установить защиту; 0 — снять защиту. Значение по умолчанию — 1.

Возвращаемое значение:

Текущее значение флага защиты таблицы (на момент до исполнения метода).

Описание:

Метод Защита предназначен для установки режима полной защиты таблицы от редактирования и копирования (в том числе через буфер обмена). Если не использовать метод Защита, то таблица выводится в незащищенном режиме.

Пример:

Таб.3ащита(1);

Записать

Записать таблицу в файл.

Синтаксис:

Записать(<ИмяФайла>, <ТипФайла>)

Англоязычный синоним:

Write

Параметры:

<ИмяФaйлa>

Строковое выражение с именем файла.

<ТипФайла>

Необязательный параметр. Числовое или строковое выражение, определяющее тип файла.

·         отсутствует, 0 или "MXL" — формат 1С;

·         1 или "XLS" — формат MS Excel

·         2 или "НТМ" или "HTML" — формат HTML;

·         3 или "ТХТ" — формат ТХТ.

Описание:

Метод Записать записывает таблицу в файл с именем <ИмяФайла>.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

Таб.Записать("tabl_2.mxl");

Таб.Записать("tabl_2", "XLS");

ЗначениеТекущейЯчейки

Возвращает вычисленное значение, записанное в ячейку таблицы.

Синтаксис:

ЗначениеТекущейЯчейки(<Адрес>)

Англоязычный синоним:

ValueOfCurrentCell

Параметры:

<Адрес>

Необязательный параметр. Идентификатор переменной, куда система возвратит адрес текущей ячейки в формате «RnCn».

Возвращаемое значение:

Значение, записанное в ячейку таблицы.

Описание:

Метод ЗначениеТекущейЯчейки возвращает значение, записанное в ячейку таблицы путем вычисления выражения, заданного в конфигураторе («Свойства» ячейки — закладка «Текст» — поле «Значение»).

Замечание. Для того, чтобы иметь доступ к этому методу, необходимо, чтобы переменная, содержащая таблицу, была объявлена как переменная модуля, а не локальная переменная процедуры. В этом случае во всех процедурах программного модуля вы сможете использовать данный метод и, на основании значения текущей ячейки, формировать, например, более подробные отчеты.

Пример:

Док = Таб.ЗначениеТекущейЯчейки();

См. также: ЗначениеВСтрокуВнутр, ЗначениеИзСтрокиВнутр

Область

Возращает Область выходной таблицы.

Синтаксис 1:

Область(<Адрес>)

Синтаксис 2:

Область(<R1>, <С1>, <R2>, <С2>)

Англоязычный синоним:

Area

Параметры:

<Адрес>

Необязательный параметр. Строковое выражение, задающее имя области или адрес в формате «R1C1:R2C2».

<R1>

Необязательный параметр. Числовое выражение. Номер первой строки области.

<С1>

Необязательный параметр. Числовое выражение. Номер первого столбца области.

<R2>

Необязательный параметр. Числовое выражение. Номер последней строки области.

<С2>

Необязательный параметр. Числовое выражение. Номер последнего столбца области.

Возвращаемое значение:

Значение типа «ОбластьТаблицы».

Описание:

Функция Область возвращает значение области выходной таблицы или таблицы в режиме ввода данных. Если последняя строка и последний столбец отсутствуют, то область задана единственной ячейкой. Если строки или столбцы отсутсвуют, то область задана диапазоном столбцов или строк соответственно. Если метод вызван без параметров, то область задана всей таблицей.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R1C1:R8C16");

ПовторятьПриПечатиСтроки

Задать строки результирующей таблицы, повторяющиеся при печати в начале каждой страницы.

Синтаксис:

ПовторятьПриПечатиСтроки(<НачСтрока>, <КонСтрока>)

Англоязычный синоним:

RepeatRowsWhilePrinting

Параметры:

<НачСтрока>

Числовое выражение — номер первой строки повторения.

<КонСтрока>

Числовое выражение — номер последней строки повторения.

Описание:

Метод ПовторятьПриПечатиСтроки позволяет задать строки результирующей таблицы, повторяющиеся при печати в начале каждой страницы.

Пример:

Таб.ПовторятьПриПечатиСтроки(1, Таб.ВысотаСекции("ШапкаОтчета"));

ПовторятьПриПечатиСтолбцы

Задать столбцы результирующей таблицы, повторяющиеся при печати на каждой странице слева.

Синтаксис:

ПовторятьПриПечатиСтолбцы(<НачСтолбец>, <КонСтолбец>)

Англоязычный синоним:

RepeatColsWhilePrinting

Параметры:

<НачСтолбец>

Числовое выражение — номер первого столбца повторения.

<КонСтолбец>

Числовое выражение — номер последнего столбца повторения.

Описание:

Метод ПовторятьПриПечатиСтолбцы позволяет задать столбцы результирующей таблицы, повторяющиеся при печати на каждой странице слева.

Пример:

Таб.ПовторятьПриПечатиСтолбцы(1, Таб.ШиринаСекции("БоковикОтчета"));

Опции

Установить флаги вывода сетки, заголовков, фиксации строк и столбцов, опции печати

Синтаксис:

Опции(<ВыводСетки>, <ВыводЗаголовков>, <ФиксСтрок>, <ФиксСтолбцов>,

      <ИмяОпцийПечати>, <ИмяСохрРазмОкна>, <ФлагЧерноБелогоПросмотра>,

      <НаправлениеПерехода>)

Англоязычный синоним:

Options

Параметры:

<ВыводСетки>

Необязательный параметр. Числовое выражение — флаг вывода сетки: 1 — показывать, 0 не показывать. Значение по умолчанию — 1.

<ВыводЗаголовков>

Необязательный параметр. Числовое выражение — флаг вывода заголовков строк и столбцов: 1 — показывать, 0 не показывать. Значение по умолчанию — 1.

<ФиксСтрок>

Необязательный параметр. Числовое выражение — количество фиксируемых строк. Значение по умолчанию — 0.

<ФиксСтолбцов>

Необязательный параметр. Числовое выражение — количество фиксируемых столбцов. Значение по умолчанию — 0.

<ИмяОпцийПечати>

Необязательный параметр. Строковое выражение — идентификатор набора опций печати для данной таблицы. Значение по умолчанию — пустая строка — в этом случае используются системные опции печати по умолчанию.

<ИмяСохрРазмОкна>

Необязательный параметр. Строковое выражение — идентификатор сохраняемых параметров размеров окна. Если этот параметр указан, то система будет сохранять размер окна и использовать его при следующем открытии табличного документа. Фактически, указывая этот параметр можно указать системе режим сохранения и восстановления размеров окна для данного табличного документа, который идентифицируется этой строкой. Параметр необязателен. Значение по умолчанию — пустая строка — в этом случае размеры окна не запоминаются.

<ФлагЧерноБелогоПросмотра>

Необязательный параметр. Число: 1 — чернобелый просмотр; 0 — обычный режим просмотра. Значение по умолчанию — 0.

<НаправлениеПерехода>

Необязательный параметр. Число: 1 — по строкам, т. е. при вводе данных в ячейки при нажатии клавиши <Enter> будет автоматически выполняться переход к следующей вводимой ячейке в этой строке, а если таковых нет, то в самой левой вводимой ячейке следующей строки; 2 — по столбцам, т. е. при вводе данных в ячейки при нажатии клавиши <Enter> будет автоматически выполняться переход к следующей вводимой ячейке в этом столбце, а если таковых нет, то в самой верхней вводимой ячейке следующего столбца; 3 — при вводе данных в ячейки автоматический переход при нажатии клавиши <Enter> выполняться не будет. Значение по умолчанию 1.

Описание:

Метод Опции позволяет перед показом таблицы установить флаги вывода сетки и вывода заголовков строк и столбцов, а также фиксацию строк и столбцов. Если перед отображением таблицы не использовать метод Опции, то для табличных документов устанавливается режим «только для чтения», а все флаги имеют значение 0.

Даный метод позволяет назначить для каждой таблицы свой собственный набор опций печати, который сохраняется в системе под именем <ИмяОпцийПечати>. Набор опций печати привязан к конкретному рабочему месту (компьютеру) и запоминается всякий раз, когда в режиме исполнения при открытом окне редактирования таблицы пользователь перенастраивает параметры настройки печати (главное меню — «Файл» — «Печать»).

Пример: Если при формировании отчетов в методе Опции используются уникальные имена для хранения настройки печати, то, например, для отчета «Прайс-лист» можно установить в параметрах печати ориентацию бумаги — «портрет», а для отчета «Оборотно-сальдовая ведомость» — «ландшафт». В дальнейшем, при формировании этих отчетов параметры печати будут настраиваться автоматически.

Пример:

//Вызов выходного отчета в окно просмотра и редактирования.

Таб.ТолькоПросмотр(1);

Таб.Опции(0, 0, 5, 0, "ОстаткиТоваров");

Таб.Показать("Остатки товаров на складах", "");

ОбластьПечати

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

Синтаксис:

ОбластьПечати(<Верх>, <Лево>, <Низ>, <Право>)

Англоязычный синоним:

PrintRange

Параметры:

<Верх>

Числовое выражение — номер верхней строки таблицы, выводимой на печать.

<Лево>

Числовое выражение — номер крайнего левого столбца, выводимого на печать.

<Низ>

Числовое выражение — номер нижней строки таблицы, выводимой на печать.

<Право>

Числовое выражение — номер крайнего правого столбца, выводимого на печать.

Описание:

Метод ОбластьПечати устанавливает из языка область печати табличного

документа

Пример:

Таб.Напечатать(0);

ПараметрыСтраницы

Установить параметры страницы.

Синтаксис:

ПараметрыСтраницы(<Ориентация>, <Масштаб>, <РежимПечатиКопий>, <ПолеСлева>,

                  <ПолеСправа>, <ПолеСверху>, <ПолеСнизу>, <КолонтитулСверху>,

                  <КолонтитулСнизу>, <Автомасштаб> , <ФлагЧерноБелойПечати>,

                  <ИмяПринтера>)

Англоязычный синоним:

PageSetup

Параметры:

<Ориентация>

Необязательный параметр. Числовое выражение — ориентация вывода на печать: 1 — портрет; 2 — ландшафт.

<Масштаб>

Необязательный параметр. Числовое выражение — масштаб (в процентах) вывода на печать.

<РежимПечатиКопий>

Необязательный параметр. Числовое выражение — режим вывода нескольких копий на печать: 0 — (collate) выводить сначала первые страницы всех копий, затем вторые и т. д.;1 — (разобрать) выводить страницы копий по порядку.

<ПолеСлева>

Необязательный параметр. Числовое выражение — расстояние (в миллиметрах) от правого края страницы.

<ПолеСверху>

Необязательный параметр. Числовое выражение — расстояние (в миллиметрах) от верхнего края страницы.

<ПолеСнизу>

Необязательный параметр. Числовое выражение — расстояние (в миллиметрах) от нижнего края страницы.

<КолонтитулСверху>

Необязательный параметр. Числовое выражение — размер (в миллиметрах) верхнего колонтитула.

<КолонтитулСнизу>

Необязательный параметр. Числовое выражение — размер (в миллиметрах) нижнего колонтитула.

<Автомасштаб>

Необязательный параметр. Числовое выражение — указывает режим автоматического подбора масштаба для размещения документа при печате на листе по ширине. 1 — Включить; 0 — Выключить. По молчанию — 0.

<ФлагЧерноБелойПечати>

Необязательный параметр. Число: 1 — черно-белая печать; 0 — обычный режим печати. Значение по умолчанию — 0.

<ИмяПринтера>

Необязательный параметр. Строка как в стандартном диалоге печати.

Описание:

Метод ПараметрыСтраницы позволяет установить параметры страницы вывода на печать.

Пример:

Таб.ПараметрыСтраницы(1, 100, 1, 17, 17, 25, 25, 10, 10);

См. также: Опции

КоличествоЭкземпляров

Установить количество печатаемых экземпляров.

Синтаксис:

КоличествоЭкземпляров(<Колич>)

Англоязычный синоним:

NumberOfCopies

Параметры:

<Колич>

Необязательный параметр. Числовое выражение — количество печатаемых экземпляров.

Возвращаемое значение:

Текущее заданное количество печатаемых экземпляров (на момент до исполнения метода).

Описание:

Метод КоличествоЭкземпляров позволяет установить количество печатаемых экземпляров. Если для текущей таблицы используется набор опций печати (см. Опции), то данный метод следует вызывать только после вызова метода Показать, т. к. иначе будут действовать автоматически устанавливаемые настройки печати.

Пример:

Таб.КоличествоЭкземпляров(5);

См. также: Опции

ЭкземпляровНаСтранице

Установить количество печатаемых экземпляров на странице.

Синтаксис:

ЭкземпляровНаСтранице(<Колич>)

Англоязычный синоним:

CopyesPerPage

Параметры:

<Колич>

Необязательный параметр. Числовое выражение — количество печатаемых экземпляров на странице. Может принимать значения:

1 — один экземпляр на странице;

2 — два экземпляра на странице;

0 — автоматический режим размещения двух экземпляров на странице исходя из размеров документа.

Возвращаемое значение:

Текущее заданное количество печатаемых экземпляров на странице (на момент до исполнения метода).

Описание:

Метод ЭкземпляровНаСтранице позволяет установить количество печатаемых экземпляров на странице.

Пример:

Таб.ЭкземпляровНаСтранице(2);

См. также: Опции

Напечатать

Напечатать таблицу без предварительного просмотра.

Синтаксис:

Напечатать{<Флаг>)

Англоязычный синоним:

Print

Параметры:

<Флаг>

Числовое выражение — режим запроса диалога печати: 1 — запрашивать диалог печати; 0 — не запрашивать диалог печати.

Описание:

Метод Напечатать позволяет вывести таблицу на печать без открытия окна редактирования (см. Показать).

Пример:

Таб.Напечатать(0);

См. также: Показать

 



Перейти  к оглавлению: Описание встроенного языка

Hosted by uCoz