Чем человек умнее и искуснее, тем он
становится более ненавистным,
когда он утратил свою репутацию честности.
Цицерон.
1С:Школа.
Выпуск 33.
"Работа с таблицами".
Объект "Таблица" можно с уверенностью назвать одним из основных объектов системы. Без него трудно себе представить работу в 1С:Предприятии 7.7. Его назначение - подготовка форм для вывода на печать. Этот объект используется в каждом отчете и почти во всех документах. Но сам по себе объект "Таблица" мало чем полезен без таблицы, которая создается табличным редактором, встроенным в 1С. Таблица, создаваемая редактором табличных форм, служит шаблоном, используемым объектом "Таблица" в модуле. В данном случае происходит совпадение названий двух разных понятий: "Таблица", как объект в модуле и "Таблица", как результат работы табличного редактора. Для того, чтобы избежать путаницы, вторую таблицу будем называть "таблицаР". "Р" - от слова "редактируемая".
Рассмотрим более подробно таблицуР. Как правило, эта таблица находится рядом с модулем и диалогом. Например, создаете внешний отчет, а там автоматически есть закладки "диалог", "модуль" и "таблица". Но это "как правило". ТаблицаР может располагаться в следующих местах:
рядом с диалогом и модулем (например, у документа, формы списка справочника и т.д.). В этом случае таблицаР будет доступна только из текущего модуля рядом с которым она располагается. Чтобы создать несколько таблицР, щелкните по закладке "Модуль" правой клавишей мыши и выберите "Добавить таблицу".
существуют общие таблицыР. Чтобы их найти, находясь в конфигураторе, выберите меню "Действие" - "Общие таблицы". Общих таблицР может быть много. Их характерная особенность - к ним можно получить доступ из любого модуля.
таблицыР могут храниться во внешних файлах. Эти файлы имеют расширение mxl. Чтобы создать внешний файл, выберите меню "Файл" - "Новый" - "Таблица". Эти таблицыР также доступны из любого модуля в конфигурации. Их особенностью является то, что они не зависят от конфигурации и Вы, меняя или обновляя конфигурацию, не затрагиваете таблицыР.
ТаблицаР очень похожа на электронную таблицу: такие же ячейки, строки, колонки. Поэтому разобраться с принципами работы будет не трудно. Но есть несколько отличий. Важное отличие: нет формул как в EXCEL.
У каждой ячейки есть свойства. Эти свойства играют решающую роль при выводе таблицыР. Чтобы изменить свойства ячейки, выделите ячейку и выберите в меню "Действие" пункт "Свойства...". Откроется окно в котором будет несколько закладок. Закладки "Положение", "Шрифт", "Рамка", "Узор" общепонятны и останавливаться на их функционале не будем. Они предназначены для определения внешнего вида, представленных в ячейке данных. Рассмотрим закладку "Текст" и некоторые параметры, определяемые на ней:
Параметр Тип. Может принимать следующие значения
ТЕКСТ - содержимое ячейки выводится без изменений. То, что написано в ячейке, то и будет выведено для просмотра.
ВЫРАЖЕНИЕ - содержимое ячейки система воспринимается как имя переменной. В момент вывода ячейки значение этой переменной должно быть определено и это значение будет подставлено в ячейку.
ШАБЛОН - содержимое ячейки может содержать "вперемешку" текст и переменные, заключенные в [квадратные скобки]. Например, "Сотрудник [имя]. Табельный номер [тн]". То, что находится в квадратных скобках, будет восприниматься как переменные и вместо переменных будут подставлены их значения. Квадратные скобки не будут выводиться в таблицу. Таким образом, в результате вывода ячейки с таким содержимом получится строка вида "Сотрудник Петров А.Н.. Табельный номер 36876".
ФИКС.ШАБЛОН - это фиксированный шаблон. От шаблона отличается тем, что в фиксированном шаблоне имеет значение расстояние между квадратными скобками. Сколько символом между квадратными скобками (включая пробелы) столько символов от значения переменной и будет выведено. Лишние символы будут обрезаны.
Параметр Контроль. Это поле управляет представлением содержимого ячейки в том случае, если это содержимое не влезает в ячейку:
АВТО - значение будет автоматически продолжаться в следующей ячейке.
ОБРЕЗАТЬ - значение будет автоматически обрезано по краю ячейки
ЗАБИВАТЬ - в том, случае если значение не влезает, вместо него будет выведено ######.
ПЕРЕНОСИТЬ - текст в ячейке будет перенесен на новую строку (в той же ячейке)
КРАСНЫЙ - содержимое ячейки будет выделено красным, если оно не влезло целиком
ЗАБИВАТЬ+КРАСНЫЙ= #####.
Остальные свойства нам пока не понадобятся.
Как уже говорилось выше, таблицаР служит для вывода отчетов, документов на печать. Грубо говоря, служит для создания печатной формы. Не трудно заметить, что все печатные формы, даже у одного документа, имеют разную высоту. В документе может быть 1, 2, ....15, 115 строк, и их количество заранее нам не известно. По этому не ясно какую печатную форму создавать. Все (большинство) печатные формы строятся по одному принципу: есть заголовок (шапка), есть таблица (часть которая постоянно повторяется n-ое количество раз) и есть итог (подвал). Это примерная общая схема большинства документов: шапка, таблица, подвал. От случая к случаю, что-то может отсутствовать или дублироваться. Для организации "шапок", "таблиц" и "подвалов" в таблицеР можно создавать секции. Секция по сути является шаблоном для какой-то части печатной формы. Этот шаблон в одной таблицеР можно многократно повторять, заполняя разным содержимом. Например, для того, чтобы вывести табличную часть отчета по остаткам товаров, надо создать одну единственную секцию:
<товар> | <кол> | <едИзм> | <ост> | <сумма> |
В свойствах каждой ячейки указан тип "выражение". Таким образом, в каждой ячейке такой секции находится переменная. В модуле мы будем в цикле выводить эту секцию, каждый раз заполняя переменные новыми значениями.
Для такого отчета нам понадобится еще одна секция, где будут размещены заголовки столбцов и название отчета. Эту секцию мы выведем всего один раз в самом начале построения таблицы.
Остатки товаров на [ТекДат] по складу [ИмяСклада] | ||||
Товар | Кол. | Ед.Изм. | Остаток | Сумма |
Секция состоит из двух строк. В первой строке тип ячейки Шаблон. Во второй строке тип всех ячеек "Текст".
Как в таблицеР создать секцию:
определитесь сколько строк будет в Вашей таблице;
выделите необходимое количество строк (за заголовки строк, как в Excel)
в меню "Таблица" выберите "Включить в секцию"
в открывшемся окне укажите имя секции. По этому имени Вы из модуля будете обращаться к секции.
Если Вы все правильно сделали, то в таблицеР появится заголовок Вашей секции, а сама секция будет "отгорожена" от остальных ячеек красными линиями.
Дополнения:
В каждой секции может быть неограниченное количество строк.
Строки можно будет будет удалять и добавлять к секции (меню "Действие" пункты "Раздвинуть" и "Удалить")
Порядок секций в таблицеР не важен. "Шапка" может быть расположена под подвалом, а "Содержание" над "Шапкой". Важно то, в каком порядке в модуле Вы будете выводить эти секции.
Секции могут быть не только горизонтальные, но и вертикальные (про это потом);
Секции могут быть вложены друг в друга (про это тоже потом);
В таблицеР могут быть не только ячейки, но и рисунки. Меню "Таблица" пункт "Вставить рисунок" (самостоятельно);
В меню "Вид" Вы можете управлять параметрами таблицы: вывод сетки, заголовков и т.п.(самостоятельно) ;
Вот мы и подошли к самому главному: объекту "Таблица", предназначенному для управления ТаблицейР. Но об этом в следующем выпуске.
На сайте 1С:Школа можно скачать архив рассылки с 1 по 30 выпуск в rar-архиве. Так же на сайте, открылся новый раздел "Библиотека". В нем вы найдете подборку книг и методического материала по 1С:Бухгалтерии, 1С:Торговле, 1С:Зарплате, бухгалтерскому учету и Конфигурированию. В разделе "Бухгалтерский учет" есть книга "Бухучет для технарей".