Как нарисовать таблицу в 1с

Обновлено: 07.07.2024

Каждый, кто программировал в обычном приложении, часто сталкивался с задачей получения произвольной таблицы значений на форме. Под произвольной таблицей значений понимается таблица, количество и тип колонок которой наперед не известно. То есть колонок может быть 3, а может 6, а может 8. В обычном приложении все просто: можно было на форме обработки разместить элемент «ТаблицаЗначений»,и затем передать в этот элемент созданную таблицу значений программным способом. Потом простой командой:

получить готовую таблицу значений на форме. Казалось бы, что может быть проще.

Это все было в обычном приложении. В управляемом приложении все изменилось. Так просто произвольную таблицу не создать. Теперь нужно либо жестко параметризировать таблицу значений на форме, либо создавать ее программным способом (описывать,ну, в этом, собственно, и суть самого управляемого приложения). Это мы и попробуем сделать: программными средствами создать произвольную таблицу значений на управляемой форме.

Решение задачи.

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



Создание таблицы на форме происходит через описание таблицы значений как реквизита:

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

Создаем таблицу, которая содержит несколько колонок:

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

Вот такая нехитрая комбинация и наша таблица готова.

Далее укажем путь к данным и, например, можем установить ширину колонок:

Условное оформление, если нам нужно мы также пишем вручную,командное меню – вручную. Обработчики таблицы также пишутся руками. Например,что бы добавить обработчик события таблицы «Выбор»:

Для обработки данного события в форме процедуры прописывается отдельная процедура:

Обратите внимание, что обработчики таблицы срабатывают на клиенте и поэтому должны иметь команду указатель компилятора

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

Вот что имеем в результате:


А вот обработка события "Выбор":



Послесловие.

Надеюсь, статья окажет помощь тем программистам 1С, которые начинают создавать таблицы на форме программным способом.

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

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

Рассмотрим ситуацию, когда в небольшой компании возникла задача создать дополнительную таблицу в базе 1С без программиста. Таблицы можно создать в пустой базе или в базе, в которой уже есть данные. Можно использовать свою конфигурацию или конфигурацию компании 1С.

Когда таблица создается в базе с собственной конфигурацией, то снимать с поддержки не нужно. В данном примере используется конфигурация «Управление торговлей» редакции 11, поэтому предварительно рассмотрим как включить возможность изменений.

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

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

В 1С есть два режима работы с базой «Предприятие» и «Конфигуратор». Для создания новых таблиц используется режим «Конфигуратор».

Типовая конфигурация 1С защищена от изменений. Включим возможность изменений конфигурации. Для этого зайдем в настройку поддержки.

Нажмем команду «Включить возможность изменений», появится окно «Настройка правил поддержки»

Выберем опции «Объект поставщика редактируется с сохранением поддержки» для всех объектов и нажмем команду «Ок».

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

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

Возьмем для примера регистр сведений. В таблице у нас будет всего три колонки: Контрагент, Договор и Ставка рентабельности.

Добавим новый регистр сведений по команде «Добавить».

Укажем имя нового регистра «Неснижаемый процент рентабельности» на вкладке «Основные».

Укажем в каком разделе искать нашу новую таблицу. В разделе «Подсистемы» поставим галочки «CRMИМаркетинг» и «НСИпродаж» (см. скрин).

Создадим колонки таблицы, для этого на вкладке «Данные» добавим измерения «Контрагент» и «Договор». Введем наименование и укажем тип данных .

Добавим к регистру ресурс с именем «Ставка рентабельности» и укажем тип «Число» - это тоже новая колонка в таблице.

Мы настроили таблицу и можем перейти к ее заполнению.

Находим таблицу «Неснижаемый процент рентабельности» в разделе «CRM и маркетинг».

Заполнить таблицу можно по команде «Создать». Выбираем из справочников «Контрагенты» и «Договора» нужные элементы и проставляем ставку рентабельности.

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

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

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

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

Кроме того, есть допущение, что работают с базой пользователи с полными правами. Добавление отдельных прав доступа на новый объект можно также сделать без помощи программиста.

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

Анна Викулина

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

Создание табличного документа в 1С

В программе 1С, кроме работы с имеющимися печатными формами документов или отчетов, можно сформировать табличный документ с нуля, для чего надо зайти вменю «Файл-Новый».

В открывшемся окне выбираем характеристику и жмем «Ок».

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

Оформление ячейки табличного документа

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

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

Примечания и работа с ячейками

Заполнение табличного документа в 1С 8.3 предусматривает создание примечаний для ячейки или их группы. Они буду помечены треугольничком в правом верхнем углу, при наведении мышки на который будет всплывать окошечко с текстом, поясняющим данные ячеек. Чтобы их создать, надо вызвать нажатием правой кнопки мышки команду контекстного меню – «Вставить примечание» или через пункт меню «Файл-Таблица-Примечание».

Выглядеть это будет так:

Мы можем выполнять с ячейками любые действия, как с обычными таблицами в Excel или таблицами в документах Word – вставлять и удалять строки, объединять ячейки, скрывать и пр. («Файл-Таблица-Ячейки»).

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

Группировка элементов

Формируя структуру нашей таблицы, мы можем сгруппировать строки или удалить группировку при необходимости («Файл-Таблица-Группы»).

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

Их можно сделать горизонтальными или вертикальными, регулируя при этом расположение итогов в группировке: для первых – сверху или снизу, для вторых, соответственно – справа или слева.

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

Макет печатной формы документа

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

В каждом документе имеется макет его печатной формы. Открыв печатную форму, нажав кнопку «Еще» и выбрав команду «Изменить макет», мы самостоятельно можем внести в него коррективы, не прибегая к помощи программиста. Теперь такая возможность доступна в пользовательском режиме 1С.

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

С помощью кнопки на панели инструментов и «Еще», выбрав нужный раздел, мы можем произвести изменение табличного документа 1С 8.3.

Ввод данных

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

Сохранение

Сформировав документ, его можно сохранить в файл на диске для отправки по электронной почте, переноса на другой компьютер или флешку и т.д. Для этого выберем команду «Сохранить» в пункте меню «Файл».

При сохранении табличного документа можно выбрать различные форматы, как в собственном формате – 1С-mxl, так и экспортировать в другие форматы – лист Excel, документ PDF или формат mxl-табличный документ v7.7 (для совместимости с версией платформы 7.7) и другие форматы.

В некоторых печатных формах документа имеется кнопка «Сохранить».

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы

Автор уроков и преподаватель школы: Владимир Милькин

На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: "Таблица".

Ставим цель

  • Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
  • В строках таблицы должна выводиться еда, в колонках - клиенты, а на пересечении количество данной еды заказанной данным клиентом.
  • Информацию будем брать из документов "ЗаказКлиента".

Создаём новый отчёт

Открываем базу "Гастроном" в конфигураторе и через меню "Файл"->"Новый. " создаём новый отчёт:

Вид документа - "Внешний отчет":

В новой форме отчёта указываем имя "Урок8" и нажимаем кнопку "Открыть схему компоновки данных":


Имя схемы компоновки данных оставляем по умолчанию:

Составляем запрос

Добавляем новый набор данных - запрос:


Выделяем новый набор данных и вызываем конструктор запроса:


Будем выбирать из табличных частей документа "ЗаказКлиента" следующие поля:

Получился следующий текст запроса:


Сначала пробуем список

Перейдём на закладку "Настройки" и нажмём волшебную палочку, чтобы вызвать конструктор:


Вначале попробуем по старинке выбрать тип отчета "Список. ":

Укажем поля, которые будут отображаться в отчете:

Сохраним наш отчёт в конфигураторе и сформируем в режиме пользователя:


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

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

Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках - клиенты, а на пересечении количество данной еды, которое заказал данный клиент:

Сделать это действительно легко. Для этого вернёмся на закладку "Настройки" и вновь вызовем конструктор настроек через волшебную палочку:


На этот раз в качестве типа отчета выберем "Таблица..":

Из полей, которые будут отображаться в отчёте уберём "Клиент" и "Еда", так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:

Оставим только количество, которое будет отображаться на пересечении строк и столбцов:

Здесь нужно указать конструктору какие поля будут отображаться в строках, а какие в столбцах. Для нас очевидно (см. рисунок выше), что строки - это еда, а колонки - клиенты:

Получилось вот так:

Итоговая структура отчёта будет такой:


Сохраняем наш отчёт в конфигураторе и формируем в режиме пользователя:


Вроде бы неплохо. Еда отображаться в строках, а клиенты - в столбцах. Но показатели количества, которые мы ожидали увидеть на пересечении строк и столбцов почему-то оказались все слепёшены в одном столбце.

А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.

Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.

Забыли подвести итоги

Переходим на закладку "Ресурсы" и перетаскиваем поле "Количество" из левой колонки в правую:


Выражение "Сумма(Про. " оставляем без изменения:


Снова сохраняем отчет и формируем в режиме пользователя:


То, что надо! Мы хорошо поработали. А на следующем уроке - мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.

Эталонная обработка, после выполнения всех шагов этого урока

Войдите на сайт как ученик

Для учеников

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

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Читайте также: