Stanleygoo
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброго времени суток! Конфигурация УТ 10.3.6.8 Понадобилось в документе "Реализация товаров и услуг" в табличную часть "Услуги" добавить реквизит "Коэффициент" типа число(15,2). Сумма должна расчитываться как: Код: Сумма = СтрокаТабличнойЧасти.ПроцентК * СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество; | вот код процедуры расчета суммы: Код: Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено) Экспорт ИмяТабличнойЧасти = ОбщегоНазначения.ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти); МетаданныеДокумента = ДокументОбъект.Метаданные(); // Stanleygoo begin Если МетаданныеДокумента.Имя = "РеализацияТоваровУслуг" Тогда Сумма = СтрокаТабличнойЧасти.ПроцентК * СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество; СуммаСкидки = 0; Иначе Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество; // Оригинал СуммаСкидки = 0; // Оригинал КонецЕсли; // Stanleygoo end Если (СпособРасчета = Неопределено) Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.СУчетомВсехСкидок) Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки) Тогда Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентАвтоматическихСкидок", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда СуммаСкидки = Сумма * СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок / 100; КонецЕсли; Если (СпособРасчета <> Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки)Тогда Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100); КонецЕсли; КонецЕсли; КонецЕсли; СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки; Сообщить(СтрокаТабличнойЧасти.Сумма); // Stanleygoo КонецПроцедуры // РассчитатьСуммуТабЧасти() | Проблема в том, что если цена = 1000, количество = 1, а коэффициент = 3, то в отладчике сумма = 3000, т.е. правильная и в табло выводиться 3000, а в строке таблицы сумма = 1000. Причем если выставить скидку = 1%, то сумма в строке таблицу = 990, в отладчике 2970... нужно чтобы учитывался коэффициент. Подскажите где я не прав. p.s.: понимаю, что задача проще некуда, но блин, застрял. все перепробовал... | Всего записей: 58 | Зарегистр. 16-10-2007 | Отправлено: 14:45 29-07-2009 | Исправлено: Stanleygoo, 15:01 29-07-2009 |
|