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

ЗиК 7.7 - сумма без копеек

Автор Neksion, 29 авг 2011, 16:04

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

Neksion

ЗиК 7.7
Подскажите пожалуйста как сделать чтоб в отчете сумма формировалась с копейками.
В запрсе есть строки:
        |Период с НачДата по КонДата;
        |Объект = ЖурналРасчетов.Зарплата.Объект;
        |ТекущаяЗапись = ЖурналРасчетов.Зарплата.ТекущаяЗапись;
        |Функция Начислено = Сумма(ПолучитьСуммуПоИсточнику(ТекущаяЗапись));

Функция ПолучитьСуммуПоИсточнику(ЗаписьИзЖурнала)
   
   ТаблицаРаспределения = СоздатьОбъект("ТаблицаЗначений");   
   ТаблицаРаспределения.НоваяКолонка("Шаблон","Справочник.ШаблоныПроводок",,,,,,);
   ТаблицаРаспределения.НоваяКолонка("Сумма","Число",15,,,);
   
   глПолучитьРаспределениеРезультата(ЗаписьИзЖурнала,ТаблицаРаспределения,,,,,,,1);
   Сумма = 0;
   ТаблицаРаспределения.ВыбратьСтроки();
   Пока ТаблицаРаспределения.ПолучитьСтроку() = 1 Цикл
      Если ТаблицаРаспределения.Шаблон.СчетКредита.ИсточникФинансирования = ИФ Тогда
         Сумма = Сумма + ТаблицаРаспределения.Сумма;
      КонецЕсли;
   КонецЦикла;
   
   Возврат Сумма;
   
КонецФункции // ПолучитьСуммуПоИсточнику

Я так понимаю что сумма без копеек уже получается при выполнении процедурки глПолучитьРаспределениеРезультата.

ОльгаН

А не указать ли Вам в формате новой колонки точность? ТаблицаРаспределения.НоваяКолонка("Сумма","Число",15,2,,);

Neksion

Это не помогает), пробовал

ОльгаН

Посмотрите ТаблицуРаспределения после при выходе из глПолучитьРаспределениеРезультата: ТаблицаРаспределения.ВыбратьСтроку(); с тем,чтобы убедиться в Вашем предположении.

Neksion

в процедуре все правильно с копейками, видимо при суммировании в запросе округляется

ОльгаН

Добрый день. Думаю, что Вы уже справились с проблемкой. На всякий случай, мое решение:    
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с НачДата по КонДата;
   |Объект = ЖурналРасчетов.Зарплата.Объект;
   |ТекущаяЗапись = ЖурналРасчетов.Зарплата.ТекущаяЗапись;
   |Группировка ТекущаяЗапись;
   
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;


   Начислено = 0;
   
   Пока Запрос.Группировка(1)=1 цикл
   Начислено = Начислено+ПолучитьСуммуПоИсточнику(Запрос.ТекущаяЗапись);   
      
   КонецЦикла;   
   

Neksion

Спасибо большое за ответы, проблему решил.

Теги:

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

Рейтинг@Mail.ru

Поиск