Получение целого числа

SeverBap

Well-known member
18.09.2007
451
0
#1
Есть процедура:
Код:
Процедура ПодсчетОстатков()
ДробныеОстатки=0; 
Сч=0;
ТаблицаДанных.ВыбратьСтроки();
Пока ТаблицаДанных.ПолучитьСтроку()=1 Цикл
Если ТаблицаДанных.Статус=6 Тогда
ДробныеОстатки=(ТаблицаДанных.СуммаУстановки-Цел(ТаблицаДанных.СуммаУстановки))*ТаблицаДанных.КоличествоСтрок();
//ДробныеОстатки=ДробныеОстатки+Число((ТаблицаДанных.СуммаУстановки-Цел(ТаблицаДанных.СуммаУстановки)));
ТаблицаДанных.СуммаУстановки=Цел(ТаблицаДанных.СуммаУстановки);
Сообщить(ДробныеОстатки); 
Сч=Сч+1;
КонецЕсли;
//Прервать;
КонецЦикла;
ПоследняяСуммаУстановки=Цел(ДробныеОстатки); 
Сообщить(ПоследняяСуммаУстановки);
ДробныеОстатки=ДробныеОстатки-ПоследняяСуммаУстановки;
ТаблицаДанных.ВыбратьСтроки();
Пока ПоследняяСуммаУстановки>=1 Цикл
ТаблицаДанных.ПолучитьСтроку();
Если ТаблицаДанных.Статус=6 Тогда 
Если ПоследняяСуммаУстановки>=1 Тогда
ТаблицаДанных.СуммаУстановки=ТаблицаДанных.СуммаУстановки+1;
ПоследняяСуммаУстановки=ПоследняяСуммаУстановки-1; 
ИначеЕсли ТаблицаДанных.СуммаОграничение>ТаблицаДанных.СуммаУстановки+1 Тогда
ТаблицаДанных.СуммаУстановки=ТаблицаДанных.СуммаУстановки+ПоследняяСуммаУст
ановки;
ПоследняяСуммаУстановки=ПоследняяСуммаУстановки-ПоследняяСуммаУстановки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Сообщить(ПоследняяСуммаУстановки);
КонецПроцедуры
Проблема в этом месте:
Код:
	ПоследняяСуммаУстановки=Цел(ДробныеОстатки); 
Сообщить(ПоследняяСуммаУстановки);
Допустим ДробныеОстатки=75, после применения метода Цел() ПоследняяСуммаУстановки=74!!!!!! - почему так и в чем причина????
:rolleyes:
 

puh14

Well-known member
11.07.2008
1 412
0
#2
Знаешь - я сам как-то видел что число (высчитывало по формуле, присваивалось реквизиту с 2 знаками , число вроде 217,555) при округлении до второго знака с выставленным правилом окпугления в меньшую сторону округляло в большую. Лечилось только ОКР() до присваивания значения. Мож тебе лучше не ЦЕЛ а ОКР?
Посмотри ещё
ПоследняяСуммаУстановки=Цел(ДробныеОстатки);
Сообщить("ДР " + ДробныеОстатки);
Сообщить(ПоследняяСуммаУстановки);
 

SeverBap

Well-known member
18.09.2007
451
0
#3
Смотрели все, - всеми сообщениями и всем бюро, всеравно такая борода!!! :(
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#4
Слух, а что будет если ты сделаешь так:
ПоследняяСуммаУстановки=Цел(ОКР(ДробныеОстатки));