Quad.Wiki

Выгрузка рекомендованной цены

В основном прайсе нету такой колонки Рекомендованная цена, она есть только в прайсах поставщиков, поэтому выгрузить просто так рекомендованную цену нельзя - рекомендованных цен у товара может быть несколько разных от разных поставщиков. В основном прайсе хранится отклонение вашей розничной цены от минимальной рекомендованной цены среди выбранных в правиле наценки поставщиков (в правиле наценки, по которому расценен товар). Т.е. если в в правиле не выбран какой-то поставщик с РЦ, то и отклонение будет без учета РЦ этого поставщика, и если ни у кого другого нет РЦ, то отклонения программа не будет показывать, хотя у товара есть привязанный поставщик с РЦ. Поэтому вам нужно определиться какую РЦ вы хотите видеть, только ту, отклонение которой сформировано с учетом правил наценки либо отклонение от любого прайса в котором есть РЦ по этому товару. По умолчанию после расценки отображается отклонение РЦ от любого поставщика, в том числе от не выбранных в наценке, но можно показывать только от выбранных, для этого в правиле наценки нужно установить эту птичку:


После расценки товара во вкладке Продукция вы видите колонку Откл. РЦ - именно с учетом этого отклонения можно выгрузить какое-то значение РЦ, минимальное среди выбранных при наценки прайсов.


Чтобы выгрузить значение рекомендованной цены, вам нужно добавить в экспорт следующие колонки:


Тип поля Другое поле, значения формулы для первой колонки rc_state, для второй rc_diff - в результате в колонку 10 выгрузится признак есть у товара РЦ или нет, а в 11-ую отклонение от РЦ. Теперь, чтобы получить исходное значение минимальной среди всех прайсов рекомендованной цены, нужно от вашей розничной цены отнять отклонение РЦ у тех товаров где есть РЦ. Для этого вам нужно добавить такой макрос в Обработку после экспорта и заменить в нем выделенные цифры (индексы колонок) на те что используются в вашем шаблоне. В моем примере своя розничная цена выгружается в колонку 9. Итоговая рекомендованная цена в моем примере будет записана в колонку 10.

for i = 2 to sheets(1).usedrange.rows.count
  if sheets(1).cells(i, 10).value = 0 then
    sheets(1).cells(i, 10).value = ""
  else
    if (sheets(1).cells(i, 11).value <> "") and (sheets(1).cells(i, 11).value <> 0) then
       sheets(1).cells(i, 10).value = sheets(1).cells(i, 9).value - sheets(1).cells(i, 11).value
    else
       sheets(1).cells(i, 10).value = sheets(1).cells(i, 9).value 
    end if
  end if
next i

В макросе вам нужно заменить цифры 9, 10 и 11 на соответствующие этим полям в вашем шаблоне экспорта

Если вы открыли окно Обработка после экспорта и у вас там уже есть какой-то макрос и в нем есть такие строки for i = 2 to sheets(1).usedrange.rows.count , то вам нужно после этой строки вставить не целиком весь макрос, а только его часть:

  if sheets(1).cells(i, 10).value = 0 then
    sheets(1).cells(i, 10).value = ""
  else
    if (sheets(1).cells(i, 11).value <> "") and (sheets(1).cells(i, 11).value <> 0) then
       sheets(1).cells(i, 10).value = sheets(1).cells(i, 9).value - sheets(1).cells(i, 11).value
    else
       sheets(1).cells(i, 10).value = sheets(1).cells(i, 9).value 
    end if
  end if