Результаты тестирования получились такими:
Начальные условия:
1. Архив базы сделан.
2. Поставщик(далее поставщик_для_теста) и соответственно его прайс(далее прайс_для_теста) для тестирования выбраны.
Идентификация:
Тест1
1. Открываю рабочую базу, архив которой я предварительно сделал.
2. Подключаю прайс_для_теста к базе.(на самом деле все настроено так, что нужно всего лишь скопировать прайс_для_теста в папку SupplyPrices в корне базы)
3. Выбираю поставщик_для_теста и произвожу импорт прайс_для_теста.
4. Выбираю всех поставщиков и открываю все товары.
5. Произвожу первую пакетную обработку.(я все время запускаю "принудительную пакетную обработку", т.к. мне так посоветовали сделать в службе технической поддержки, когда я как то давно столкнулся с тем, что некоторые дополнительные цены у меня не рассчитались)
6. Произвожу поиск по фразе "MYSTERY MCM 5016" и наблюдаю картину как на рис 1.JPG

- 1.jpg (31.45 КБ) 3912 просмотров
смысл которой в том, что цена получилась вообще не понятно откуда взятая, т.к. цена должна быть в диапазоне между ценой из столбца "ЦенаМин" и ценой из столбца "ЦенаМакс". Цена может быть немного больше, т.к. она после расчетов округляется до десятых в большую сторону.
7. Произвожу вторую пакетную обработку.
8. Произвожу поиск по фразе "MYSTERY MCM 5016" и наблюдаю картину как на рис 2.JPG

- 2.jpg (46.67 КБ) 3912 просмотров
кстати на этой картинке за одно захватил СТИПП, чтобы Вам стало видно какие цены у поставщика по этим товарам. На картинке видно, что цены рассчитались верно.
А теперь нам предстоит определить почему цены рассчитались не верно при первой пакетной обработке.
Исследование:
Тест2
1. Создаю тестовую базу, очищаю папку и распаковываю туда ранее заготовленные архив базы и прайс_для_теста.
2. Открываю базу.
3. Выбираю поставщик_для_теста и произвожу импорт прайс_для_теста.
4. Выбираю всех поставщиков и открываю все товары.
5. Захожу в "Пакетная обработка данных -> Настройка рассчёта цен на основании цен конкурентов" и очищаю поле для ввода формулы для расчёта цены в учетной системе. Данная формула у меня сохранена в отдельном текстовом файле, так что я ее всегда могу скопировать и вставить обратно.
6. Произвожу первую пакетную обработку.
7. Цены в СТУС обновились правильно(рис 3.JPG)

- 3.jpg (35.81 КБ) 3912 просмотров
значит проблемы где то в формуле конкурентов.
8. Захожу в "Пакетная обработка данных -> Настройка рассчёта цен на основании цен конкурентов" и вставляю туда формулу, на всякий случай нажимаю кнопку "проверить формулу" - никаких ошибок не обнаружено.
9. Нажимаю кнопку ""Рассчитать и обновить цены в СТУС. По логике должен получиться результат идентичный результату получившемуся в тесте 1 пункт 6 см выше, т.е. результат с вообще непонятно откуда взятой ценой. А на самом деле получился результат изображенный на рис 4.JPG

- 4.jpg (45.18 КБ) 3912 просмотров
т.е. правильный.
В итоге получается, что если запускать пакетную обработку с введенной формулой расчёта цен на основании цен конкурентов, то цены с первого раза рассчитываются неверно и чтобы они рассчитались верно, нужно запускать обработку без введенной формулы, затем по окончании обработки вводить формулу и пересчитывать цены в СТУС в соответствии с этой формулой, либо делать 2 пакетные обработки подряд(а в некоторых случаях и три)
Как быть?