7.7 Как убрать пустые значения Ит.СКК и Ит.СКД в оборотке?

Тема в разделе "Установка платформы "1С:Предприятие 7.7"", создана пользователем id3337668, 4 авг 2016.

  1. TopicStarter Overlay
    id3337668
    Offline

    id3337668

    Регистрация:
    25 фев 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Привет Всем
    Есть отчет Оборотно-Сальдовая Ведомость по счету , в последних двух столбцах выводятся кредитовое (Ит.СКК) и дебетовое (Ит.Скд) сальдо на конец периода , главбух попросил меня не показывать строки в отчете с нулевым значением итогов СКК и СКД, я попробывал поставить условие на ПустоеЗначение:

    Если (ПустоеЗначение(Ит.СКК())=1) и (ПустоеЗначение(Ит.СКД())=1) Тогда
    Продолжить;
    КонецЕсли;
    не сработало. все равно выводит пустые строки, вот код процедуры:
    Код:
    Процедура Сформировать(Ручн = 0, ФлагЗакрытияФормы = 0)
        Если Счет.Выбран() = 0 Тогда
            Предупреждение("Не указан счет!");
            Возврат;
        КонецЕсли;
        Если глПроверкаПериода(Дата1, Дата2, Счет) = 0 Тогда
    
            Возврат;
        КонецЕсли;
    
        ВидСубконто[1] = ВыбВидСубконто1; Субконто[1] = Субконто1; ОтборСубконто[1] = ?(ВидСубконто[1].Выбран()=1, ОтборСубконто1.ТекущаяСтрока(), 3); ПоГруппам[1] = ПоГруппам1; Номер[1] = 1;
        ВидСубконто[2] = ВыбВидСубконто2; Субконто[2] = Субконто2; ОтборСубконто[2] = ?(ВидСубконто[2].Выбран()=1, ОтборСубконто2.ТекущаяСтрока(), 3); ПоГруппам[2] = ПоГруппам2; Номер[2] = 2;
        ВидСубконто[3] = ВыбВидСубконто3; Субконто[3] = Субконто3; ОтборСубконто[3] = ?(ВидСубконто[3].Выбран()=1, ОтборСубконто3.ТекущаяСтрока(), 3); ПоГруппам[3] = ПоГруппам3; Номер[3] = 3;
    
        Если (ВидСубконто[1] = ВидСубконто[2]) И (ОтборСубконто[1] <> 3) И (ОтборСубконто[2] <> 3) Или
            (ВидСубконто[2] = ВидСубконто[3]) И (ОтборСубконто[2] <> 3) И (ОтборСубконто[3] <> 3) Или
            (ВидСубконто[3] = ВидСубконто[1]) И (ОтборСубконто[3] <> 3) И (ОтборСубконто[1] <> 3) Тогда
            Предупреждение("Выбраны одинаковые виды субконто!");
            Возврат;
        КонецЕсли;
    
        Если Ручн = 1 Тогда
           СохранитьЗначение("ОтчРабСчет",Счет);
        КонецЕсли;
    
        Если ОтборСубконто[1] > ОтборСубконто[2] Тогда
            Поменять(1, 2);
        КонецЕсли;
        Если ОтборСубконто[2] > ОтборСубконто[3] Тогда
            Поменять(2, 3);
            Если ОтборСубконто[1] > ОтборСубконто[2] Тогда
                Поменять(1, 2);
            КонецЕсли;
        КонецЕсли;
    
        ФлВал = Счет.Валютный;
    
          Расшифровка = СоздатьОбъект("СписокЗначений");
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    
        Ит.ИспользоватьРазделительУчета(РазделительУчета);
        КолПоСчету = 0;
        Заголовок1 = "";
        Для А=1 По 3 Цикл
     
            Если ОтборСубконто[А] <> 3 Тогда
               Ит.ИспользоватьСубконто(ВидСубконто[А], Субконто[А], ОтборСубконто[А], ПоГруппам[А]);
               Если А <> 1 Тогда
                  Заголовок1 = Заголовок1+"; ";
               КонецЕсли;
               Заголовок1 = Заголовок1+ВидСубконто[А];
               Если ОтборСубконто[А] = 2 Тогда
                  Заголовок1 = Заголовок1+": "+Субконто[А];
                    КолПоСчету = 1;
               КонецЕсли;
            КонецЕсли;
       
        КонецЦикла;
                           
        Ит.ВключатьСубсчета(ДанныеПоСубсчетам);
        Если Ит.ВыполнитьЗапрос(Дата1, Дата2, Счет) = 0 Тогда
            Возврат;
        КонецЕсли;
    
        Если (ТипЗначенияСтр(Т) <> "Таблица") Или (Обновить = 0) Тогда
              Т = СоздатьОбъект("Таблица");
        Иначе
            Т.Очистить();
        КонецЕсли;
        Т.ИсходнаяТаблица("Таблица");
    
        Расшифровка.Установить("Отчет", "ОборотноСальдоваяВедомостьПоСчету");
        Расшифровка.Установить("РазделительУчета", РазделительУчета);
          Расшифровка.Установить("Дата1", Дата1);
          Расшифровка.Установить("Дата2", Дата2);
          Расшифровка.Установить("Счет", Счет);
          Расшифровка.Установить("ДанныеПоСубсчетам", ДанныеПоСубсчетам);
        Для А=1 По 3 Цикл
              Расшифровка.Установить("ВидСубконто"+Номер[А], ВидСубконто[А]);
              Расшифровка.Установить("Субконто"+Номер[А], Субконто[А]);
              Расшифровка.Установить("ОтборСубконто"+Номер[А], ОтборСубконто[А]);
              Расшифровка.Установить("ПоГруппам"+Номер[А], ПоГруппам[А]);
        КонецЦикла;
        Т.ВывестиСекцию("Секция_12");
        Т.ВывестиСекцию("Секция_1");
        ФиксСтрок = 5;
        Если ПустоеЗначение(Заголовок1) = 0 Тогда
            Т.ВывестиСекцию("Секция_19");
            ФиксСтрок = ФиксСтрок + 1;
        КонецЕсли;
        Т.ВывестиСекцию("Секция_20");
    
        Расшифровка.УдалитьВсе();
          Расшифровка.Установить("Отчет", "КарточкаСчета");
        Расшифровка.Установить("РазделительУчета", РазделительУчета);
          Расшифровка.Установить("Дата1", Дата1);
          Расшифровка.Установить("Дата2", Дата2);
          Расшифровка.Установить("Счет", Счет);
    
        Для А=1 По 3 Цикл
            Если ОтборСубконто[А] <> 3 Тогда
                Расшифровка.Установить("ВидСубконто"+Номер[А], ВидСубконто[А]);
                Если ОтборСубконто[А] = 2 Тогда
                    Расшифровка.Установить("ОтборСубконто"+Номер[А], ОтборСубконто[А]);
                    Расшифровка.Установить("Субконто"+Номер[А], Субконто[А]);
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
     
        Если ДанныеПоСубсчетам = 1 Тогда
            Ит.ВыбратьСчета();
            Ит.ПолучитьСчет();
            Пока Ит.ПолучитьСчет() = 1 Цикл
           
                Если (ПустоеЗначение(Ит.СКК())=1) и (ПустоеЗначение(Ит.СКД())=1) Тогда
                Продолжить;
               КонецЕсли;
                Расшифровка.Установить("Счет", Ит.Счет);
                Т.ВывестиСекцию("Секция_14");
                Если КолПоСчету = 1 Тогда
                    Т.ВывестиСекцию("Секция_15");
                КонецЕсли;
               Если ФлВал = 1 Тогда
                   Ит.ВыбратьВалюты();
                   Пока Ит.ПолучитьВалюту()=1 Цикл
                          Расшифровка.Установить("Валюта",Ит.Валюта);
                          Расшифровка.Установить("ПоВалюте",1);
                       Т.ВывестиСекцию("Секция_16");
                   КонецЦикла;
                      Расшифровка.Установить("Валюта");
                    Расшифровка.Установить("ПоВалюте");
                КонецЕсли;
                ПоСубконто(Ит, Т, ФлВал);
                  Расшифровка.Установить("Отчет", "КарточкаСчета");
           
              КонецЦикла;
        Иначе
            ПоСубконто(Ит, Т, ФлВал);
        КонецЕсли;
    
        Если КолПоСчету = 0 Тогда
            Если ОтборСубконто[1] <> 3 Тогда
                Т.ВывестиСекцию("Секция_8");
            Иначе
              Т.ВывестиСекцию("Секция_17");
            КонецЕсли;
        Иначе
            Если ОтборСубконто[1] <> 3 Тогда
                Т.ВывестиСекцию("Секция_13");
            Иначе
                Т.ВывестиСекцию("Секция_18");
            КонецЕсли;
        КонецЕсли;
        Ит = 0;
        ВерхнийКолонтитул = "Оборотно-сальдовая ведомость по счету "+Счет+" ("+ПериодСтр(Дата1, Дата2)+")"+?(ТипЗначения(РазделительУчета)=0, "", " "+РазделительУчета);
        НижнийКолонтитул = "";
        Т.ТолькоПросмотр(1);
        Т.Опции(0, 0, ФиксСтрок, 1, "ОпцииПечатиОСВПоСчету", "ОСВПоСчету");
        Т.ОбластьПечати(2);
        Т.ПовторятьПриПечатиСтроки(ФиксСтрок-1,ФиксСтрок);
        Т.ПараметрыСтраницы(1,,,,,,,,, 1);
        Т.Показать("Оборотно-сальдовая ведомость по счету "+Счет+?(ПустоеЗначение(Заголовок1)=1, "", ", по субконто "+Заголовок1)+" ("+ПериодСтр(Дата1, Дата2)+")"+?(ТипЗначения(РазделительУчета)=0, "", " "+РазделительУчета), "");
        Если Закрыть = 1 Тогда
            СтрокаДействийФормы = "#Закрыть";
        КонецЕсли;
    
        Если (ФлагЗакрытияФормы = 1) Или (Обновить = 2) Или (Закрыть = 1) Тогда
             СтрокаДействийФормы = "#Закрыть";
        КонецЕсли;
    КонецПроцедуры
    есть решение для этой задачи?

    С Уважением Дамир
    Последнее редактирование модератором: 22 авг 2016

Поделиться этой страницей