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