Имя: Пароль:
1C
1С v8
Как перевести метод БухгалтерскиеИтоги() в 1С 8.2
0 Pomogite
 
20.01.12
18:02
Добрый день! У нас в компании переход из учетной системы 1С 7.7 в 1С 8.2 УТП. Возникла сложность перевода кода на 1С 8 в отчете по задолженности. Это касается метода БухгалтерскиеИтоги() в 7.7, как его правильно перевести в 1С 8?
Процедура Сформировать()
   Перем Стр;
   Перем Запрос, ТекстЗапроса;
   ИтНач = 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 acsent
 
20.01.12
18:03
Запрос = Новый Запрос;
2 GLazNik
 
20.01.12
18:03
Написать запрос? :)
3 vmv
 
20.01.12
18:04
СКД
4 Pomogite
 
20.01.12
18:05
Я с бухгалтерией не очень. Может вы сможете выложить что-нибудь похожее?
5 Pomogite
 
20.01.12
18:26
Я умею пользоватся СКД, но не совсем понимаю какой источник данных мне необходимо взять?
6 GLazNik
 
20.01.12
18:27
Регистры бухгалтерии
7 Pomogite
 
20.01.12
18:43
А какую таблицу необходимо взять? Хозрасчетный.ОстаткиИОбороты
8 GROOVY
 
20.01.12
18:48
(7) А что надо? Остатки? Обороты?
9 Pomogite
 
20.01.12
18:52
Остатки.
10 IamAlexy
 
20.01.12
18:53
(9) ты не повреишь...
11 GROOVY
 
20.01.12
18:53
(9) Следовательно надо брать таблицу "Остатки".
12 zak555
 
20.01.12
23:45
(0) аналитика счета какая ?