Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91

Отбор в древе значений

19.02.2012, 17:05. Показов 2216. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. 8.1 учебная
Есть вот такой код
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Запрос = Новый Запрос("ВЫБРАТЬ
                      | ИСТИНА КАК Флажок,
                      | Номенклатура.Код КАК Код,
                      | Номенклатура.Наименование КАК Наименование,
                      | Номенклатура.ШтрихКод КАК ШтрихКод,
                      | Номенклатура.ЕдИзмерений КАК ЕдИзмерений
                      |ИЗ
                      | Справочник.Номенклатура КАК Номенклатура
                      |
                      |УПОРЯДОЧИТЬ ПО
                      | Наименование ИЕРАРХИЯ");
    ТабличноеПоле1 = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    ТабличноеПоле1.Колонки.Добавить("",Новый ОписаниеТипов("Число"));
    ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
    НовКолонка=ЭлементыФормы.ТабличноеПоле1.Колонки.Найти("Флажок");
    НовКолонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
    НовКолонка.УстановитьЭлементУправления(Тип("Флажок"));
    НовКолонка.ДанныеФлажка = "Флажок";
    НовКолонка.Данные = "";
как будет выглядеть процедура если налажить отбор на поле "Флажок" по истина и выгрузкой полученных строк в массив.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2012, 17:05
Ответы с готовыми решениями:

Отбор/Фильтр в дереве значений
Всем привет! Итак вопрос: 1. Можно ли (или как) сделать отбор (или установить фильтр) в дереве значений, с сохранением иерархии? ...

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

Отбор значений элементов справочника по команде
Помогите в написании кода для команды в 1с 8.3 Есть два справочника: "Работодатели" и "Вакансии": У справочника...

9
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91
24.02.2012, 20:02  [ТС]
Примерно получилось
1C
1
2
3
4
5
6
7
8
Процедура ОбработкаВыбора (ВыводимаяСтрока, Уровень=0)
Для Каждого Строки из ВыводимаяСтрока.Строки Цикл
        Если Строки.Флажок = Истина Тогда
Сообщить(Строки.Код + Символы.Таб + Строки.Наименование);
КонецЕсли;
    ОбработкаВыбора(Строки, Уровень+1 );     
    КонецЦикла
КонецПроцедуры
Только вопрос можно ли вместо сообщить эти даннные внести в массив?
И как это примерно будет выглядить?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
25.02.2012, 00:05
примерно вот так:
1C
1
2
3
4
5
6
7
8
9
Процедура ОбработкаВыбора (ВыводимаяСтрока, Уровень=0)
массив = Новый Массив;
Для Каждого Строки из ВыводимаяСтрока.Строки Цикл
                Если Строки.Флажок = Истина Тогда
массив.Добавить(Строки.Код + Символы.Таб + Строки.Наименование);
КонецЕсли;
        ОбработкаВыбора(Строки, Уровень+1 );     
        КонецЦикла
КонецПроцедуры
0
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91
25.02.2012, 21:26  [ТС]
А как теперь эти данные показать в отчете?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
26.02.2012, 00:01
0
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91
26.02.2012, 20:56  [ТС]
Это вобще возможно или надо бало просто сделать по другому?

Добавлено через 19 минут
Я подумалл и решил вместо массива ТабличныйДокумент. Только нужна помощь

Добавлено через 20 часов 13 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Таб = Новый ТабличныйДокумент;
    Макет = Отчеты.Номенклатура.ПолучитьМакет("Макет");
    Область=Макет.ПолучитьОбласть("Шапка");
    Таб.Вывести(Область);
Для Каждого Строки из ВыводимаяСтрока.Строки Цикл
    Если Строки.Флажок Тогда
Область = Макет.ПолучитьОбласть("Область");
    Область.Параметры.Код = Строки.Код;
    Область.Параметры.Имя = Строки.Наименование;
    Таб.Вывести(Область);
КонецЕсли;
    ОбработкаВыбора(Строки, Уровень+1 );     
    КонецЦикла;
Таб.Показать();
Вот примерно что нужно токо выводит много табличных документов
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
26.02.2012, 23:22
потому что используется рекурсия
0
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91
27.02.2012, 22:24  [ТС]
И как быть? Что можно сделать может что изменить?

Добавлено через 18 часов 57 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Перем Код;
Перем Имя;
Процедура ОбработкаВыбора (ВыводимаяСтрока, Уровень=0)
Для Каждого Строки из ВыводимаяСтрока.Строки Цикл
Если Строки.Флажок Тогда
Код = Строки.Код;
Имя = Строки.Наименование;
КонецЕсли;
ОбработкаВыбора(Строки, Уровень+1 );     
КонецЦикла;
КонецПроцедуры
 
Процедура КнопкаСформироватьНажатие(Кнопка)
Таб = Новый ТабличныйДокумент;
Макет = Отчеты.Номенклатура.ПолучитьМакет("Макет");
Область=Макет.ПолучитьОбласть("Шапка");
Таб.Вывести(Область);
ОбработкаВыбора(ТабличноеПоле1);    
Область = Макет.ПолучитьОбласть("Область");
Область.Параметры.Код = Код;
Область.Параметры.Имя = Имя;
Таб.Вывести(Область);
Таб.Показать();
КонецПроцедуры
Работает но только выодит последний из отмеченных данных

Добавлено через 2 часа 56 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Перем Макет;
Перем Таб;
Процедура КнопкаСформироватьНажатие(Кнопка)
    
    Таб = Новый ТабличныйДокумент;
    Макет = Отчеты.Номенклатура.ПолучитьМакет("Макет");
    Область=Макет.ПолучитьОбласть("Шапка");
    Таб.Вывести(Область);
    ОбработкаВыбора(ТабличноеПоле1);
    Таб.ОтображатьСетку = Ложь;
    Таб.Показать();
    
КонецПроцедуры
 
Процедура ОбработкаВыбора (Строки) 
     Для Каждого Стр Из Строки.Строки Цикл
        Если Стр.Флажок Тогда
            Область = Макет.ПолучитьОбласть("Область");
            Область.Параметры.Код = Стр.Код;
            Область.Параметры.Имя = Стр.Наименование;
        Если Флажок1 Тогда   
            Область.Параметры.Шт = Стр.ШтрихКод;
        КонецЕсли; 
         Если Флажок2 Тогда
            Область.Параметры.Ед = Стр.ЕдИзмерений;
        КонецЕсли;
            Таб.Вывести(Область); Область = Неопределено;
            ОбработкаВыбора(Стр);     
        КонецЕсли;
    КонецЦикла;   
КонецПроцедуры
Все теперь все нормально работает спс всем.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
27.02.2012, 22:25
Ну ты Жжешь!!!
0
32 / 32 / 3
Регистрация: 11.02.2012
Сообщений: 91
28.02.2012, 00:02  [ТС]
Почему????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.02.2012, 00:02
Помогаю со студенческими работами здесь

Как наложить отбор на форму подбора списка значений
На форму добавлен список значений с типом справочник, у справочник есть родитель, форма подбора сформировалась системой. Как на эту форму...

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

Отбор и выделения значений из строк
Доброго времени суток! Прошу помоч с написанием макроса. Таблица в Эксель. В одном из столбцов Range("B5:B5004"), нужно...

Отбор макс. значений из таблицы
Здравствуйте, форумчане! Есть таблица с полями Номенклатура, ДатаПокупки, Цена. Первичного ключа нет, значения в полях Номенклатура и...

Отбор значений в listview по 4 столбцу
Всем доброго времени суток! Вопрос собственно в следующем: На форме есть listview с данными (listview заполняется вручную кодом) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru