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