Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 19:54

помогите найти ошибку

Автор Люсёк, 22 ноя 2010, 11:13

0 Пользователей и 1 гость просматривают эту тему.

progmikon

А что значит по дням?

Люсёк

Т.е нужно посчитать общую сумму за день.

progmikon


Люсёк


progmikon

Поместите ваши два объединенных запроса во вложенный и сделайте группировку по периоду, а затем ваши Итоги.

Люсёк

А группировку по периоду в итогах делать?

progmikon

Можно либо в итогах, либо в группировке.

Люсёк

Так он выводит итог по каждой строчке. Т.е, например даты 02.03.2010 12.00.02 и 02.03.2010 12.00.09 он считает разными. А мне надо чтобы считал как одну и складывал сумму.

progmikon

Как вариант можно сделать все даты на начало дня:

НАЧАЛОПЕРИОДА(ЧегоТоТам.Период, ДЕНЬ)

Люсёк

Спасибо, так считает) только мне надо посчитать за день для кассы и отдельно за день для банка( я попробывала считать вовремя вывода в макет, но у меня не получается. Может вы глянете код? Буду очень благодарна.

Процедура Кнопка1Нажатие(Элемент)
   
   СформироватьТЗ();
   
   ТабДокумент = Новый ТабличныйДокумент;
   
   Макет = ПолучитьМакет("Макет");
   ОбластьШапка = Макет.ПолучитьОбласть("Шапка");   
   ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
   ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка2");
   ОбластьИтогоЗаМесяцБанк = Макет.ПолучитьОбласть("ИтогоЗаМесяцБанк");
   ОбластьИтогоЗаМесяцКасса = Макет.ПолучитьОбласть("ИтогоЗаМесяцКасса");
   ОбластьИтогЗаДеньБанк = Макет.ПолучитьОбласть("ИтогЗаДеньБанк");
   ОбластьИтогЗаДеньКасса = Макет.ПолучитьОбласть("ИтогЗаДеньКасса");
      
   ТабДокумент.Вывести(ОбластьШапка);
   
   ИтогЗаДеньКасса=0;
    ИтогЗаДеньБанк=0;
   ИтогоЗаМесяцКасса=0;
   ИтогоЗаМесяцБанк=0;
   
   Если ТЗ.Количество() > 0 Тогда  //Построчный обход ТЗ         
      
      Для Счетчик = 0 По (ТЗ.Количество()-1) Цикл            
         СтрокаТЗ = ТЗ.Получить(Счетчик);
                     
         Если СтрокаТЗ.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезКассу Тогда
             ОбластьСтрока2.Параметры.Период = СтрокаТЗ.Период;
              ОбластьСтрока2.Параметры.Ведомость = СтрокаТЗ.Ведомость;
              ОбластьСтрока2.Параметры.СуммаВзаиморасчетов = СтрокаТЗ.СуммаВзаиморасчетов;
              ОбластьСтрока2.Параметры.Регистратор = СтрокаТЗ.Регистратор;
             ТабДокумент.Вывести(ОбластьСтрока2);
            
             ПредыдДеньКасса=СтрокаТЗ.Период;
            
             Если ПредыдДеньКасса=СтрокаТЗ.Период Тогда
                 ИтогЗаДеньКасса=ИтогЗаДеньКасса+ОбластьСтрока2.Параметры.СуммаВзаиморасчетов;
                 ОбластьИтогЗаДеньКасса.Параметры.ИтогоСуммаВзаиморасчетов = ИтогЗаДеньКасса;
              Иначе ИтогЗаДеньКасса=0;
              КонецЕсли;    
            
                  ИтогоЗаМесяцКасса = ИтогоЗаМесяцКасса +  ОбластьСтрока2.Параметры.СуммаВзаиморасчетов;                                 
                        ОбластьИтогоЗаМесяцКасса.Параметры.ИтогоСуммаВзаиморасчетов = ИтогоЗаМесяцКасса;
            
              ИначеЕсли СтрокаТЗ.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезБанк Тогда                                      
                       ОбластьСтрока.Параметры.Период = СтрокаТЗ.Период;
                        ОбластьСтрока.Параметры.Ведомость = СтрокаТЗ.Ведомость;
                        ОбластьСтрока.Параметры.СуммаВзаиморасчетов = СтрокаТЗ.СуммаВзаиморасчетов;
                        ОбластьСтрока.Параметры.Регистратор = СтрокаТЗ.Регистратор;
                     ТабДокумент.Вывести(ОбластьСтрока);
                     
                     ПредыдДеньБанк=СтрокаТЗ.Период;
                    
                Если ПредыдДеньБанк=СтрокаТЗ.Период Тогда
                    ИтогЗаДеньБанк= ИтогЗаДеньБанк + ОбластьСтрока.Параметры.СуммаВзаиморасчетов;
                    ОбластьИтогЗаДеньБанк.Параметры.ИтогоСуммаВзаиморасчетов = ИтогЗаДеньБанк;
                Иначе ИтогЗаДеньБанк=0;      
                КонецЕсли;

                  
                        ИтогоЗаМесяцБанк = ИтогоЗаМесяцБанк +  ОбластьСтрока.Параметры.СуммаВзаиморасчетов;                         
                     ОбластьИтогоЗаМесяцБанк.Параметры.ИтогоСуммаВзаиморасчетов = ИтогоЗаМесяцБанк;
                     
                     
                     
          КонецЕсли;
       КонецЦикла;
      
       Для СчетчикПоказателей = 0 По (ТЗ.Количество()-1) Цикл            
         СтрокаТЗ = ТЗ.Получить(Счетчик);
         

      
    КонецЕсли;
    ТабДокумент.Вывести(ОбластьИтогЗаДеньКасса);
    ТабДокумент.Вывести(ОбластьИтогЗаДеньБанк);
     ТабДокумент.Вывести(ОбластьИтогоЗаМесяцБанк);
    ТабДокумент.Вывести(ОбластьИтогоЗаМесяцКасса);
       
     ТабДокумент.Показать(Макет);
   
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск