Имя: Пароль:
1C
1C 7.7
v7: Группировка в отчете
,
0 Christina_
 
28.12.12
11:38
ДОбрый день!
Такое дело..есть отчет по заработной плате. Считаются счета 44, 97.
Итоги считаются по каждому сотруднику, в отчет выводится строчка подразделения, т.е. группирует суммы по подразделениям.
У меня есть два бух итога, т.к. по 97 счета считается сумма "минус 1 месяц от установленного месяца"

Никак не выходит следующее.. Сортировка идет по всем счета, кроме 97, 97  сортирует как хочет, но итоговую сумму дает верную.

Код не мой..но нужно исправить... может поможете разобраться.. спасибо!

Ит = СоздатьОбъект("БухгалтерскиеИтоги");  
   Ит.ВключатьСубсчета(1,1);
   Ит.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
   Ит.ВыполнитьЗапрос(ДатаНач, ДатаКон, "70","44,90",,2,,"С");
   Ит.ВключатьСубсчета(0,0);
   Ит.ВыбратьСубконто(ВидыСубконто.Сотрудники);
   Ит97 = СоздатьОбъект("БухгалтерскиеИтоги");
   Ит97.ВключатьСубсчета(1,1);
   Ит97.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
   Ит97.ВключатьСубсчета(0,0);
   Ит97.ВыполнитьЗапрос(ДатаНач97, ДатаКон97, "70","97",,2,,"С");
   Ит97.ВыбратьСубконто(ВидыСубконто.Сотрудники);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
       Сотрудник      = Ит.Субконто(ВидыСубконто.Сотрудники);
       лПодразделение = Сотрудник.Подразделение.Получить(ДатаКон);  
       Если ПустоеЗначение(Подразделение) = 0 Тогда
           Если лПодразделение <> Подразделение Тогда
               Продолжить;
           КонецЕсли;
       КонецЕсли;
       флСовместитель = 0;
       Если (Сотрудник.Основной.Получить(ДатаКон) = 0) и (лПодразделение <> ПодрядД) Тогда
           флСовместитель = 1;
       КонецЕсли;
       
       ТЗ.НоваяСтрока();
       ТЗ.Подразделение = лПодразделение;
       
       Ит.ВыбратьКорСчета();    
       ///    
       Если Ит97.ПолучитьСубконто(Видысубконто.Сотрудники,Ит.Субконто(1)) = 1 Тогда
           Ит97.ВыбратьКорСчета();
           Если Ит97.ПолучитьКорСчет(,СчетПоКоду("97")) = 1 Тогда  
               ТЗ.Начислено_97 = Ит97.КорКО();
               Если Сотрудник.Пол = Перечисление.Пол.Ж Тогда
                   ТЗ.Начислено_Жен = Ит97.КорКО();  
               КонецЕсли;
           КонецЕсли;
       КОнецЕСли;
1 zak555
 
28.12.12
11:40
напиши один бух заспро
2 Christina_
 
28.12.12
11:42
(1) А можно в одном бух запросе использовать две разные даты?
3 zak555
 
28.12.12
11:43
(2) чему все даты  равны ?
4 Christina_
 
28.12.12
11:45
ДатаНач97 = ДобавитьМесяц(ДатаНач, -1);
ДатаКон97_1 = ДобавитьМесяц(ДатаКон, -1);
ДатаКон97 = КонМесяца(ДатаКон97_1);

ДатаНач, ДатаКон - выбирается в диалоге
5 zak555
 
28.12.12
11:55
какой смысл предыдущий смотреть ?
6 zak555
 
28.12.12
11:56
можно, одни запросом
7 Christina_
 
28.12.12
12:19
просто 97 сет, это отпуск буд периодов, то ссть если я делаю з а октябрь, то сумма октября лежит в сентябре
8 Christina_
 
28.12.12
12:21
что-т не выходит у меня этот запрос..где тут группировка..ерунда какая-то.
9 zak555
 
28.12.12
12:22
(7) о_О

это что за проводка такая ?
10 Christina_
 
28.12.12
12:26
(9) 97 счет - расходы буд периодов, бух сказала, нужно чтобы было за тот месяц, за который делаю отчет, то есть если выбираем январь, то для 97 счета должно быть декабрь.
11 Christina_
 
28.12.12
12:28
Я же выбирать должна бух итоги - отдельные значения итогов, да?
12 zak555
 
28.12.12
12:32
(10) а если 97 падает на более 1 месяц -- как быть тогда ? ))
13 Christina_
 
28.12.12
12:55
не падает,видимо... не в этом же проблема( а в том, что не сортирует..=((((