Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 30
1

Отбор в таблице значений по условию четных и нечетных значений

08.12.2016, 10:50. Показов 4270. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, учусь работать с таблицами значений, дали задачу, написать форму и что бы в одной тч выводились номера домов и сумма задолжности по дому, а при выборе дома в другой тч отображались номера квартир в выбраном доме и долг по ним - написал, но дальше дали задание, что бы при выборе одного из трех переключателей, в тч с квартирами выводились либо все, либо четные и либо не четные квартиры. Как определить чет или нечет я понимаю, а вот как оперделить и отобрать по этому условию не очень... подскажите пожалуйста. (Обычная форма). чет или нечет пробовал определять так Если НомерКв%2=0 Тогда.. вот что тогда не понимаю .. ))
Там, где ВсеКвартиры = 1 это Чет, ВсеКвартиры = 2 - Нечет.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Перем ТаблицаВсехДанных;
Перем Номер;
Функция ПолучитьСписокЛицевыхСчетовПоДому(дДата,уУлица)
    
    ТабЗнач = Новый ТаблицаЗначений;
    ТабЗнач.Колонки.Добавить("лЛицевойСчет");
    ТабЗнач.Колонки.Добавить("нНомерДома");
    ТабЗнач.Колонки.Добавить("НомерКвартиры");
    ТабЗнач.Колонки.Добавить("дДолг");
    ТабЗнач.Колонки.Добавить("дДолгСумма");
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
    
        "ВЫБРАТЬ
        |   икВзаиморасчетыСПотребителямиОстатки.ЛицевойСчет.ОбъектУчета.Здание.Улица,
        |   икВзаиморасчетыСПотребителямиОстатки.ЛицевойСчет.ОбъектУчета.Здание.Номер КАК Номер,
        |   икВзаиморасчетыСПотребителямиОстатки.СуммаОстаток,
        |   икВзаиморасчетыСПотребителямиОстатки.ЛицевойСчет,
        |   икВзаиморасчетыСПотребителямиОстатки.ЛицевойСчет.ОбъектУчета.Номер КАК НомерКв
        |ИЗ
        |   РегистрНакопления.икВзаиморасчетыСПотребителями.Остатки(&нНаДату, ) КАК икВзаиморасчетыСПотребителямиОстатки
        |ГДЕ
        |   икВзаиморасчетыСПотребителямиОстатки.ЛицевойСчет.ОбъектУчета.Здание.Улица = &уУлица";
    
      Запрос.УстановитьПараметр("уУлица",уУлица);
    
      Запрос.УстановитьПараметр("нНаДату",КонецДня(дДата));      
      тзРезультат = Запрос.Выполнить().Выгрузить();
      
 
       Для каждого СтрокаТЧ Из тзРезультат  Цикл
             
             НовСтр = ТабЗнач.Добавить();
             НовСтр.нНомерДома = СтрокаТЧ.Номер;
             НовСтр.дДолгСумма = СтрокаТЧ.СуммаОстаток;
             НовСтр.лЛицевойСчет = СтрокаТЧ.ЛицевойСчет;
             НовСтр.НомерКвартиры = СтрокаТЧ.НомерКв;
             НовСтр.дДолг = СтрокаТЧ.СуммаОстаток;
             
         КонецЦикла; 
                 
         Возврат ТабЗнач;
                 
КонецФункции
 
Процедура ТаблицаДомПриАктивизацииСтроки(Элемент)
     ТаблицаЛС.Очистить();
    
    Номер = ЭлементыФормы.ТаблицаДом.ТекущиеДанные.НомерДома;
    
    ПараметрыОтбора = Новый Структура("нНомерДома",Номер);
    ТаблицаЛСДанных = ТаблицаВсехДанных.Скопировать(ПараметрыОтбора);     
        
    Для каждого Стр Из ТаблицаЛСДанных  Цикл
                             
         НовСтр = ТаблицаЛС.Добавить();
         НовСтр.ЛицевойСчет = Стр.лЛицевойСчет;
         НовСтр.Квартира = Стр.НомерКвартиры;
         НовСтр.Долг = Стр.дДолг;
         
       
    КонецЦикла;
          
КонецПроцедуры
 
Процедура УлицаПриИзменении(Элемент)
    
    ТаблицаВсехДанных = ПолучитьСписокЛицевыхСчетовПоДому(НаДату,Улица);
    ТаблицаДанныхДома = ТаблицаВсехДанных.Скопировать();
    ТаблицаДанныхДома.Свернуть("нНомерДома","дДолгСумма");
    
    ТаблицаЛС.Очистить();
    ТаблицаДом.Очистить();
     
     Для каждого Стр Из ТаблицаДанныхДома  Цикл
         
         НовСтр = ТаблицаДом.Добавить();
         НовСтр.НомерДома = Стр.нНомерДома;
         НовСтр.ДолгСумма = Стр.дДолгСумма;
                 
     КонецЦикла;
     
КонецПроцедуры
 
Процедура ПриОткрытии()
    
   ВсеКвартиры = 0;
    
КонецПроцедуры
 
Процедура ВсеКвартирыПриИзменении(Элемент)
    
     ТаблицаЛС.Очистить();
    
    Если ВсеКвартиры = 0 Тогда
        
        ПараметрыОтбора1 = Новый Структура("нНомерДома",Номер);
        ТаблицаЛСДанных = ТаблицаВсехДанных.Скопировать(ПараметрыОтбора1);
        
        Для каждого Стр Из ТаблицаЛСДанных  Цикл
                             
         НовСтр = ТаблицаЛС.Добавить();
         НовСтр.ЛицевойСчет = Стр.лЛицевойСчет;
         НовСтр.Квартира = Стр.НомерКвартиры;
         НовСтр.Долг = Стр.дДолг;
         
       
        КонецЦикла;
 
        
    ИначеЕсли ВсеКвартиры = 1 Тогда
 
            
        
    ИначеЕсли ВсеКвартиры = 2 Тогда
        
                
    КонецЕсли; 
            
КонецПроцедуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2016, 10:50
Ответы с готовыми решениями:

1C 8.3 Перенос строки из первой таблице значений в другую таблицу значений
Добрый день! Нужно написать обработчик, который переносил бы строку таблицы значений в другую...

1C 8.3 Удаление строк в таблице значений в которых нет значений
Добрый день! Нужно написать обработчик, которые удаляет все строки в которых нет значений из...

Объединить несколько значений в таблице значений
Друзья, есть такая табличная часть: Время | Программа 09:00 | Мультики 09:15 | Кино 10:00 |...

Отбор в древе значений
Добрый день. 8.1 учебная Есть вот такой код Запрос = Новый Запрос("ВЫБРАТЬ ...

1
Модератор
Эксперт 1С
3784 / 2964 / 589
Регистрация: 10.03.2011
Сообщений: 11,669
Записей в блоге: 1
08.12.2016, 11:11 2
добавь колонку для отбора булево (или число) - Чет; НеЧет
0
08.12.2016, 11:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2016, 11:11
Помогаю со студенческими работами здесь

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

Подсчет количества значений в таблице по условию
Ребята, подскажите, есть запрос, надо вывести в столбцах (по годам: 2016, 2015, 2014 и т.д.)...

Подсчет четных и нечетных значений элементов диагоналей матрицы
Дана симметричная матрица размером 20, заполненная случайными числами от 0 до 9. Вывести на дисплей...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru