Имя: Пароль:
1C
 
НЕ выводит значение всех Жильцов
0 Georgeous
 
06.11.15
09:42
Здравствуйте! Я новичок в 1С 8.2, но хотелось сделать следующее:
Есть данные регистра накоплений (РасчеПоказанийОбороты) и нужно создать Отчет( НО не СКД!!!)по кнопке Сформировать при помощи запроса, который бы выводил По Выбору из Справочника Жильцы - индивидуальные значение выбранного И При пустом значении Выбора - всех Жильцов вместе, причем в одном макете (Квитанция) следуя друг за другом. Заранее Благодарю!!!
Вот мой код:

Процедура КнопкаСформироватьНажатие(Кнопка)
                  
    ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
    ТабличныйДокумент = Новый ТабличныйДокумент;

    Макет = ПолучитьМакет("Квитанции");
    
    ОбластьШапка  = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

    ОбластьШапка.Параметры.Проживающий = Жильцы.Проживающий;
    ОбластьШапка.Параметры.Дата     = Формат(Дата, "ДФ='dd MMMM yyyy'");
    ТабличныйДокумент.Вывести(ОбластьШапка);
    // по расходу
             Запрос = Новый Запрос;
    Запрос.Текст =
       "ВЫБРАТЬ
       |    РасчеПоказанийОбороты.Жильцы,
       |    РасчеПоказанийОбороты.ВодаХолоднаяПоТарифуОборот,
       |    РасчеПоказанийОбороты.ВодаХолоднаяПоТарифуПриход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяПоТарифуРасход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхТарифаОборот,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхТарифаПриход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхТарифаРасход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияДо150Оборот,
       |    РасчеПоказанийОбороты.ЭлектроэнергияДо150Приход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияДо150Расход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияОт150До300Оборот,
       |    РасчеПоказанийОбороты.ЭлектроэнергияОт150До300Приход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияОт150До300Расход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияСвыше300Оборот,
       |    РасчеПоказанийОбороты.ЭлектроэнергияСвыше300Приход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияСвыше300Расход,
       |    РасчеПоказанийОбороты.КанализацияПоТарифуОборот,
       |    РасчеПоказанийОбороты.КанализацияПоТарифуПриход,
       |    РасчеПоказанийОбороты.КанализацияПоТарифуРасход,
       |    РасчеПоказанийОбороты.КанализацияСверхТарифаОборот,
       |    РасчеПоказанийОбороты.КанализацияСверхТарифаПриход,
       |    РасчеПоказанийОбороты.КанализацияСверхТарифаРасход,
       |    РасчеПоказанийОбороты.ОтчисленияНаКапремонтОборот,
       |    РасчеПоказанийОбороты.ОтчисленияНаКапремонтПриход,
       |    РасчеПоказанийОбороты.ОтчисленияНаКапремонтРасход,
       |    РасчеПоказанийОбороты.ТехобслуживаниеОборот,
       |    РасчеПоказанийОбороты.ТехобслуживаниеПриход,
       |    РасчеПоказанийОбороты.ТехобслуживаниеРасход,
       |    РасчеПоказанийОбороты.ЗемельныйНалогОборот,
       |    РасчеПоказанийОбороты.ЗемельныйНалогПриход,
       |    РасчеПоказанийОбороты.ЗемельныйНалогРасход,
       |    РасчеПоказанийОбороты.ЛиминНаОдногоОборот,
       |    РасчеПоказанийОбороты.ЛиминНаОдногоПриход,
       |    РасчеПоказанийОбороты.ЛиминНаОдногоРасход,
       |    РасчеПоказанийОбороты.ГКаллЗаОтоплениеОборот,
       |    РасчеПоказанийОбороты.ГКаллЗаОтоплениеПриход,
       |    РасчеПоказанийОбороты.ГКаллЗаОтоплениеРасход,
       |    РасчеПоказанийОбороты.ГКаллЗаВодуГорячуюОборот,
       |    РасчеПоказанийОбороты.ГКаллЗаВодуГорячуюПриход,
       |    РасчеПоказанийОбороты.ГКаллЗаВодуГорячуюРасход,
       |    РасчеПоказанийОбороты.Стоимость1ГКаллОборот,
       |    РасчеПоказанийОбороты.Стоимость1ГКаллПриход,
       |    РасчеПоказанийОбороты.Стоимость1ГКаллРасход,
       |    РасчеПоказанийОбороты.РадиоОборот,
       |    РасчеПоказанийОбороты.РадиоПриход,
       |    РасчеПоказанийОбороты.РадиоРасход,
       |    РасчеПоказанийОбороты.ОбслуживаниеДомофонаОборот,
       |    РасчеПоказанийОбороты.ОбслуживаниеДомофонаПриход,
       |    РасчеПоказанийОбороты.ОбслуживаниеДомофонаРасход,
       |    РасчеПоказанийОбороты.ДомофонОборот,
       |    РасчеПоказанийОбороты.ДомофонПриход,
       |    РасчеПоказанийОбороты.ДомофонРасход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияОборот,
       |    РасчеПоказанийОбороты.ЭлектроэнергияПриход,
       |    РасчеПоказанийОбороты.ЭлектроэнергияРасход,
       |    РасчеПоказанийОбороты.ГорячаяВодаОборот,
       |    РасчеПоказанийОбороты.ГорячаяВодаПриход,
       |    РасчеПоказанийОбороты.ГорячаяВодаРасход,
       |    РасчеПоказанийОбороты.ХолоднаяВодаОборот,
       |    РасчеПоказанийОбороты.ХолоднаяВодаПриход,
       |    РасчеПоказанийОбороты.ХолоднаяВодаРасход,
       |    РасчеПоказанийОбороты.КанализацияОборот,
       |    РасчеПоказанийОбороты.КанализацияПриход,
       |    РасчеПоказанийОбороты.КанализацияРасход,
       |    РасчеПоказанийОбороты.КанализацияСверхОборот,
       |    РасчеПоказанийОбороты.КанализацияСверхПриход,
       |    РасчеПоказанийОбороты.КанализацияСверхРасход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяОборот,
       |    РасчеПоказанийОбороты.ВодаХолоднаяПриход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяРасход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхтарифОборот,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхтарифПриход,
       |    РасчеПоказанийОбороты.ВодаХолоднаяСверхтарифРасход,
       |    РасчеПоказанийОбороты.Свыше300Оборот,
       |    РасчеПоказанийОбороты.Свыше300Приход,
       |    РасчеПоказанийОбороты.Свыше300Расход,
       |    РасчеПоказанийОбороты.До300Оборот,
       |    РасчеПоказанийОбороты.До300Приход,
       |    РасчеПоказанийОбороты.До300Расход,
       |    РасчеПоказанийОбороты.До150Оборот,
       |    РасчеПоказанийОбороты.До150Приход,
       |    РасчеПоказанийОбороты.До150Расход,
       |    РасчеПоказанийОбороты.КоличествоПроживающихОборот,
       |    РасчеПоказанийОбороты.КоличествоПроживающихПриход,
       |    РасчеПоказанийОбороты.КоличествоПроживающихРасход
       |ИЗ
       |    РегистрНакопления.РасчеПоказаний.Обороты(, , Период, Жильцы = &Ссылка) КАК РасчеПоказанийОбороты
       |ГДЕ
       |    ВЫБОР
       |            КОГДА РасчеПоказанийОбороты.Жильцы = ЗНАЧЕНИЕ(Справочник.Жильцы.ПустаяССылка)
       |                ТОГДА ИСТИНА
       |            ИНАЧЕ РасчеПоказанийОбороты.Жильцы = &Ссылка
       |        КОНЕЦ";
    
       Запрос.УстановитьПараметр("Период", Дата);
           Запрос.УстановитьПараметр("Ссылка",  Жильцы);
       Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
     Жильцы = Результат.Жильцы;
     Результат= Результат.Выполнить().Выгрузить();

    Для каждого текСтрока Из Результат Цикл
                ОбластьСтрока.Параметры.Заполнить(текСтрока);
                ОбластьСтрока.Параметры.Жильцы = Жильцы;//.Проживающий;
                //ОбластьСтрока.Параметры.Жильцы = Жильцы;

        КонецЦикла;

    
      ТабличныйДокумент.Вывести(ОбластьСтрока);
      ТабличныйДокумент.Вывести(ОбластьПодвал);
         ЭлементыФормы.ПолеТабличногоДокумента.Вывести(ТабличныйДокумент);
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

КонецПроцедуры
1 Горогуля
 
06.11.15
09:44
>НО не СКД!!!
компонофобия?
2 Georgeous
 
06.11.15
09:48
Своя печатная форма и Да я не совсем понимаю как правильно выводить)
3 Artful Den
 
06.11.15
09:54
Я б за такой регистр убил...
4 Asmody
 
06.11.15
09:57
(0) Если не нравится СКД (медицинские случаи мы не рассматриваем), переделай на ПостроительЗапроса. В нем можно использовать фигурные скобки в запросе и отборы.

Если и к Построителям недоброжелание, то надо поправить вот это условие:
|ГДЕ
|    ВЫБОР
|            КОГДА &Ссылка = ЗНАЧЕНИЕ(Справочник.Жильцы.ПустаяССылка)
|                ТОГДА ИСТИНА
|            ИНАЧЕ РасчеПоказанийОбороты.Жильцы = &Ссылка
|        КОНЕЦ";

И в параметре таблицы оборотов подшаманить. По аналогии.

Но лучше использовать СКД.
5 Georgeous
 
06.11.15
09:58
Когда Отчет в СКД делал все работало, а дали свою печатную форму и тут все заглохло. Ну а регистр думаю стерпит новичка.
6 Горогуля
 
06.11.15
09:58
а что делать, когда захочется ещё пару показателей учёта добавить?
7 Горогуля
 
06.11.15
09:58
(5) такой ущёрбный регистр даже не способен осознать собственную ущербность
8 Asmody
 
06.11.15
10:00
(6) Это фигня! Вот когда граничные отметки сменятся, например, на 200 и 400, вот тут начнется радость!
9 piter3
 
06.11.15
10:01
(5) нет не выдержит.через пару лет...
10 Горогуля
 
06.11.15
10:01
(8) принципиально - новые показатели
11 Georgeous
 
06.11.15
10:01
Не совсем понял:
И в параметре таблицы оборотов подшаманить. По аналогии. ???
12 Asmody
 
06.11.15
10:01
А потом пенсионеры смотрят на платёжки и в обмороки валятся!
13 Asmody
 
06.11.15
10:03
(11) Ну ты видишь, какое у тебя в там условие? А должно быть другое. Сейчас у тебя отбор всегда по одному жильцу.
14 Georgeous
 
06.11.15
10:06
Так я ведь хочу если выбран один , то по одному , если без выбора то всех сразу выводить. Может скажите что именно?
15 Georgeous
 
06.11.15
10:09
Вы про это: Жильцы = &Ссылка
16 Горогуля
 
06.11.15
10:09
(15) про это. оно должно быть или не должно
17 Горогуля
 
06.11.15
10:10
+(16) или быть другим и давать истину при пустом жильце
18 Georgeous
 
06.11.15
10:11
Все верно давать истину при пустом жильце и что вписать туда?
19 Asmody
 
06.11.15
10:12
(14) Переделать на построитель (это быстро), и использовать {} и отбор вместо параметров. И пусть одинесовский датаенджин за тебя этой ерундой занимается.
20 Горогуля
 
06.11.15
10:12
(18) &Жилец=Пуст ИЛИ Жилец=&Жилец
21 Georgeous
 
06.11.15
10:18
Когда вписал {&Жилец=Пуст ИЛИ Жилец=&Жилец}так ?
22 Georgeous
 
06.11.15
10:24
Построитель->Условие-> что то совсем ничего непонял
23 Горогуля
 
06.11.15
10:24
предлагаю сходить изучить матчасть
24 Georgeous
 
06.11.15
10:28
Ходил уже только вот про это ничего не было сказано(
25 hhhh
 
06.11.15
10:38
ну, в (4) ведь написали
26 Georgeous
 
06.11.15
10:42
Форумы помогли, а вот сейчас уперся в стенку(
27 Fish
 
06.11.15
10:47
(12) +100 Мда. А всё чиновников ругают за ЖКХ.
28 Georgeous
 
06.11.15
10:52
Так что по шагово никто не скажет как постоителем воспользоваться?
29 Nuobu
 
06.11.15
10:53
30 hhhh
 
06.11.15
11:20
(28) скопировать уже существующий там у вас отчет и его творчески подработать.
31 Georgeous
 
06.11.15
11:25
Знать бы еще что редактировать и куда вставлять
32 Georgeous
 
06.11.15
11:26
У меня ПолеТабличногоДокумента, а у них ТабличноеПоле( Все не так
33 Nuobu
 
06.11.15
11:30
(32) Это пятница? Или Вы и правда думаете, что это разные поля?
34 Georgeous
 
06.11.15
11:32
Процедура КнопкаСформироватьНажатие(Кнопка)     
//    ЭлементыФормы.ТабличноеПолеДокумента.Очистить();
    
              
    ТабличныйДокумент = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("Квитанции");
    
    ОбластьШапка  = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

    ОбластьШапка.Параметры.Проживающий = Жильцы.Проживающий;
    ОбластьШапка.Параметры.Дата     = Формат(Дата, "ДФ='dd MMMM yyyy'");
    
    ТабличныйДокумент.Вывести(ОбластьШапка);
        Построитель.Текст =
     "ВЫБРАТЬ
     |    РасчеПоказанийОстаткиИОбороты.Жильцы.Ссылка
     |ИЗ
     |    РегистрНакопления.РасчеПоказаний.ОстаткиИОбороты КАК РасчеПоказанийОстаткиИОбороты
     |ГДЕ
     |    (РасчеПоказанийОстаткиИОбороты.Жильцы = &Пуст
     |            ИЛИ РасчеПоказанийОстаткиИОбороты.Жильцы = &Жильцы)";

    
      ТабличныйДокумент.Вывести(ОбластьСтрока);

         ТабличныйДокумент.Вывести(ОбластьПодвал);

            ЭлементыФормы.ТабличноеПолеДокумента.Вывести(ТабличныйДокумент);
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

    
КонецПроцедуры
35 Nuobu
 
06.11.15
11:33
//    ЭлементыФормы.ТабличноеПолеДокумента.Очистить();

    
              
    ТабличныйДокумент = Новый ТабличныйДокумент;

ТабличныйДокумент = ЭлементыФормы.ТабличноеПолеДокумента;
36 Georgeous
 
06.11.15
11:36
{Отчет.Квитанция.Форма.ФормаОтчета1.Форма(18)}: Метод объекта не обнаружен (Вывести)
    ТабличныйДокумент.Вывести(ОбластьШапка);
37 MUXACb
 
06.11.15
11:38
(0) Судя по (5) хоть что-то про СКД вы знаете. Значит должны знать что в СКД тоже есть макеты
38 Georgeous
 
06.11.15
11:40
Это да, только вот как добавить в СКД уже существующих ручным способом макет
39 hhhh
 
06.11.15
11:45
(36) вот это

ТабличныйДокумент = ЭлементыФормы.ТабличноеПолеДокумента;


выкиньте пока
40 Georgeous
 
06.11.15
11:52
Это нормально что теперь ТабличноеПолеДокумента на форме имеет:Поле , Тип Сравнения и Значение?
41 Georgeous
 
09.11.15
13:13
Так поможет кто , что дальше делать?
42 runoff_runoff
 
09.11.15
13:35
(3) +1
43 Georgeous
 
09.11.15
14:24
Выше код и вот вопрос как отбор сделать правильно?