Имя: Пароль:
1C
1C 7.7
v7: Бухзапрос по группе
0 Samir
 
13.07.11
09:34
Подскажите пожалуйста почему когда выбираешь в отчете конкретную позицию номенклатуры БухИтоги дают движения, а когда выбираешь всю группу - 0.
Может тут надо подойти к вопросу в другом, так сказать, ракурсе?
1 poligraf
 
13.07.11
09:36
телепатирую....

<СП>
ИспользоватьСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>)
</СП>
смотри на последний параметр
2 viktor_vv
 
13.07.11
09:37
ТипФильтра и ПоГруппам что стоит ?
3 Samir
 
13.07.11
09:44
О как, стока лет работал и не знал. Спасиб
4 poligraf
 
13.07.11
09:49
(3) ну как минимум "стока лет работы" должны были документацию научить читать:)
5 Samir
 
13.07.11
09:57
Народ всирано не врублюсь, вроде все просто, но не работает, мож подскажите где ошибка?

   Ит = СоздатьОбъект("БухгалтерскиеИтоги");    
   Если ВыбНоменклатура.Выбран()=1 Тогда
       Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбНоменклатура,,1);
   Иначе
       Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура);
   КонецЕсли;
   Ит.ИспользоватьСубконто(ВидыСубконто.Партии);
   Ит.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,СчетПоКоду("41"),,,2,"Операция");
   Таб.ВывестиСекцию("Шапка");        
   Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура);
   Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл    
       Таб.ВывестиСекцию("Номенклатура");    
       Ит.ВыбратьСубконто(ВидыСубконто.Партии);
       Пока Ит.ПолучитьСубконто(ВидыСубконто.Партии) = 1 Цикл
           Таб.ВывестиСекцию("Партия");    
           Ит.ВыбратьПериоды();
           Пока Ит.ПолучитьПериод() = 1 Цикл    
               Дт = Ит.ВыбранаПоДт();
               Кт = Ит.ВыбранаПоКт();
               Опер = Ит.Операция;
               Сд = Ит.СКД() - Ит.СКК();
               Таб.ВывестиСекцию("Строка");                    
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
6 Samir
 
13.07.11
10:07
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбНоменклатура,,1);



Вроде все как по книжке, но не дает ничего...
7 chief accountant
 
13.07.11
10:08
(6) а зачем разворачивать если у тебя второй параметр определен?
8 Samir
 
13.07.11
10:10
Суть в чем: Нужно сделать запрос по группе номенклатуры по всем партиям, т.е. выбрать группу и посмотреть все движения которые были по этой группе в разрезе партий
9 poligraf
 
13.07.11
10:19
<СП>
<ПоГруппам> - число - группировка итогов по субконто. Параметр <ПоГруппам> имеет смысл, если параметр <ТипФильтра> равен 1, а вид субконто, заданный параметром <ВидСубконто>, имеет тип значения ''Справочник''. Параметр может принимать значения: 0 - не показывать итоги по группам справочника; 1 - показывать итоги по группам справочника. По умолчанию 0.
</СП>
10 ZDenis
 
13.07.11
10:19
(0) Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбНоменклатура,1)
11 Samir
 
13.07.11
10:22
(10) Все равно не кажет
12 chief accountant
 
13.07.11
10:22
(11) Тык по умолчанию "1"
13 Samir
 
13.07.11
10:25
Наверно придется делать запросом...
14 ZDenis
 
13.07.11
10:26
(13) У тебя "2" что делает перед "Операция" в бух запросе?
15 chief accountant
 
13.07.11
10:28
(13) Да всё нормально работает
16 chief accountant
 
13.07.11
10:34
(13) У тебя на 41 партии присутствуют?
17 chief accountant
 
13.07.11
10:41
//*******************************************
Процедура Сформировать()
Ит = СоздатьОбъект("БухгалтерскиеИтоги");    
   Если ВыбНоменклатура.Выбран()=1 Тогда
       Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбНоменклатура,,1);
   Иначе
       Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура);
   КонецЕсли;
   //Ит.ИспользоватьСубконто(ВидыСубконто.Партии);
   Ит.ВыполнитьЗапрос('01/01/2011','01/07/2011',СчетПоКоду("41"),,,2,"Операция");
   //Таб.ВывестиСекцию("Шапка");        
   Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура);
   Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл    
       //Таб.ВывестиСекцию("Номенклатура");    
       //Ит.ВыбратьСубконто(ВидыСубконто.Партии);
       //Пока Ит.ПолучитьСубконто(ВидыСубконто.Партии) = 1 Цикл
           //Таб.ВывестиСекцию("Партия");    
           Ит.ВыбратьПериоды();
           Пока Ит.ПолучитьПериод() = 1 Цикл    
               Дт = Ит.ВыбранаПоДт();
               Кт = Ит.ВыбранаПоКт();
               Опер = Ит.Операция;
               Сд = Ит.СКД() - Ит.СКК();
               //Таб.ВывестиСекцию("Строка");
               Сообщить(Ит.Субконто(1));
           КонецЦикла;
       //КонецЦикла;
   КонецЦикла;
КонецПроцедуры

Всё работает
AdBlock убивает бесплатный контент. 1Сергей