Таблица значений переменных
-

Таблица значений переменных

0
2701
05.10.2022 Марина Анапольская

Содержание:

1. Коллекции значений

2. Синтакcис при работе с Таблицей значений - примеры 

 

1. Коллекции значений


Язык программирования 1С имеет в своем функционале несколько универсальных коллекций значений. Эти коллекции значений позволяют хранить и обрабатывать данные различных типов. Одной из наиболее полных и функциональных коллекций является Таблица значений переменных. ТЗ - объект, с помощью которого можно хранить и обрабатывать данные в виде таблицы, т.о. колонки являются коллекцией значений, а строки - коллекцией колонок. Таблица значений выражений храниться в оперативной памяти, т.е. она существует на время исполнения программного кода. Для того чтобы сохранения данных в базу нужно использовать другие объекты (табличные части объектов, различные регистры и т.д.)


Функции таблицы значений:

·         При работе с табличными частями документов, справочников;

·         Результат запроса можно выгрузить в ТЗ;

·         При выводе табличных данных на форму;

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


НО! Важно знать, что в тип ТаблицаЗначений определен только на сервере. Это значит, что Таблицу значений величин нельзя создавать на клиенте, а также ее нельзя передавать на клиент с сервера.


 1s tablica znachenij velichin.png

Рис. 1. Ошибка при попытке создания Таблицы значений на клиенте


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


2. Синтаксис при работе с Таблицей значений - примеры


tablica znachenij velichin.png

Рис. 2. Структура дерева разделов Синтаксис-помощника


1.      Создание (инициализация) Таблицы значений.

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

ТЗ = Новый ТаблицаЗначений;

Т.о., в переменной ТЗ присвоиться пустая таблица, не имеющая структуры;

 

1.2.   Чтобы задать структуру таблицы значений выражений необходимо создать колонки:

ТЗ.Колонки.Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>);

 

Например,

ТЗ.Колонки.Добавить(«Груз», , «Вид груза»);

ТЗ.Колонки.Добавить(«Вес»);

ТЗ.Колонки.Добавить(«Цена», , «Цена (груза));


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

 

Если необходимо задать тип колонки явным образом, то использовать нужно объект ОписаниеТипов:

МассивТ = Новый Массив;

МассивТ.Добавить(Тип("СправочникСсылка.ВидыГрузов"));

МассивТ.Добавить(Тип("Число"));

ПараметрыЧ = Новый КвалификаторыЧисла(10,3);

 

ТЗ.Колонки.Добавить(«Груз», Новый ОписаниеТипов(МассивТ, , ПараметрыЧисла), «Вид груза»);

ТЗ.Колонки.Добавить(«Вес», Новый ОписаниеТипов(МассивТ, , ПараметрыЧ));

 

Имеется возможность вставить новую колонку в любое место таблицы методом:

ТЗ.Колонки.Вставить(<Индекс>, <ИмяКол>, <Тип>, <ЗаголовокКол>, <ШиринаКол>)


tablica velichin v 1s.png  

Рис. 3. Описание объекта встроенного языка Таблица значений в Синтаксис-помощнике «Cntr + F1»


1.3.    Т.к. Таблица значений в виде коллекции строк, то и добавлять каждую новую строку нужно методом «Добавить()», обращаясь к ТЗ как к коллекции:

НовСтрока = ТЗ.Добавить(); – Добавить в конец таблицы;

НовСтрока = ТЗ.Вставить(<Индекс>); – Вставить строку в нужное место, по указанному индексу.

 

1.4.    Если нужно не формировать новую, а получить ТЗ из другой, подобной, т.е. скопировать, то можно воспользоваться методом Скопировать():

 

НоваяТЗ = ТЗ.Скопировать(ПарамОтбора, «СписокКолонок»);

Где ПарамОтбора – Структура, ключ которой равен имени колонки, а значение – отбираемому значению. Список колонок –колонки, которые нужно скопировать, перечисленне через запятую. «Кол1, Кол2, …»

 

Копирование всей ТЗ, полностью:

НоваяТЗ = ТЗ.Скопировать();

 

1.5.    Создать ТЗ также можно, выгрузив результат запроса:

ТЗ = Запрос.Выполнить().Выгрузить();

   

 vyvod tablicy znachenij.png

Рис. 4. Пример создания ТЗ в коде модуля

 

2.       Работа со строками таблицы значений

2.1.    Для обхода строк в примере с таблицей значений используется оператор «Для каждого …Из…Цикл»:

Для Каждого СтрокаТЗ Из ТЗ Цикл

//обработка строки таблицы

КонецЦикла;

 

Для обращения к конкретной строке нужно использовать оператор []

ТЗ[2].Количество = 500;

 

2.2.    Количество строк ТЗ определяется методом Количество()

КолвоСтрок = ТЗ.Количество();

 

2.3.    Строки можно отсортировать методом Сортировать():

ТЗ.Сортировать(«Колонки»);

Колонки – список колонок, по которым нужно отсортировать, указанные в порядке сортировки:

ТЗ.Сортировать(«Номенклатура,Цена»);

 

2.4.    Есть возможность очистить всю таблицу методом Очистить()

ТЗ.Очистить();

2.5.    Удалить можно не только все строки, но и одну - метод Удалить(<Индекс>)

ТЗ.Удалить(2);

 

2.6.    Стоит сказать об одном удобном инструменте. Если необходимо отобрать строки в результате таблице значений, по определенному условию:

 

СтрокаТЗ = ТЗ.Найти(<Значение>, <Колонки>);

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

 

ИЛИ СтрокиТЗ = ТЗ.НайтиСтроки(<ПараметрыОтбора>);

ПараметрыОтбора – структура отбора (ключ – имя колонки, значение – искомое значение).

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

 

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

ТЗ.Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>);

Где – КолонкиГруппировок –колонки (список через запятую), те, по значениям которых нужно свернуть ТЗ, КолонкиСуммирования – те колонки, значения котроых нужно суммировать.

 

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

ПодвалКолонки = ТЗ.Итог(<ИмяКолонки>);

 

3.       Значения Таблицы значений при отладке

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


 vyvod tablicy znachenij 1s.png

Рис. 5. Значения таблицы значений при нажатии на копку «Вычислить выражение»

   

Специалист компании «Кодерлайн»

Марина Анапольская

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Разделы
Теги
#Ведомость : #Мәліметтер базасы # 1С жүйесінің конфигурациясы # Автоматизация процессов # акты в 1С # Животноводство # Заполнение реквизитов # Качество обслуживания # НСИ # Оформление акта # Растениеводство # Сатып алу және сату # Товары # Унифицированная форма #1С бағдарламау #1С емтихан #1С қалай жасауға болады #1С те қалай жасайды #1С-да қалай жасауға болады #1С-да қалай жасауға болады #1С-те қалай жасауға болады #1С-те қалай істеу қажет #1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP-де қалай жасауға болады #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Договоры #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Құжат айналымы #1С: Құжат айналымы #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С: Шарттар #1С:ERP #1С:БГУ #1С:БП #1С:Бухгалтерия #1С:Комплксная автоматизация #1С:Предприятие #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MD83Exp.epf #MS SQL Server #Soap #WEB #WEB-сервисы 1С #Word #XML #Авансовый отчёт #Аванстық есеп #Автозаполнение #Администрирование 1С #Адресный классификатор #Акт сверки #акты в 1С #Анализ #Бағдарлама коды #Бағдарламалау тілі #База данных #Базы метаданных #Бақылау #Банк үзінділері #Банковские выписки #Банктік үзінді #Баспа нысаны #Безопасность сервера #Бесшовная интеграция #Бизнес-процесс #БИТ.Финанc #Битрикс24 #БКМ #Блокировки в 1С #Бонусная система #БСП #БУ #Бурение скважин #Бухгалтерлік есеп #Бухгалтерский отчет #Бухгалтерский учет #Бюджетирование #Валюта #Ввод данных #Взаимодействие с клиентами #Виды документов #Виды справочников #Виды цен #Внедрение #Внедрение ERP #Внешняя обработка документа #Возврат #Годовая ведомость #График платежей #Группа доступа #Данные #ДДС #Деректер #Деректер түрі #Деректерді құру #Деректердің түрлері #Деректермен алмасу #Дисконтные карты #Доверенность в 1С #договор #Документ #Документ закупки #Документ корректировки долга #Документ Приобретение товаров и услуг #Доставка #Есеп #Есеп айырысу шотына түсу #Есепке алу #Есептеулер #жалақы #Жеке параметрлер #Жылдық ведомость #Заказ клиента #Заказ покупателя #Заказ поставщику #Закрытие месяца #Закупка #Запасы #Запасы на складе #Запросы 1С #Заработная плата #Идентификатор товара #Интеграция 1С #Информационные ресурсы #Кадровый учет #Казначейство #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Карточка сотрудника #Касса ККМ #Кесте формасы #Кіру тобы #кіруді шектеу #ККМ #Ключи криптографической системы #Код #Комиссионер #Комиссионные продажи #Компоновка данных #Конвертация данных #Контрагент #Контрагенттермен есеп айырысу #Контроль #Конфигурация #Конфигурация 1С #Конфигурация системы 1С #Корпоративное сопровождение #Корректировка поступления #Курсовые разницы #Курстық айырмашылықтар #қайтару #Қалдықтар #Құжат #Қате #Қойма #Қорлар #Құжат #Құжат #құжатты сыртқы өңдеу #Қызметкер картасы #Лизинг #Лицензии 1С #Логистика #Мәліметтер базасы #метадеректер базасы #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #Монитор #МӨҚ бағалау әдістері #МСФО #Накладная ТМЦ #Налоги #Настройка прав доступа #Настройка программы #Настройка системы #Начисление зарплаты #Начисления #Номенклатура #Нормативно-справочная информация #Обмен данными #Обмен между базами #Обновления #Объектілік мәліметтер базасы #Объектная база данных #Ограничение доступа #Оприходование #Оптимизация #Оптимизация бизнеса #Оптимизация процессов #Оптимизация работы #Оптовые продажи #Ордерная схема #Ордерный склад #Основные средства #Остатки #Остатки счета #Ответственное хранение #Отгрузка товаров #Отпуск #Отчет комитенту #Отчетность #Отчеты в 1С #Оценка задач #Ошибка #Өнімді есепке алу #Пайдаланушының рөлі #Параметры #Передача на комиссию #Перенос данных #Персональные настройки #Печатная форма документа #Печать ценников #Пішін элементі #План-фактный анализ #Планирование #Планирование продажи #Платежное поручение #Платежный календарь #Платежный ордер #Подарочный сертификат #Поддержание запасов #Покупки и продажи #Полезные обработки #Поставщик #Поступление на расчётный счёт #Поступление товара #Права доступа #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Программный код #Продажи #Производственный процесс #Производство #Прямой обмен #Путевой лист #Работа с объектами в 1С #Рассылка отчетов #Расход #Расходный кассовый ордер #Расчеты с контрагентами #Расширение конфигурации #Регистрационный номер #Регламентные задания #Регламентные отчёты #Регламентный учёта #Регламенттік есеп #Регламенттік есептер #Резерв товара #Резервирование #Резервная копия #Ресурсная спецификация #Реттеуші тапсырмалар #РМК #Розничная и оптовая торговля #Розничная продажа #Розничная торговля #Роль пользователя #РСБУ #С # #Салықтар #Салықтық есепке алу әдістері #САтуды басқару #Сатып алу #Сатып алуды басқару #Сверка взаиморасчетов #СКД #Скидки #Склад #Складской учет #Согласование #Соединение COM в 1С платформе #Сортировка #Списание #Способы налогового учета #Способы оценки МПЗ #Справочник #Справочник #Сравнение конфигураций #Сұрыптау #Табличная форма #Табличная часть #Тауардың түсуі #Тестирование 1С #Тестирование процесса #Техническое задание #Технологическая операция #Тип данных #Типовые конфигурации #Тікелей алмасу #ТМЦ #Торговое оборудование #Төлем кестесі #Төлем күнтізбесі #Төлем тапсырмасы #Төлем тапсырысы #Транспортная логистика #Уведомления #Управление заказами #Управление закупками #Управление продажами #Управление проектами #Управление ресурсами #Управление финансами #Управленческий учет #Утверждение #Учет #Учет номенклатуры #Учет продукции #Учет товаров #Файл #Файлы #Финансовый учет #Форма #Форма элемента #Формирование заказов #Функция предварительного просмотра #Характеристика номенклатуры #Хранилище настроек #Ценообразование #Чек #Чек ККМ #Чек-бокс #шаблон #Шот қалдықтары #Штрихкод #Штрихкодирование #Эквайринговый терминал #Экзамен 1С #Электрондық цифрлық қолтаңба #Электрондық цифрлық қолтаңба#Тікелей алмасу #Электронно-цифровая подпись #Элемент пішіні #Элемент справочника #Элемент формы #Этапы #Этикетка #ЭЦП #Язык программирования #Яндекс.Касса 1С под Linux Email или телефон коррект Криптографиялық жүйенің кілттері Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.