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

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

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


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


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


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

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


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

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


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

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


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

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


 Для Каждого ЭлементСписка Из СписокСотрудников Цикл Сообщить(ЭлементСписка.Значение); КонецЦикла; СтаршийИндекс = СписокСотрудников.Количество() - 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

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

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

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


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

    Антивирусная защита, FireWall
    Антивирусная защита, FireWall

    Заправка Samsung/Xerox
    Заправка Samsung/Xerox

    Заправка картриджей Brother
    Заправка картриджей Brother

    Заправка картриджей Epson/Konica Minolta
    Заправка картриджей Epson/Konica Minolta

    Заправка картриджей HP/Canon black
    Заправка картриджей HP/Canon black

    Заправка картриджей HP/Canon color
    Заправка картриджей HP/Canon color

    Заправка картриджей Lexmark
    Заправка картриджей Lexmark

    Информационные услуги
    Информационные услуги

    Монтаж локальной сети
    Монтаж локальной сети

    Монтирование кабель каналов
    Монтирование кабель каналов

    Настройка внутреннего оборудования
    Настройка внутреннего оборудования

    Настройка работоспособности переферийного оборудования
    Настройка работоспособности переферийного оборудования

    Обслуживание компьютеров
    Обслуживание компьютеров

    Обслуживание серверов
    Обслуживание серверов

    Оптимизация веб сайтов
    Оптимизация веб сайтов

    Разовые услуги
    Разовые услуги

    Ремонт
    Ремонт

    Ремонт оргтехники
    Ремонт оргтехники

    Создание веб (WEB) сайтов
    Создание веб (WEB) сайтов


    упвап

    Юридические услуги
    Юридические услуги

    Наверх

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

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

    Карта сайта