Имя: Пароль:
1C
1С v8
Написание запроса
0 Pomogite
 
23.01.12
13:17
Добрый день, перевожу отчет из 1С 7.7 в 1С 8.2. В данном отчете метод БухгалтерскиеИтоги(), как его заменить в СКД. Код из 1с 7.7.:

Процедура Сформировать()
   Перем Стр;
   Перем Запрос, ТекстЗапроса;
   ИтНач = 0;
   ИтПред = 0;
   ИтЗаПериод = 0;
   ИтОплачено = 0;
   ИтДолг = 0;  
   
   ДатаНачала = НачМесяца(ДобавитьМесяц(ВыбДата,-1))+17;
   ДатаРабот = НачМесяца(ДобавитьМесяц(ВыбДата,-1));
   
   
   ДатаОкончания = КонМесяца(ДобавитьМесяц(ВыбДата,-1));
   ТЗ.Очистить();
   ТЗ.НоваяКолонка("Должник",,,,,15);  
   ТЗ.НоваяКолонка("ДолгНаНачало","Число",,,,15);
   ТЗ.НоваяКолонка("ПредоплатаНаНачало","Число",,,,15);
   ТЗ.НоваяКолонка("ЗаПериод","Число",,,,15);
   ТЗ.НоваяКолонка("Оплачено","Число",,,,15);  
   ТЗ.НоваяКолонка("ДолгНаконец","Число",,,,15);
   
   Если ВычестьКорп = 1 Тогда
       Спр = СоздатьОбъект("Справочник.Контрагенты");
       //ВИП-АТБ
       Спр.НайтиПоКоду("00700715");
       КонтрВычесть.ДобавитьЗначение(Спр.ТекущийЭлемент());
       
       
       //Вип-Рейнфорд        
       Спр = СоздатьОбъект("Справочник.Контрагенты");  
       Спр.НайтиПоКоду("00701790");  
       КонтрВычесть.ДобавитьЗначение(Спр.ТекущийЭлемент());
       
       //Создание объекта типа Запрос
       Запрос = СоздатьОбъект("Запрос");
       ТекстЗапроса =
       "//{{ЗАПРОС(Сформироватьждэ)
       |Контрагенты = Справочник.Контрагенты.ТекущийЭлемент;
       |Условие(Не (Контрагенты в КонтрВычесть));
       |Группировка Контрагенты;
       |"//}}ЗАПРОС
       ;
       // Если ошибка в запросе, то выход из процедуры
       Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
           Возврат;
       КонецЕсли;
       
       Пока Запрос.Группировка(1) = 1 Цикл
           Контр.ДобавитьЗначение(Запрос.Контрагенты);    
       КонецЦикла;        
   КонецЕсли;
   
   БИ = СоздатьОбъект("БухгалтерскиеИтоги");
   
   Если ВычестьКорп = 1 Тогда
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр,1,ПоГруппам);
   Иначе
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,ПоГруппам);    
   КонецЕсли;
   
   БИ.ВыполнитьЗапрос(ДатаНачала,ВыбДата,"36.1");
   БИ.ВыбратьСубконто(1);
   Пока БИ.ПолучитьСубконто(1) = 1 Цикл
       ТЗ.НоваяСтрока();
       ТЗ.Должник = БИ.Субконто();
       ТЗ.Оплачено = БИ.КО();
   КонецЦикла;
   
   Если ВычестьКорп = 1 Тогда
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр,1,ПоГруппам);
   Иначе
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,ПоГруппам);    
   КонецЕсли;
   БИ.ВыполнитьЗапрос(ДатаНачала,ДатаОкончания,"36.1");
   БИ.ВыбратьСубконто(1);
   Пока БИ.ПолучитьСубконто() = 1 Цикл  
       стр = 0;
       Если ТЗ.НайтиЗначение(БИ.Субконто(),стр,"Должник")=1 Тогда  
           Тз.ПолучитьСтрокуПоНомеру(Стр);
           ТЗ.ДолгНаНачало = БИ.СНД();
           ТЗ.ПредоплатаНаНачало = БИ.СНК();
           //ТЗ.ЗаПериод = БИ.ДО();  
       КонецЕсли;
   КонецЦикла;  
   
   
   Если ВычестьКорп = 1 Тогда
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр,1,ПоГруппам);
   Иначе
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,ПоГруппам);    
   КонецЕсли;
   БИ.ВыполнитьЗапрос(ДатаРабот,ВыбДата,"36.1");
   БИ.ВыбратьСубконто(1);
   Пока БИ.ПолучитьСубконто(1) = 1 Цикл
       ТЗ.НоваяСтрока();
       ТЗ.Должник = БИ.Субконто();
       ТЗ.Оплачено = БИ.КО();
   КонецЦикла;
   
   Если ВычестьКорп = 1 Тогда
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контр,1,ПоГруппам);
   Иначе
       БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,ПоГруппам);    
   КонецЕсли;
   БИ.ВыполнитьЗапрос(ДатаНачала,ДатаОкончания,"36.1");
   БИ.ВыбратьСубконто(1);
   Пока БИ.ПолучитьСубконто() = 1 Цикл  
       стр = 0;
       Если ТЗ.НайтиЗначение(БИ.Субконто(),стр,"Должник")=1 Тогда  
           Тз.ПолучитьСтрокуПоНомеру(Стр);
           ТЗ.ЗаПериод = БИ.ДО();  
       КонецЕсли;
   КонецЦикла;
   
   стр = 0;
   
   
   Если ВычестьКорп = 1 Тогда
       Спр  = СоздатьОбъект("Справочник.Контрагенты");
       
       //Вычитаем Бочарникова
       Спр.НайтиПоКоду("035448487");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("000110395");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           Спр.НайтиПоКоду("000000185");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало + ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;
       
       стр = 0;
       //Вычитаем Киевский Региональный центр
       Спр.НайтиПоКоду("000000329");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00700765");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           Спр.НайтиПоКоду("000000184");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;  
       
       стр = 0;
       //Вычитаем Киевский Региональный центр
       Спр.НайтиПоКоду("000000329");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00700765");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           Спр.НайтиПоКоду("000000184");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;
       
       //Вычитаем Бетта
       Стр = 0;
       Спр.НайтиПоКоду("00700333");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00701972");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;
       
       //Вычитаем Омега
       Стр = 0;
       Спр.НайтиПоКоду("000510408");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00701972");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;  
       
       //Вычитаем Омега КривойРог
       Стр = 0;
       Спр.НайтиПоКоду("000699913");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00701972");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;
       
       //Вычитаем РТЦ
       Стр = 0;
       Спр.НайтиПоКоду("00700391");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00701972");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  ;
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;  
       
       //Вычитаем РУШ
       Стр = 0;
       Спр.НайтиПоКоду("000510414");
       Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр,"Должник") = 1 Тогда
           ТЗ.ПолучитьСтрокуПоНомеру(стр);
           Оплачено = ТЗ.Оплачено;
           ДолгНаНачало = ТЗ.ДолгНаНачало;
           ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
           ЗаПериод = ТЗ.ЗаПериод;
           Спр.НайтиПоКоду("00701972");
           стр1 = 0;
           Если ТЗ.НайтиЗначение(Спр.ТекущийЭлемент(),стр1,"Должник") = 1 Тогда
               ТЗ.ПолучитьСтрокуПоНомеру(стр1);
               ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
               ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
               ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
           КонецЕсли;  
           ТЗ.УдалитьСтроку(стр);    
       КонецЕсли;
   КонецЕсли;
             
   НеДолжники = СоздатьОбъект("СписокЗначений");
   
   
   Тз.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1 Цикл
       ~начало:  
       ТЗ.ДолгНаКонец = ТЗ.ДолгНаНачало+ТЗ.Запериод-ТЗ.ПредоплатаНаНачало- ТЗ.Оплачено;  
       Если Должники = 1 Тогда
           Если ((ТЗ.ДолгНаКонец <= 0)И (ТЗ.Должник.ЭтоГруппа()<>1)) Тогда
               стр = ТЗ.НомерСтроки;
               Должник = ТЗ.Должник;
               Оплачено = ТЗ.Оплачено;
               ДолгНаНачало = ТЗ.ДолгНаНачало;
               ПредоплатаНаНачало = ТЗ.ПредоплатаНаНачало;
               ЗаПериод = ТЗ.ЗаПериод;  
               стр1 = 0;
               Если ТЗ.НайтиЗначение(Должник.Родитель,стр1,"Должник") = 1 Тогда
                   ТЗ.ПолучитьСтрокуПоНомеру(стр1);
                   ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
                   ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
                   ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
                   //Если (ТЗ.Оплачено = 0) и (ТЗ.ДолгНаНачало = 0)и(ТЗ.ЗаПериод = 0) Тогда
                   //    ТЗ.УдалитьСтроку();    
                   //КонецЕсли;
               КонецЕсли;  
               стр1 = 0;
               Если ТЗ.НайтиЗначение(Должник.Родитель.Родитель,стр1,"Должник") = 1 Тогда
                   ТЗ.ПолучитьСтрокуПоНомеру(стр1);
                   ТЗ.Оплачено=ТЗ.Оплачено-Оплачено;
                   ТЗ.ДолгНаНачало=ТЗ.ДолгНаНачало-ДолгНаНачало+ПредоплатаНаНачало;
                   ТЗ.ЗаПериод = ТЗ.ЗаПериод - ЗаПериод;
                   //Если (ТЗ.Оплачено = 0) и (ТЗ.ДолгНаНачало = 0)и(ТЗ.ЗаПериод = 0) Тогда
                   //    ТЗ.УдалитьСтроку();    
                   //КонецЕсли;
               КонецЕсли;
               ТЗ.ПолучитьСтрокуПоНомеру(стр);
               ТЗ.УдалитьСтроку(); //следующая строка стала текущей
               Если ТЗ.НомерСтроки<>0 Тогда
                   Перейти ~начало;    
               КонецЕсли;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;  
   
   Тз.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1 Цикл
       ~нач:
       Если (ТЗ.Должник.ЭтоГруппа() = 1) Тогда
           Если (ТЗ.Оплачено = 0) и (ТЗ.ДолгНаНачало = 0)и(ТЗ.ЗаПериод = 0)и (ПредоплатаНаНачало = 0) Тогда
               ТЗ.УдалитьСтроку(); //следующая строка стала текущей
               Если ТЗ.НомерСтроки<>0 Тогда
                   Перейти ~нач;
               КонецЕсли;
           Иначе
               ТЗ.ДолгНаКонец = ТЗ.ДолгНаНачало+ТЗ.Запериод-ТЗ.ПредоплатаНаНачало- ТЗ.Оплачено;    
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");    
   Таб.ВывестиСекцию("Шапка");
   Состояние("Заполнение выходной таблицы...");
   Ном = 1;
   ТЗ.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1  Цикл  
       Если Должники = 1 Тогда
           //Если ТЗ.ДолгНаКонец>0 Тогда
               Если ТЗ.Должник.ЭтоГруппа()<>1 Тогда
                   ИтНач = ТЗ.ДолгНаНачало+ИтНач;
                   ИтПред = ТЗ.ПредоплатаНаНачало + ИтПред;
                   ИтЗаПериод = ТЗ.ЗаПериод+ИтЗаПериод;
                   ИтОплачено = ТЗ.Оплачено + ИтОплачено;
                   ИтДолг = ТЗ.ДолгНаКонец + ИтДолг;
                   Ном = Ном+1;
                   Таб.ВывестиСекцию("Строка");
               ИначеЕсли ТЗ.Должник.Уровень()=1 Тогда
                   Таб.ВывестиСекцию("Строка_гр1");
               ИначеЕсли ТЗ.Должник.Уровень()=2 Тогда    
                   Таб.ВывестиСекцию("Строка_гр2");
               КонецЕсли;
           //Иначе

           //КонецЕсли;
       Иначе
           Если ТЗ.ДолгНаКонец>0 Тогда
               Если ТЗ.Должник.ЭтоГруппа()<>1 Тогда
                   Таб.ВывестиСекцию("Строка_долг");
                   ИтНач = ТЗ.ДолгНаНачало+ИтНач;
                   ИтПред = ТЗ.ПредоплатаНаНачало + ИтПред;
                   ИтЗаПериод = ТЗ.ЗаПериод+ИтЗаПериод;
                   ИтОплачено = ТЗ.Оплачено + ИтОплачено;
                   ИтДолг = ТЗ.ДолгНаКонец + ИтДолг;
                   Ном = Ном+1;
               ИначеЕсли ТЗ.Должник.Уровень()=1 Тогда
                   Таб.ВывестиСекцию("Строка_гр1");
               ИначеЕсли ТЗ.Должник.Уровень()=2 Тогда    
                   Таб.ВывестиСекцию("Строка_гр2");
               КонецЕсли;
           Иначе
               Если ТЗ.Должник.ЭтоГруппа()<>1 Тогда
                   Таб.ВывестиСекцию("Строка");
                   ИтНач = ТЗ.ДолгНаНачало+ИтНач;
                   ИтПред = ТЗ.ПредоплатаНаНачало + ИтПред;
                   ИтЗаПериод = ТЗ.ЗаПериод+ИтЗаПериод;
                   ИтОплачено = ТЗ.Оплачено + ИтОплачено;
                   ИтДолг = ТЗ.ДолгНаКонец + ИтДолг;
                   Ном = Ном+1;
               ИначеЕсли ТЗ.Должник.Уровень()=1 Тогда
                   Таб.ВывестиСекцию("Строка_гр1");
               ИначеЕсли ТЗ.Должник.Уровень()=2 Тогда    
                   Таб.ВывестиСекцию("Строка_гр2");
               КонецЕсли;
           КонецЕсли;
           
       КонецЕсли;
   КонецЦикла;
   Таб.ВывестиСекцию("Итог");
   Таб.Опции(0, 0,, 0);
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Должники", "");
КонецПроцедуры
1 Wobland
 
23.01.12
13:20
держите меня семеро, Перейти!
2 МурЬка
 
23.01.12
13:21
Бух. итоги в в8 заменяются запросом к одной из виртуальных таблиц регистра бухгалтерии.
3 Pomogite
 
23.01.12
13:31
Вот добавил в СКД.
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто3,
   ХозрасчетныйОстаткиИОбороты.Организация,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
   ХозрасчетныйОстаткиИОбороты.СуммаОборот,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты

А как вот это условие прописать в запросе
ДатаНачала = НачалоМесяца(ДобавитьМесяц(ВыбДата,-1))+17;
   ДатаРабот = НачалоМесяца(ДобавитьМесяц(ВыбДата,-1));
   ДатаОкончания = КонецМесяца(ДобавитьМесяц(ВыбДата,-1));
4 Wobland
 
23.01.12
13:32
(3) посмотри на параметры вирт. таблицы. в конструкторе даже кнопка об этом есть
5 alexiv79
 
23.01.12
14:22
(3) Юзай конструктор запросов-намного понятнее. А что касается вопороса , то так
ИЗ
  РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания

Потом после текста запроса пишешь:
Запрос.Установитьпараметр("ДатаНачала",ДатаНачала);
Запрос.Установитьпараметр("ДатаОкончания",ДатаОкончания);
Запрос.Установитьпараметр("ДатаРабот",ДатаРабот);
6 alexiv79
 
23.01.12
14:25
+(5) ну и для откладки текста запроса в типовых конфигурациях используй "Консоль отчетов" в обюычном режиме в меню Отчеты-Универсальные.Правда, не знаю во всех ли типовых есть, но в УПП есть.но можно как внешний отчет использовать.