Имя: Пароль:
1C
1C 7.7
v7: Книга продаж Выбор по 76.11 и 76.8
0 kynabo
 
08.11.12
20:49
Доброе время суток!
К книге продаж формируется небольшой свод. В него бухгалтер попросил вывести данные по 76.11 и 76.8 счетам пробовала 2 способами . Не получается. Подскажите, пожалуйста, что не так
1.    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
       (ВидыСубконто.Контрагенты,ВыбрКонтрагент);    
   БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"76.8","68.2",,2,"Проводка");
   БИ.ВыбратьПериоды();
   Пока БИ.ПолучитьПериод()=1 Цикл
       ДатаОплаты=БИ.НачДата;
           Контрагент =БИ.Операция.Дебет.Контрагенты;
       Если (ПустоеЗначение(ВыбрКонтрагент) = 0)
               и  (ВыбрКонтрагент <> Контрагент)  Тогда
       Продолжить;    
       КонецЕсли;
       СуммаНДС=БИ.ДО();
       Док = Би.Операция.Документ;
       Если СуммаНДС<>0 Тогда
           ВсегоНДСпоСФ=СуммаНДС;
           КфОплаты=1;
           ТЗ.НоваяСтрока();  
           ТЗ.СФ=Док;
           ТЗ.Контрагент=Контрагент;        
           ТЗ.НомерДата=Строка(""+СОКРЛП(Док.НомерДок)  +"/"+Док.ДатаДок);
           ТЗ.ДатаОплаты=ДатаОплаты;
           ТЗ.Всего=СуммаНДС*118/18;                        
           ТЗ.СуммаНДС18=СуммаНДС;
           
           Тз.СуммаНДС10 = 0;
           Тз.СуммаНДС20 = 0;
           Тз.СуммаСовсемБезНДС = 0;            
           
       
2. В выборке всех документов пробовала отлавливать нужные

   Если СчетКонтрагента=СчетПоКоду("76.11") Тогда  
               
       сОтгрВсего=сОтгрВсего+Док.Всего;
       сОтгрСуммаБезНДС18=сОтгрСуммаБезНДС18+Док.НДС18*5.55555555;
       сОтгрНДС18=сОтгрНДС18+Док.НДС18;
       сОтгрСуммаБезНДС10=сОтгрСуммаБезНДС10+Док.НДС10*10;
       сОтгрНДС10=сОтгрНДС10+Док.НДС10;
       сОтгрСуммаБезНДС20=сОтгрСуммаБезНДС20+Док.НДС20*5;
       сОтгрНДС20=сОтгрНДС20+Док.НДС20;
       сОтгрСуммаСовсемБезНДС=сОтгрСуммаСовсемБезНДС+Док.СуммаСовсемБезНДС;
   ИначеЕсли  СчетКонтрагента=СчетПоКоду("76.8") Тогда
   рОтгрВсего=рОтгрВсего+Док.Всего;
   рОтгрСуммаБезНДС18=рОтгрСуммаБезНДС18+Док.НДС18*5.55555555;
   рОтгрНДС18=рОтгрНДС18+Док.НДС18;
   рОтгрСуммаБезНДС10=рОтгрСуммаБезНДС10+Док.НДС10*10;
   рОтгрНДС10=рОтгрНДС10+Док.НДС10;
   рОтгрСуммаБезНДС20=рОтгрСуммаБезНДС20+Док.НДС20*5;
   рОтгрНДС20=рОтгрНДС20+Док.НДС20;
   рОтгрСуммаСовсемБезНДС=рОтгрСуммаСовсемБезНДС+Док.СуммаСовсемБезНДС;
       иначе
   ....
1 kynabo
 
08.11.12
20:50
первый вариант вылетел

1.    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
       (ВидыСубконто.Контрагенты,ВыбрКонтрагент);    
   БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"76.8","68.2",,2,"Проводка");
   БИ.ВыбратьПериоды();
   Пока БИ.ПолучитьПериод()=1 Цикл
       ДатаОплаты=БИ.НачДата;
           Контрагент =БИ.Операция.Дебет.Контрагенты;
       Если (ПустоеЗначение(ВыбрКонтрагент) = 0)
               и  (ВыбрКонтрагент <> Контрагент)  Тогда
       Продолжить;    
       КонецЕсли;
       СуммаНДС=БИ.ДО();
       Док = Би.Операция.Документ;
       Если СуммаНДС<>0 Тогда
           ВсегоНДСпоСФ=СуммаНДС;
           КфОплаты=1;
           ТЗ.НоваяСтрока();  
           ТЗ.СФ=Док;
           ТЗ.Контрагент=Контрагент;        
           ТЗ.НомерДата=Строка(""+СОКРЛП(Док.НомерДок)  +"/"+Док.ДатаДок);
           ТЗ.ДатаОплаты=ДатаОплаты;
           ТЗ.Всего=СуммаНДС*118/18;                        
           ТЗ.СуммаНДС18=СуммаНДС;
           
           Тз.СуммаНДС10 = 0;
           Тз.СуммаНДС20 = 0;
           Тз.СуммаСовсемБезНДС=0;
2 Amra
 
08.11.12
20:52
Учу выбирать раздел. Дорого
3 НикДляЗапросов
 
08.11.12
21:10
(0) Ну первый вариант круче, только фильтр на контров надо наложить тут
(ВидыСубконто.Контрагенты,ВыбрКонтрагент);