• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы SeverBap
  • Дата начала
S

SeverBap

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

puh14

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

SeverBap

Смотрели все, - всеми сообщениями и всем бюро, всеравно такая борода!!! :(
 
K

KiR

Слух, а что будет если ты сделаешь так:
ПоследняяСуммаУстановки=Цел(ОКР(ДробныеОстатки));
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!