Ситуация такая - на категории товаров установлены наценки, так же имеются прайсы, в которых есть цены РРЦ и ОПТ(в программе это настроено) и есть формула:
ОКРУГЛЕНИЕ_КРАТНО(ЕСЛИ({ЦЕНА_РРЦ}>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)Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Есть какие мысли у кого, что в этой формуле может быть не так? Спасибо.
Об этом лучше всего спросить того, кто этого монстра создавалankl6ens писал(а):Есть какие мысли у кого, что в этой формуле может быть не так? Спасибо.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
