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

« Назад « На главную

Список значений, таблица значений, дерево значений


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


Как создать список значений?


 СозданныйСписок = Новый СписокЗначений; 

Как добавить элементы в список значений?


 СписокСотрудников.Добавить(ТекущийСотрудник, ТекущийСотрудник.ФИО, , Фото); СписокСотрудников.Вставить(Инд, ТекущийСотрудник, ТекущийСотрудник.ФИО, , Фото); 

Как найти элемент списка значений?


 ЭлементСписка = СписокСотрудников.НайтиПоЗначению(ИскомыйСотрудник); Если ЭлементСписка <> Неопределено Тогда Сообщить(СписокСотрудников.Индекс(ЭлементСписка)); КонецЕсли; 

Как обратиться к элементу списка значений?


 ЭлементСписка = СписокСотрудников[Инд]; ЭлементСписка = СписокСотрудников.Получить(Инд); Сотрудник = ЭлементСписка.Значение; Представление = ЭлементСписка.Представление; Пометка = ЭлементСписка.Пометка; Картинка = ЭлементСписка.Картинка; 

Как перебрать элементы списка значений?


 Для Каждого ЭлементСписка Из СписокСотрудников Цикл Сообщить(ЭлементСписка.Значение); КонецЦикла; СтаршийИндекс = СписокСотрудников.Количество() - 1; Для Сч = 0 по СтаршийИндекс Цикл Сообщить(СписокСотрудников[Сч].Значение); КонецЦикла; 

Как удалить элемент списка значений?


 СписокСотрудников.Удалить(0); Индекс = СписокОбъектов.Количество() - 1; Пока Индекс >= 0 Цикл Если ТипЗнч(СписокОбъектов[Индекс].Значение) = Тип("Число") Тогда СписокОбъектов.Удалить(Индекс); КонецЕсли; Индекс = Индекс - 1; КонецЦикла; 

Как создать таблицу значений и заполнить ее поля?


 ТаблицаЗначений = Новый ТаблицаЗначений; // Создать нужные колонки. ТаблицаЗначений.Колонки.Добавить("Фамилия"); ТаблицаЗначений.Колонки.Добавить("Возраст"); // Добавить новую строку и задать значения в колонках таблицы. НоваяСтрока = ТаблицаЗначений.Добавить(); НоваяСтрока.Фамилия = "Иванов"; НоваяСтрока.Возраст = 23; // Добавить новую строку и задать значения в колонках таблицы. НоваяСтрока = ТаблицаЗначений.Добавить(); НоваяСтрока["Фамилия"] = "Иванов"; НоваяСтрока["Возраст"] = 23; 

Как найти значение в таблице значений?


 НайденнаяСтрока = ТаблицаЗначений.Найти(ИскомоеЗначение); НайденнаяСтрока = ТаблицаЗначений.Найти(ИскомоеЗначение, "Поставщик, Покупатель"); // Сформировать структуру отбора.  СтруктураПоиска = Структура("Сотрудник", ИскомоеЗначение); // Найти строки.  МассивНайденныхСтрок = ТаблицаЗначений.НайтиСтроки(СтруктураПоиска); 

Как перебрать строки таблицы значений?


 Для Каждого ТекущаяСтрока Из ТаблицаСотрудников Цикл Сообщить(ТекущаяСтрока.Сотрудник); КонецЦикла; СтаршийИндекс = ТаблицаСотрудников.Количество() - 1; Для Сч = 0 по СтаршийИндекс Цикл Сообщить(СписокСотрудников[Сч].Сотрудник); КонецЦикла; 

Как удалить строки (колонки) таблицы значений?


 ТаблицаЗначений.Удалить(УдаляемаяСтрока); ТаблицаЗначений.Удалить(0); ТаблицаЗначений.Колонки.Удалить(УдаляемаяКолонка); ТаблицаЗначений.Колонки.Удалить(0); СтаршийИндексКолонок = ТаблицаЗначений.Колонки.Количество() - 1; Индекс = ТаблицаЗначений.Количество() - 1; Пока Индекс > = 0 Цикл Для Сч = 0 По СтаршийИндексКолонок Цикл Если ТипЗнч(ТаблицаЗначений[Индекс][Сч]) = Тип("Число") Тогда ТаблицаЗначений.Удалить(Индекс); Прервать; КонецЕсли; КонецЦикла; Индекс = Индекс - 1; КонецЦикла; 

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


 НоваяСтрока = ТаблицаЗначений.Добавить(); НоваяСтрока[ИмяКолонки] = Значение; 

Как заполнить всю колонку таблицы значений нужным значением?


 ТаблицаЗначений.ЗаполнитьЗначения(Ложь, "ФлагФискальногоУчета"); 

Как таблицу значений "ТаблицаПолучатель" заполнить данными таблицы значений "ИсходнаяТаблица"?


 ТаблицаПолучатель = ТаблицаИсходная.Скопировать(); Для Каждого СтрокаИсходнойТаблицы Из ИсходнаяТаблица Цикл НоваяСтрока = ТаблицаПолучатель.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсходнойТаблицы); КонецЦикла; ОдноименныеКолонки = Новый Массив(); Для Каждого Колонка Из ИсходнаяТаблица.Колонки Цикл СовпадающаяКолонка = ТаблицаПолучатель.Колонки.Найти(Колонка.Имя); Если СовпадающаяКолонка <> Неопределено Тогда // Получить свойства колонки.  Индекс = ТаблицаПолучатель.Колонки.Индекс(СовпадающаяКолонка); Имя = Колонка.Имя; ТипЗначения = Колонка.ТипЗначения; Заголовок = Колонка.Заголовок; Ширина = Колонка.Ширина; // Заменить колонки в таблице-получаетеле.  ТаблицаПолучатель.Колонки.Удалить(Индекс); ТаблицаПолучатель.Колонки.Вставить(Индекс, Имя, ТипЗначения, Заголовок, Ширина); // Добавить очередное имя совпадающих колонок в массив.  ОдноименныеКолонки.Добавить(Колонка.Имя); КонецЕсли; КонецЦикла; // Цикл перебора строк исходной таблицы.  Для Каждого СтрокаИсходнойТаблицы Из ИсходнаяТаблица Цикл // Добавить новую строку в таблицу-получатель.  НоваяСтрока = ТаблицаПолучатель.Добавить(); // Заполнить значения в совпадающих ячейках.  Для Каждого ИмяКолонки Из ОдноименныеКолонки Цикл НоваяСтрока[ИмяКолонки] = СтрокаИсходнойТаблицы[ИмяКолонки]; КонецЦикла; КонецЦикла; 

Как добавить колонки к таблице значений "ТаблицаЗначений" с ограничениями по типу?


 // Добавить колонку без ограничений по типу.  ТаблицаЗначений.Колонки.Добавить("Объект"); // Ограничения по типам данных колонки:  // Только элементы справочника "Контрагенты".  ТаблицаЗначений.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); // Подготовка и установка ограничений для данных типа Строка.  КвалификаторыСтроки = Новый КвалификаторыСтроки(20, ДопустимаяДлина.Переменная); ДопустимыеТипы = Новый ОписаниеТипов("Строка", , КвалификаторыСтроки); ТаблицаЗначений.Колонки.Добавить("ПримечаниеСтроковоеКороткое", ДопустимыеТипы); // Расширение уже использованного ранее описания типов.  КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Неотрицательный); КвалификаторыДаты = Новый КвалификаторыДаты(ЧастиДаты.Дата); РасширенныеДопустимыеТипы = Новый ОписаниеТипов(ДопустимыеТипы, "Число, Дата", , КвалификаторыЧисла, , КвалификаторыДаты); ТаблицаЗначений.Колонки.Добавить("Примечание", РасширенныеДопустимыеТипы); 

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


 // Создать пустые ссылки. ПустоеОприходование = Документы.ОприходованиеТоваров.ПустаяСсылка(); ПустойВозврат = Документы.ВозвратТоваровОтПокупателя.ПустаяСсылка(); // Выполнить запрос. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Ссылка |ИЗ | Документ.ПоступлениеТоваровУслуг | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ ПЕРВЫЕ 0 | &ПустойДокументОприходование | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ ПЕРВЫЕ 0 | &ПустойДокументВозврат |"; Запрос.УстановитьПараметр("ПустойДокументОприходование", ПустоеОприходование); Запрос.УстановитьПараметр("ПустойДокументВозврат", ПустойВозврат); // Выгрузить в таблицу значений. ТаблицаСсылок = Запрос.Выполнить().Выгрузить(); 

Как самостоятельно заполнить дерево значений?


 Процедура ЗаполнениеДерева(Кнопка)  Дерево.Колонки.Очистить(); Дерево.Колонки.Добавить("ИмяКолонки"); // Создать первую строку. Правильнее сказать создать элемент  // коллекции. Он помещается в переменную "СтрокаВерхнегоУровня".  СтрокаВерхнегоУровня = Дерево.Строки.Добавить(); // В колонку "ИмяКолонки" записать значение "Старшая".  СтрокаВерхнегоУровня.ИмяКолонки = "Старшая"; // Создать строку подчиненную "Старшей".  ПодчиненнаяСтрока =СтрокаВерхнегоУровня.Строки.Добавить(); ПодчиненнаяСтрока.ИмяКолонки = "Первая подчиненная"; ПодчиненнаяВторогоУровня = ПодчиненнаяСтрока.Строки.Добавить(); ПодчиненнаяВторогоУровня.ИмяКолонки = "Первая нижняя"; ПодчиненнаяВторогоУровня = ПодчиненнаяСтрока.Строки.Добавить(); ПодчиненнаяВторогоУровня.ИмяКолонки = "Вторая нижняя"; ПодчиненнаяСтрока = СтрокаВерхнегоУровня.Строки.Добавить(); ПодчиненнаяСтрока.ИмяКолонки = "Вторая подчиненная"; // Использование метода позволит увидеть результат работы  // с деревом значений в табличном поле.  ЭлементыФормы.Дерево.СоздатьКолонки(); КонецПроцедуры Процедура ОткрытиеВетки(Кнопка)  // Сделать текущим именно элемент коллекции "Строки".  РезультатПоиска = Дерево.Строки.Найти("Первая нижняя", "ИмяКолонки", Истина); Если РезультатПоиска <> Неопределено Тогда ЭлементыФормы.Дерево.ТекущаяСтрока = РезультатПоиска; КонецЕсли; КонецПроцедуры 

30 Июнь 2011 г.



метки:



Вверх

Подписаться на RSS

  • Новости
  • Статьи
  • Разделы статей

    Наши контакты

    +7 922 292-00-34

    +7(343)361-52-00

    Напишите нам через форму!!!

    Быстрая форма связи с нами

     
    Ваше имя?*
    Как с Вами связаться?*
    Опишите вопрос или сообщение*
    Введите код *


    Знаком (*) выделены обязательные поля.
    Каталог интернет ресурсов - ИнфоПитер
    Наверх

    ООО "Бизнес Технологии"© 2010 г.

    Написать автору

    Карта сайта