Андроид. Windows. Антивирусы. Гаджеты. Железо. Игры. Интернет. Операционные системы. Программы.

Что такое табличная часть в 1с. Реквизиты. Как получить текущую строку табличной части

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

Рис. 10 – создание нового реквизита в справочнике «сотрудники организации».

Табличные части

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

Рис. 11 – пример дополнительных данных справочника «сотрудники организации» в табличной части.

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

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

Число строк табличной части не может более 100 000.

Каждый справочник может иметь неограниченное число табличных частей.

Заключение

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

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

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

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

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

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

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

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

Практическое ознакомление помогло мне узнать о различных возможностях программы «1С: Бухгалтерия предприятия».

Считаю, что полученных знаний достаточно для работы в программе, непосредственного их применения.

Табличные части существуют у многих объектов в 1С:

  • Справочники
  • Документы
  • Отчеты и обработки
  • Планы счетов
  • Планы видов характеристик
  • Планы видов расчета
  • Бизнес-процессы и задачи

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

Рассмотрим некоторые приемы работы с табличными частями.

Как обойти табличную часть

Для обхода табличной части можно использовать цикл Для каждого

Для каждого Строка из ТабличнаяЧасть Цикл

Сообщить(Строка. РеквизитТабличнойЧасти) ;

КонецЦикла ;

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

Как получить и обойти выделенные строки табличной части

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

Для получения перечня выделенных строк используется следующий код:

Для того чтобы обойти выделенные строки используется цикл Для каждого :

ВыделенныеСтроки= ЭлементыФормы. ИмяТабличногоПоля. ВыделенныеСтроки;

Для каждого Строка из ВыделенныеСтроки Цикл

//содержимое цикла

КонецЦикла ;

Как программно выделить строки табличной части (табличного поля) и снять выделение

Чтобы программно снять выделение строк табличного поля:

ЭлементыФормы. ИмяТабличногоПоля. ВыделенныйСтроки. Очистить() ;

Чтобы программно выделить все строки табличного поля:

Для каждого ТекущаяСтрока Из ТабличнаяЧасть Цикл
ЭлементыФормы. ИмяТабличногоПоля. ВыделенныеСтроки. Добавить(ТекущаяСтрока) ;
КонецЦикла ;

Как очистить табличную часть

ТабличнаяЧасть. Очистить() ;

Как получить текущую строку табличной части

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

Для обычных форм код будет выглядеть так:

ЭлементыФормы. ИмяТабличногоПоля. ТекущиеДанные;

Для управляемых форм:

Элементы. ИмяТабличногоПоля. ТекущиеДанные;

Как добавить новую строку в табличную часть

Добавление новой строки в конец табличной части:

НоваяСтрока= ТабличнаяЧасть. Добавить() ;

Добавление новой строки в любое место табличной части (последующие строки будут сдвинуты):

НоваяСтрока= ТабличнаяЧасть. Вставить(Индекс)
//Индекс - номер добавляемой строки. Нумерация строк начинается с нуля.

НоваяСтрока. Реквизит1 = "Значение" ;

Как программно заполнить реквизиты строки табличной части

Если нужно программно заполнить реквизиты строки табличной части, которую добавляет пользователь, необходимо использовать обработчик события табличной части ПриНачалеРедактирования .

Создаваемая обработчиком процедура имеет три параметра:

  • Элемент — содержит элемент управления ТабличноеПоле .
  • НоваяСтрока — булево. Содержит значение Истина , если добавляется новая строка табличной части, и Ложь, если пользователь начал редактировать уже существующую строку.
  • Копирование — булево. Содержит значение Истина , если пользователь копирует строку, и Ложь в остальных случаях.

Рассмотрим пример. Допустим, нам нужно заполнить реквизит табличной части СчетУчета , в случае, когда добавляется новая строка. При редактировании существующей строки изменять счет учета не нужно.

Процедура ТабличнаяЧастьПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

//Если пользователь редактирует существующую строку, то ничего не делаем
Если НЕ НоваяСтрока Тогда
Возврат;
КонецЕсли ;

//Если же строка новая, устанавливаем счет учета
ТекСтрока = Элемент. ТекущиеДанные; //Получили текущую строку табличной части
ТекСтрока. СчетУчета = ПланыСчетов. Хозрасчетый. НужныйСчетУчета;
КонецПроцедуры

Добавим в справочник Сотрудники табличную часть и внесём ещё некоторые изменения.

В дереве объектов конфигурации кликните 2 раза по обозначению справочника Сотрудники, перейдите на закладку Данные, измените длину наименования до 100, добавьте новый реквизит ФИОКратко (правой кнопкой по Реквизиты -> Добавить), заполните поля в окне свойств реквизита как на картинке:

Получаем:

Добавим табличную часть. Правой кнопкой по Табличные части -> Добавить, в окне свойств табличной части вводим имя Информация:

Получаем:

Добавим новый реквизит в табличную часть: правой кнопкой по Информация -> Добавить -> Реквизит табличной части. В открывшемся окне свойств реквизита вводим имя Адрес, тип – Строка, длина - 100.
Добавим ещё один реквизит в табличную часть Информация, имя реквизита ДатаПриема, тип – Дата, состав даты – Дата:

Имеем:

Как вы поняли, в табличной части будем хранить информацию о сотрудниках. Переходим на закладку Формы и в группе радиокнопок Редактирование установим Обоими способами:

В строке меню жмём Отладка -> Начать отладку. Откроем справочник Сотрудники, жмём кнопку Действия -> Редактировать в диалоге. Введём новый элемент в справочник: Действия -> Добавить и вводим информацию о новом сотруднике как на картинке:

Аналогично введите информацию ещё о двух сотрудниках, создайте новую группу Менеджеры: Действия -> Новая группа:

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

В одной таблице перечислены товары к отгрузке со склада. В другой таблице – обязательства по оплате этих товаров.

Поэтому в 1С видное место занимает работа с таблицами.

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

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

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

//Вариант 1 – последовательный доступ к результатам запроса

//получение таблицы
Выборка = Запрос.Выполнить().Выбрать();
//по порядку обходим все строки результата запроса
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;

//Вариант 2 – выгрузка в таблицу значений
Запрос = Новый Запрос(«ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура»);
//получение таблицы
Таблица = Запрос.Выполнить().Выгрузить().
//далее можем также обойти все строки
Для каждого Строка из Таблица Цикл
Сообщить(Строка.Наименование);
КонецЦикла;
//или произвольно обращаться к строкам
Строка = Таблица.Найти(«Лопата», «Наименование»);

Важная особенность – в таблице, которая получена из результата запроса, все колонки будут строго типизированы. Это значит, что запросив поле Наименование из справочника Номенклатура, Вы получите колонку вида Строка с допустимой длиной не более N символов.

Таблица на форме (толстый клиент)

Пользователь работает с таблицей, когда она размещена на форме.

Базовые принципы работы с формами мы с Вами обсуждали в уроке по и в уроке по

Итак, разместим таблицу на форме. Для этого можно перетащить таблицу с панели элементов управления. Аналогично можно выбрать в меню Форма/Вставить элемент управления.

Данные могут храниться в конфигурации – тогда нужно выбрать существующую (ранее добавленную) табличную часть того объекта конфигурации, форму которого Вы редактируете.

Нажмите кнопку «…» в свойстве Данные. Для того, чтобы увидеть список табличных частей, нужно раскрыть ветку Объект.

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

В этом же свойстве Данные Вы можете ввести произвольное имя и выбрать тип ТаблицаЗначений.

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

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

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

Чтобы управлять таблицей, нужно вывести на форму командную панель. Выберите пункт меню Форма/Вставить элемент управления/Командная панель.

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

Таблица на форме (тонкий/управляемый клиент)

На управляемой форме указанные действия выглядят немного по другому. Если Вам нужно разместить на форме табличную часть – раскройте ветку Объект и перетащите одну из табличных частей влево. И все!

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

Чтобы добавить колонки, используйте меню по правой кнопке мыши на этом реквизите формы, пункт Добавить колонку реквизита.

После чего также перетащите таблицу влево.

Чтобы у таблицы появилась командная панель, в свойствах таблицы выберите значения в секции Использование – Положение командной панели.

Выгрузка таблицы в Excel

Любую таблицу 1С, расположенную на форме, можно распечатать или выгрузить в Excel.

Для этого щелкните правой кнопкой мыши на свободном месте в таблице и выберите пункт Вывести список.

В управляемом (тонком) клиент аналогичные действия можно выполнить с помощью пункта меню Все действия/Вывести список.

Похожие публикации