Ilichg
13.07.2016, 10:40
Есть проблема. в 1с 8.3 УТ1.1 необходимо сделать округление итоговой суммы со скидкой. Само округление я сделал, но оно работает только с проведенным документом. не могу понять где нужно поправить в конфигураторе чтобы при оформлении заказа покупателя со скидкой работало округление до целого числа (т.е. без копеек). вот то что я сделал
Процедура РассчитатьСуммуТабЧасти(С� �рокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено) Экспорт
ИмяТабличнойЧасти = ОбщегоНазначения.Получить� �мяТабличнойЧастиПоСсылке� �аСтроку(СтрокаТабличнойЧа сти);
МетаданныеДокумента = ДокументОбъект.Метаданные( );
Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Коли� �ество;
СуммаСкидки = 0;
Если (СпособРасчета = Неопределено)
Или (СпособРасчета = Перечисления.СпособРасчет� �СуммыДокумента.СУчетомВсе хСкидок)
Или (СпособРасчета = Перечисления.СпособРасчет� �СуммыДокумента.БезУчетаРу чнойСкидки) Тогда
Если ОбщегоНазначения.ЕстьРекв� �зитТабЧастиДокумента("ПроцентАвтоматическихСкид ок", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
СуммаСкидки = Сумма * СтрокаТабличнойЧасти.Проц� �нтАвтоматическихСкидок / 100;
КонецЕсли;
Если (СпособРасчета <> Перечисления.СпособРасчет� �СуммыДокумента.БезУчетаРу чнойСкидки)Тогда
Если ОбщегоНазначения.ЕстьРекв� �зитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.Проц� �нтСкидкиНаценки / 100);
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрокаТабличнойЧасти.Сумм� � = Сумма - СуммаСкидки;
СтрокаТабличнойЧасти.Сумм� � = Окр(СтрокаТабличнойЧасти.С умма, 0);
КонецПроцедуры // РассчитатьСуммуТабЧасти()
Процедура РассчитатьСуммуТабЧасти(С� �рокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено) Экспорт
ИмяТабличнойЧасти = ОбщегоНазначения.Получить� �мяТабличнойЧастиПоСсылке� �аСтроку(СтрокаТабличнойЧа сти);
МетаданныеДокумента = ДокументОбъект.Метаданные( );
Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Коли� �ество;
СуммаСкидки = 0;
Если (СпособРасчета = Неопределено)
Или (СпособРасчета = Перечисления.СпособРасчет� �СуммыДокумента.СУчетомВсе хСкидок)
Или (СпособРасчета = Перечисления.СпособРасчет� �СуммыДокумента.БезУчетаРу чнойСкидки) Тогда
Если ОбщегоНазначения.ЕстьРекв� �зитТабЧастиДокумента("ПроцентАвтоматическихСкид ок", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
СуммаСкидки = Сумма * СтрокаТабличнойЧасти.Проц� �нтАвтоматическихСкидок / 100;
КонецЕсли;
Если (СпособРасчета <> Перечисления.СпособРасчет� �СуммыДокумента.БезУчетаРу чнойСкидки)Тогда
Если ОбщегоНазначения.ЕстьРекв� �зитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.Проц� �нтСкидкиНаценки / 100);
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрокаТабличнойЧасти.Сумм� � = Сумма - СуммаСкидки;
СтрокаТабличнойЧасти.Сумм� � = Окр(СтрокаТабличнойЧасти.С умма, 0);
КонецПроцедуры // РассчитатьСуммуТабЧасти()