Имя: Пароль:
1C
1C 7.7
v7: Запрос к бух. итогам
0 crisalis
 
29.04.13
12:54
Добрый день уважаемые, помогите пожалуйста разобраться с запросом (бух. итоги):

Процедура  ПолучитьДанныеПоКонтрагентам(Таб)
   Таб.ВывестиСекцию("Шапка");
   стр="";
   Для Н=1 По ВыбКонтрагент.РазмерСписка()  Цикл
       
   Контрагент = ВыбКонтрагент.ПолучитьЗначение(Н, стр); //получить значение и представление
   
   Таб.ВывестиСекцию("Контрагент");
   
   БИ=СоздатьОбъект("БухгалтерскиеИтоги");
   БИ.ИспользоватьРазделительУчета(РазделительУчета);
       
   БИ.ИспользоватьСубконто(ВидыСубконто.Товары,ВыбТов,1,1);
   БИ.ИспользоватьСубконто(ВидыСубконто.Отделы,ВыбСклад,2,0);
   
   БИ.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,Контрагент,2,0);
       
   БИ.ВыполнитьЗапрос(начДата,КонДата,"217.01","711.02",,1,,"К");
   ИтКол=0;
   БИ.ВыбратьСубконто();
   Пока БИ.ПолучитьСубконто()=1 Цикл
       Если Признак = 2 Тогда
           
           Если БИ.Субконто().ЭтоГруппа()=1 тогда
               
               Таб.ВывестиСекцию("Группа");
           Иначе
               
               Если БИ.Субконто().КоличествоВУпаковке > 0   Тогда
                   
                   КоличествоВУп = БИ.Субконто().КоличествоВУпаковке;
                   ОстатокНаНачалоУп = "" + Цел(БИ.СНД(3) / КоличествоВУп) + "," + БИ.СНД(3) % КоличествоВУп;    
                   ПриходУп = "" + Цел(БИ.ДО(3) / КоличествоВУп) + "," + БИ.ДО(3) % КоличествоВУп;            
                   РасходУп = "" + Цел(БИ.КО(3) / КоличествоВУп) + "," + БИ.КО(3) % КоличествоВУп;
                   ОстатокНаКонецУп = "" + Цел(БИ.СКД(3) / КоличествоВУп) + "," + БИ.СКД(3) % КоличествоВУп;
                   Таб.ВывестиСекцию("Строка");
               Иначе
                   ОстатокНаНачалоУп = БИ.СНД(3);    
                   ПриходУп = БИ.ДО(3);            
                   РасходУп = БИ.КО(3);
                   ОстатокНаКонецУп = БИ.СКД(3);
                   Таб.ВывестиСекцию("Строка");
               КонецЕсли;                    
               ИтКол=ИтКол+БИ.СКД(3);
           КонецЕсли;
       
       
       ИначеЕсли Признак = 3 Тогда
           
           Если БИ.Субконто().ЭтоГруппа()=1 тогда
               
               Таб.ВывестиСекцию("Группа");
           Иначе
               
               Если БИ.Субконто().Объем > 0   Тогда
                   
                   Объем = БИ.Субконто().Объем;
                   ОстатокНаНачалоДкл = "" + (БИ.СНД(3) * Объем / 10);    
                   ПриходДкл = "" + (БИ.ДО(3) * Объем / 10);            
                   РасходДкл = "" + (БИ.КО(3) * Объем / 10);
                   ОстатокНаКонецДкл = "" + (БИ.СКД(3) * Объем / 10);
                   Таб.ВывестиСекцию("Строка");
               Иначе
                   ОстатокНаНачалоДкл = БИ.СНД(3);    
                   ПриходДкл = БИ.ДО(3);            
                   РасходДкл = БИ.КО(3);
                   ОстатокНаКонецДкл = БИ.СКД(3);
                   Таб.ВывестиСекцию("Строка");
               КонецЕсли;                    
               ИтКол=ИтКол+БИ.СКД(3);
           КонецЕсли;
       Иначе
           Если БИ.Субконто().ЭтоГруппа()=1 тогда
               Таб.ВывестиСекцию("Группа");
           Иначе
               Таб.ВывестиСекцию("Строка");
               ИтКол=ИтКол+БИ.СКД(3);
           КонецЕсли;    
       КонецЕсли;
   КонецЦикла;
   
   КонецЦикла;
   
   
   Таб.ВывестиСекцию("Ит");
   
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Отчет по товарам");
КонецПроцедуры
1 crisalis
 
29.04.13
13:14
Закройте пожалуйста тему я во всем разобрался.