Если товар находится на ответственном хранении либо отпускается по Гос. программе, то базовая, максимальная и минимальная розничные цены и процент надбавки не рассчитываются:
СтруктураРезультат.Вставить("ПроцентНаценкиРозница",0); Подсказка = Подсказка + Символы.ПС + " ПроцентНаценки = 0"; СтруктураРезультат.Вставить("ЦенаРасчРозн",ЦенаУчетная); Подсказка = Подсказка + Символы.ПС + " ЦенаРасчетнаяБезНДС = ЦенаУчетнаяБезНДС"; СтруктураРезультат.Вставить("ПроцентРозничнойНадбавки", 0); Подсказка = Подсказка + Символы.ПС + " ПроцентНадбавки = 0"; СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочееМинимальная",0); Подсказка = Подсказка + Символы.ПС + " ЦенаРасчетнаяМинимальнаяБезНДС = 0"; СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочее",ЦенаУчетная); СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочееМаксимальная",9999999.00); Подсказка = Подсказка + Символы.ПС + " ЦенаРасчетнаяМаксимальнаяБезНДС = 9999999.00"; СтруктураРезультат.Вставить("ЦенаБазРозн",ЦенаУчетная); Подсказка = Подсказка + Символы.ПС + " ЦенаБазоваяСНДС = ЦенаУчетная"; СтруктураРезультат.Вставить("ЦенаМаксРозн", 9999999.00); Подсказка = Подсказка + Символы.ПС + " ЦенаМаксимальнаяСНДС = 9999999.00"; СтруктураРезультат.Вставить("ЦенаМинРозн", 0); Подсказка = Подсказка + Символы.ПС + " ЦенаМинимальнаяСНДС = 0";
Для товара с признаком ЖНВЛП
Если закуплен товар у производителя, то
Если цена реестра и цена производителя находятся между ценой производителя (включая) и учетной ценой (включая)[ЦенаПроизводителя<= ЦенаРеестра и ЦенаПроизводителя <=ЦенаУчетная], то розничная цена рассчитывается по формуле:
ЦенаРасчРозн = Цел(100*((ЦенаПроизводителя*ПроцентДоходЖНВЛСРозн/100)+ЦенаУчетная))/100;
Если цена производителя находится между учетной ценой (не включая) и ценой реестра (включая)[ЦенаУчетная< ЦенаПроизводителя <=ЦенаРеестра], то розничная цена рассчитывается по формуле:
ЦенаРасчРозн = Цел(100*((ЦенаПроизводителя*ПроцентДоходЖНВЛСРозн/100)+ЦенаУчетная))/100;
Если цена производителя находится между ценой реестра (не включая) и учетной ценой (включая) [ЦенаРеестра< ЦенаПроизводителя <=ЦенаУчетная], то розничная цена рассчитывается по формуле:
ЦенаРасчРозн = Цел(100*((ЦенаРеестра*ПроцентДоходЖНВЛСРозн/100)+ЦенаУчетная))/100;
Если учетная цена находится между ценой реестра (включая) и ценой производителя (не включая)[ЦенаРеестра<= ЦенаУчетная < ЦенаПроизводителя], то розничная цена рассчитывается по формуле:
ЦенаРасчРозн = Цел(100*((ЦенаРеестра*ПроцентДоходЖНВЛСРозн/100)+ЦенаУчетная))/100;
Если цена реестра находится между учетной ценой (не включая) и ценой производителя (не включая)[ЦенаУчетная <ЦенаРеестра< ЦенаПроизводителя], то розничная цена рассчитывается по формуле:
ЦенаРасчРозн=Цел(100*((ЦенаРеестра*ПроцентДоходЖНВЛСРозн/100)+ЦенаУчетная))/100;
Максимальная розничная цена рассчитывается по формуле:
ЦенаМаксРозн = Цел(100*ЦенаРасчРозн*(1+СтавкаНДСПродажи/100))/100;
Если максимальная розничная цена больше 100 рублей, то базовая розничная цена приравнивается к ней по формуле:
ЦенаБазРозн = Цел(ЦенаМаксРозн);
Иначе, если максимальная розничная цена меньше или равна 100 рублям, то базовая розничная цена приравнивается к ней по формуле:
ЦенаБазРозн = ЦенаМаксРозн;
Процент розничной надбавки рассчитается по формуле:
(ЦенаБазРозн-ЦенаУчетная*(1+СтавкаНДСПродажи/100))/(ЦенаУчетная*(1+СтавкаНДСПродажи/100))*100
Минимальная розничная цена рассчитается по формуле:
0.01 + Цел(100 * ЦенаУчетная * (1 + СтавкаНДСПродажи/100)) / 100
Акционная цена встает при условии что, Цена акции больше 0, Цена акции меньше либо равна максимальной розничной цены и цена акции больше минимальной розничной цены[ЦенаАкции > 0 И ЦенаАкции <= СтруктураРезультат.ЦенаМаксРозн И ЦенаАкции >= СтруктураРезультат.ЦенаМинРозн]
Для товаров без признака ЖНВЛП
Учетная цена с НДС рассчитывается по формуле:
ЦенаУчетнаяСНДС = ЦенаУчетная * (1 + СтавкаНДСПродажи / 100);
Расчетная розничная цена без НДС рассчитывается по формуле:
ЦенаРасчРознБезНДС = Окр(ЦенаУчетная*(1+ПроцентДоходПрочееРозн/100),2);
Базовая розничная цена рассчитывается по формуле:
ЦенаБазРозн = Цел(Окр(ЦенаРасчРознБезНДС*(1+СтавкаНДСПродажи/100),2)+0.99);
Процент розничной надбавки рассчитывается по формуле:
ПроцентРозничнойНадбавки = (ЦенаБазРозн-ЦенаУчетная*(1+СтавкаНДСПродажи/100))/(ЦенаУчетная*(1+СтавкаНДСПродажи/100))*100;
Минимальная, расчетная, максимальная цены, наценка и надбавка рассчитываются по формуле:
СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочееМинимальная",ЦенаУчетная); Подсказка = Подсказка + Символы.ПС + " МинимальнаяЦенаБезНДС = ЦенаУчетнаяБезНДС"; СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочее",ЦенаРасчРознБезНДС); Подсказка = Подсказка + Символы.ПС + " ЦенаРасчетнаяОтДоходностиБезНДС = Окр(ЦенаУчетнаяБезНДС*(1+ПроцентДоходности/100),2)"; СтруктураРезультат.Вставить("ЦенаРасчРозницаПрочееМаксимальная",9999999.00); Подсказка = Подсказка + Символы.ПС + " МаксимальнаяЦенаБезНДС = 999999999"; СтруктураРезультат.Вставить("ЦенаРасчРозн",ЦенаБазРозн); Подсказка = Подсказка + Символы.ПС + " ЦенаРасчетнаяСНДС = Цел(Окр(ЦенаРасчетнаяОтДоходностиБезНДС*(1+СтавкаНДСПродажи/100),2)+0.99)"; СтруктураРезультат.Вставить("ПроцентНаценкиРозница",ПроцентДоходПрочееРозн); Подсказка = Подсказка + Символы.ПС + " ПроцентНаценки = ПроцентДоходности"; СтруктураРезультат.Вставить("ПроцентРозничнойНадбавки",ПроцентРозничнойНадбавки); Подсказка = Подсказка + Символы.ПС + " ПроцентНадбавки = (БазоваяЦенаСНДС-ЦенаУчетнаяБезНДС*(1+СтавкаНДСПродажи/100))/(ЦенаУчетнаяБезНДС*(1+СтавкаНДСПродажи/100))*100)"; СтруктураРезультат.Вставить("ЦенаБазРозн",ЦенаБазРозн); Подсказка = Подсказка + Символы.ПС + " БазоваяЦенаСНДС = ЦенаРасчетнаяСНДС"; СтруктураРезультат.Вставить("ЦенаМаксРозн", 9999999.00); Подсказка = Подсказка + Символы.ПС + " МаксимальнаяЦенаСНДС = 99999999";
Для наркотических препаратов минимальная розничная цена рассчитывается по формуле:
0.01 + Цел(100 * ЦенаУчетная * (1 + СтавкаНДСПродажи/100)) / 100;
Для наркотических препаратов базовая розничная цена рассчитывается по формуле:
Окр(ЦенаРасчРознБезНДС*(1+СтавкаНДСПродажи/100),2)
Для наркотических препаратов Акционная цена встает при условии что, Цена акции больше 0, Цена акции меньше либо равна максимальной розничной цены и цена акции больше минимальной розничной цены[ЦенаАкции > 0 И ЦенаАкции <= СтруктураРезультат.ЦенаМаксРозн И ЦенаАкции >= СтруктураРезультат.ЦенаМинРозн]
Если товар не является ЖНВЛП и не является наркотическим препаратом, то минимальная наценка и минимальная розничная цена рассчитывается по формуле:
МинНаценка = Константы.ФАРМ_МинимальныйПроцентНаценкиРозничнойЦены.Получить(); СтруктураРезультат.Вставить("ЦенаМинРозн", МинНаценка/100*ЦенаУчетнаяСНДС + ЦенаУчетнаяСНДС);
Добавить комментарий