Где в программе увидеть группы из прайса?
Группы в прайсах нужны для удобного сопоставления товаров, например, чтобы можно было выбрать какую-то одну группу товаров и связывать ее + нужны для автоматического добавления товаров в свой прайс, по соответствию между вашими группами и группами поставщиков. Если ни одно ни второе вам не нужно, то не стоит тратить время на настройку групп из прайсов поставщиков, если там не какой-то простой вариант.
1. Перейти во вкладку Прайсы и выбрать слева прайс, справа над таблицей товаров должно быть установлено "1 выбранный"
2. В левом нижнем углу перейти во вкладку Группы
Как настраиваются группы?
Для настройки групп можно указать 2 колонки:
"Название группы" - это колонка, в которой находится название группы товара
"Название выш. гр." - это колонка, в которой находится вышестоящая (родительская) группа.
Если и то и то в прайсе находится в одной колонке, то загрузить целиком структуру групп можно только если в прайсе они сгруппированы средствами эксель или с помощью макроса, который разрабатывается специально под каждый прайс за дополнительную плату (т.е. нет одинакового макроса для всех прайсов).
Можно использовать так же "Код группы" - в этом случае в прайсе у каждого товара в какой-то колонке должен быть указан код группы, совпадающей с кодом здесь:
Код группы можно загружать так же, если в прайсе указаны и код группы и название группы.
Для управления загрузкой групп в настройках прайса есть пункт 6. Группы.
Здесь выбирается по какому полю загружаются группы, возможные варианты:
"Не загружать группы" - из прайса не будут загружаться группы вообще, а товар попадет в группу "Без группы"
"Загружать по коду" - можно выбирать, если в прайсе присутствует код группы и поставщик его не меняет.
"Загружать по наименованию" - используется для большинства прайсов, в этом случае при загрузке группа будет проверяться по названию, есть такая в базе или еще нет.
Птичка "Группа в отдельной строке" используется для указания программе места расположения групп в прайсе.
Если установить птичку, то программа будет в прайсе искать строки в которых есть текст в колонке "Название группы" и нет текста в колонке "Цена" или "Рекомендованная цена", если в прайсе есть только РРЦ.
Если убрать птичку, то группы будет программа искать в каждой строке, а не в отдельных строках без цены, пример:
Т.е. в строках всех товаров указано название группы.
Группы в прайсе сформированы стандартной группировкой Excel
Пример прайса:
1. Нужно указать поля "Название группы" и "Название выш. гр." (название вышестоящей группы).
Обычно в таких прайсах они в одной колонке, на скриншете выше это колонка B
2. Поставить птичку "Группа в отдельной строке"
3. Поставить птичку "Загружать дерево категорий"
4. Загружать прайс нужно начиная со строки, в которой идет первая группа
В результате вы получите группы 1 в 1 как они идут в прайсе
Группы в прайсе указаны в виде 2-х колонок, в одной группа, во второй - вышестоящая группа.
Пример прайса
в поле "Название группы" можно указать колонку С
в поле "Название выш. гр." - колонку B или A, или, так как в этом прайсе 3 колонки, то можно название вышестоящей группы объединить из двух колонок A+B
Загрузить дерево групп из 3х уровней при такой структуре прайса нельзя, только группа и вышестоящая группа. Или делать специальный макрос, который из 3х колонок сделает две, на разработку макроса понадобится 1 час, что на момент подготовки инструкции стоит 14$.
При настройке этого прайса нужно убрать так же птичку "Группа в отдельной строке", так как группы в этом прайсе указаны в каждой строке.
Группа в прайсе указана в отдельной строке, без группировки средствами Excel
пример прайса:
Как видно из примера - это такой же прайс как в первом пункте этой инструкции, только он не сгруппирован в экселе.
Из такого прайса можно загрузить только самую нижнюю группу. Вышестоящую группу не получится загрузить, так как нельзя определить к какому уровню группировки относится строка с группой.
Здесь указывается просто поле "Название группы" с колонкой B. Вот такие группы будут у товаров в программе:
Нужно так же установить птичку "Группа в отдельной строке".
В колонке B в данном прайсе находится и название группы в отдельных строках и название товара - нужно одну и ту же колонку указывать и в поле "Название группы" и "Название", т.е. ничего страшного, программа определит где группа, а где товар, по колонке цены. Там где цены нет (пусто в колонке) - будет считаться группа, где есть цена - товар.
Определение группировки по форматированию
Часто в прайсах указывают группы, которые не сгруппированы средствами Excel, но текст в каждом уровне имеет разное форматирование (разный шрифт, или цвет шрифта, или цвет ячейки, или разные отступы от начала ячейки). В этом случае группы можно загрузить, но для этого нужно составить макрос:
Вам так же понадобится этот файл, для определения форматирования в ячейках, скачайте его себе:
При открытии этого файла нужно разрешить ему работу с макросами
Что нужно делать:
1. Скопируйте текст макроса в блокнот, можете использовать для этого программу-блокнот с подсветкой синтаксиса, например Notepad++ (качайте самую последнюю версию)
Установите в нем синтаксис Visual Basic
В макросе укажите:
Количество уровней групп, которые собираетесь загружать из прайса
Номер колонки в которой цена товара
Номер колонки, в которую будет помещен код уровня группировки:
Здесь нужно указать какую-то пустую колонку, после всех колонок прайса. Указывайте с запасом, на случай, если поставщик добавит в прайс колонки, чтобы не переделывать макрос. Обычно указывается 20-ая колонка, если в прайсе колонок меньше.
Укажите номер строки, с которой начинается прайс (первая строка после шапки)
Дальше нужно для каждого уровня группировки указать блок, описывающий форматирование этого уровня в прайсе. То, что указано для примера ниже, нужно удалить и вставить в это место блоки, подготовленные через файл "Проверка формата ячейки".
2. Откройте файл "Проверка формата ячейки"
В этом файле нужно получить код для каждого уровня группировки. Пример прайса, в котором каждый уровень группировки обозначен с помощью различного цвета ячейки:
Копируем ячейку с названием первого уровня групп (если в экселе для названия группы объединено несколько ячеек, то их нужно разъединить)
после этого скопировать
и вставить в файл с макросом проверки, ввести номер уровня группы и нажать "Проверить"
в результате получим код, который нужно скопировать в макрос для прайса:
Копируем код вместо того, который был в макросе:
Аналогично делаем для второго и третьего уровней.
Для каждого уровня указываем номер колонки, в которой указано название группы этого уровня (в примере это колонка B, указывается номер 2)
Вот здесь должен быть указан уровень, разный в каждом блоке
Полученный результат копируется в настройку прайса
3. В настройке прайса указываются колонки "Название группы" и "Название выш. гр." - в моем примере одна и та же колонка B, в которой находятся группы в прайсе.
Указываем так же поле "Код вышестоящей группы" - это та колонка, в которую в макросе указали помещать номер уровня группы (20-ая колонка)
Устанавливаем птичку "Загружать дерево категорий"
Загружать группу по наименованию + птичка Группа в отдельной строке
Сохраняем настройки и пробуем загрузить. В моем примере получились такие настройки:
Если у вас сгруппировалось после этого только часть групп, то скорее всего есть группы, у которых форматирование отличается от того, которое задали в настройках, либо в прайсе есть еще дополнительный уровень групп, который вы не описали в макросе - такие группы станут первым уровнем. Если прайс делается вручную и каждый уровень групп выделяется цветом вручную, то скорее всего даже не стоит пытаться загрузить группы из такого прайса, потому что вручную могли наверняка использовать разные оттенки какого-то цвета для выделения группы и все их учесть невозможно.
Удаление всех групп из прайса
Если что-то загрузилось с группами не так, можно удалить только группы прайса, при этом оставить товар, чтобы не пропали привязки. Для этого во вкладке Прайсы выберите слева нужный прайс и нажмите эту кнопку: