Неверный подсчёт цен на основании конкурентов
Добавлено: 17 мар 2014 08:43
Ситуация такая - на категории товаров установлены наценки, так же имеются прайсы, в которых есть цены РРЦ и ОПТ(в программе это настроено) и есть формула:
ОКРУГЛЕНИЕ_КРАТНО(ЕСЛИ({ЦЕНА_РРЦ}>0, {ЦЕНА_РРЦ}, ЕСЛИ({МинЦенаКонкурентов}>0, ЕСЛИ({МинЦенаКонкурентов}>{РозничнаяЦенаСТУС}, {МинЦенаКонкурентов}-10000, ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<190000), {МинЦенаПоставщиков}+20/{КУРС_USD}, ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>190001) AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<285000), {МинЦенаПоставщиков}+(25/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>285001), {МинЦенаКонкурентов}-10000, ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<190000), {МинЦенаПоставщиков}+(15/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>190001) AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<285000) , {МинЦенаПоставщиков}+(20/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=>285001) , {МинЦенаПоставщиков}+(30/{КУРС_USD}), {МинЦенаПоставщиков}+900000))))))), {РозничнаяЦенаСТУС})), 100)
При импорте всех поставщиков, а затем при пракетной обработке формируется цена с учетом - если есть в прайсе каком либо РРЦ, то ставится эта цена, если ОПТ цена формируется на основании наценок и по формуле смотрится есть ли позиция у конкурента - если есть, то выбирается цена конкурента минус 10000. Но программа неправильно выбирает, пример - позиция есть по РРЦ и у поставщиков на основании цены ОПТ, выбралась цена поставщика ОПТ + наценка и не прировнялась к цене конкурента минус 10000. А должна была выбраться цена РРЦ. В настройках стоит выбирать минимальную цену поставщика. Может тут ошибка в формуле, но где мне не удаётся понять?
ОКРУГЛЕНИЕ_КРАТНО(ЕСЛИ({ЦЕНА_РРЦ}>0, {ЦЕНА_РРЦ}, ЕСЛИ({МинЦенаКонкурентов}>0, ЕСЛИ({МинЦенаКонкурентов}>{РозничнаяЦенаСТУС}, {МинЦенаКонкурентов}-10000, ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<190000), {МинЦенаПоставщиков}+20/{КУРС_USD}, ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>190001) AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<285000), {МинЦенаПоставщиков}+(25/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}>{МинЦенаПоставщиков} AND {МинЦенаКонкурентов}<{РозничнаяЦенаСТУС} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>285001), {МинЦенаКонкурентов}-10000, ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<190000), {МинЦенаПоставщиков}+(15/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}>190001) AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=<285000) , {МинЦенаПоставщиков}+(20/{КУРС_USD}), ЕСЛИ({МинЦенаКонкурентов}=<{МинЦенаПоставщиков} AND ({РозничнаяЦенаСТУС}-{МинЦенаПоставщиков}=>285001) , {МинЦенаПоставщиков}+(30/{КУРС_USD}), {МинЦенаПоставщиков}+900000))))))), {РозничнаяЦенаСТУС})), 100)
При импорте всех поставщиков, а затем при пракетной обработке формируется цена с учетом - если есть в прайсе каком либо РРЦ, то ставится эта цена, если ОПТ цена формируется на основании наценок и по формуле смотрится есть ли позиция у конкурента - если есть, то выбирается цена конкурента минус 10000. Но программа неправильно выбирает, пример - позиция есть по РРЦ и у поставщиков на основании цены ОПТ, выбралась цена поставщика ОПТ + наценка и не прировнялась к цене конкурента минус 10000. А должна была выбраться цена РРЦ. В настройках стоит выбирать минимальную цену поставщика. Может тут ошибка в формуле, но где мне не удаётся понять?