- Общие сведения о программе
- Порядок работы с программой
- Обработчики прайс-листов
- Настройка вывода результата
- Автоконфигурация вывода
- Добавление конфигурации вывода
- Настройка формата создаваемого прайса (XLS / XLSX или CSV)
- Создание прайс-листа по шаблону
- Добавление столбцов для вывода
- Настройка имени файла для итогового прайс-листа
- Объединение строк в создаваемом прайс-листе
- Объединение одинаковых товаров из прайс-листов
- Поиск по прайс-листам
- Таблицы замены для прайс-листов
- Разное
- Переключение между наборами настроек
Источник данных для поля |
В качестве источника данных для поля мы можем выбрать:
- данные из заданного столбца таблицы
- вычисляемое или постоянное значение (т.н. «формула»)
Для большинства полей, мы выбираем источником поля значение какого-то столбца.
Зачастую, настройка поля на этом и заканчивается, если не требуется производить каких-либо преобразований значения.
Режим «Формула» предназначен для 2 задач:
- задать постоянное значение для всех строк прайса
(например, для поля Поставщик мы прописываем фиксированное значение — название поставщика) - сформировать поле, сцепив данные из произвольного текста, столбцов листа или других полей прайса
Пояснений требует лишь последний вариант, когда мы объединяем в поле несколько значений.
Что можно указывать (комбинировать) в параметре «формула»:
- произвольный текст
- коды столбцов вида {1}, {4} и т.п. (НОМЕР столбца в фигурных скобках)
при вычислении поля этот код столбца будет заменен значением из этого столбца - коды других полей этого обработчика вида {ИмяПоля}
при вычислении, этот код поля будет заменен ранее вычисленным в этом поле значением
ВНИМАНИЕ: тут важен порядок вычисления полей
Рассмотрим пример:
предположим, в обработчике настроены поля с названиями Бренд (из столбца 7 + обработка таблицей замен), Модель (из столбца 2) и Типоразмер (из столбца 4)
Наша задача — в поле Полное наименование собрать воедино эти три значения, добавив перед ними текст «Автошина»
В этом случае, «формула» будет иметь вид Автошина {Бренд} {Модель} {Типоразмер}
Значений этих полей будут склеены через разделитель "пробел" (разделитель может быть любым, например, мы можем написать формулу {Ширина}/{Профиль} R{Диаметр} для поля Типоразмер)
Почти аналогичный результат даст формула Автошина {7} {2} {Типоразмер}, в этом случае значения будут браться не из вычисленных полей, и напрямую из файла.
В чём разница? Если в настройках поля Модель у нас берутся данные из столбца 2, и никакие дополнительные обработки значения не производятся, — то нет никакой разницы, использовать в формуле {2} или {Модель}
Но если для поля Бренд у нас к значению столбца 7 применяется таблица замен (для коррекции написания брендов), то значения {7} и {Бренд} будут отличаться.
Рассмотрим ещё один пример формулы, для формирования описания товара из нескольких столбцов.
Допустим, у нас в прайсе есть цвет товара в столбец 5, размер товара в столбец 6, и материал в столбце 7, причем некоторые значения пустые (не указаны)
Цвет | Размер | Материал |
---|---|---|
синий | 2XL | хлопок |
зелёный | эластан | |
XL | шерсть | |
розовый | 2XL |
Требуется сформировать описание вида синий цвет, размер 2XL, материал: хлопок
Если мы используем формулу {5} цвет, размер {6}, материал: {7},
то для некоторых строк мы получим описание вида цвет, размер , материал: хлопок
Чтобы исключить подписи к пустым столбцам, можно использовать расширенный вариант кода столбца вида {НомерСтолбца~ТекстДоЗначения~ТекстПослеЗначения}
Здесь, ТекстДоЗначения и ТекстПослеЗначения будут добавлены только к НЕПУСТЫМ значениям ячеек
(разделителем значений выступает символы тильда ~)
Формула примет вид {5~~ цвет}{6~, размер ~}{7~, материал: ~}
В этом случае, суффикс « цвет» (с пробелом) добавится только после непустого значения цвета, а префикс «, размер » будет добавлен, только если в таблице указан размер.
Тогда, если размер пропущен, описание получится такого вида: синий цвет, материал: хлопок
- Добавить комментарий
- 3777 просмотров
Комментарии
Иван, с конструкцией {НомерСтолбца ~ТекстДоЗначения ~ТекстПослеЗначения} это не получится, скорее всего (в программе это не предусмотрено)
Можно в самом вычисляемом поле количество_комплектов, при помощи функций обработки, дописывать текст до и после
(пользуясь тем, что к пустому значению текст до и после добавлен не будет)
Ну либо создать еще одно вычисляемое поле количество_комплектов_с_текстом, взять в него данные из количество_комплектов, и добавить функцию обработки.
Чтобы исключить подписи к пустым столбцам, можно использовать расширенный вариант кода столбца вида {НомерСтолбца~ТекстДоЗначения~ТекстПослеЗначения}
Здесь, ТекстДоЗначения и ТекстПослеЗначения будут добавлены только к НЕПУСТЫМ значениям ячеек
(разделителем значений выступает символы тильда ~)
С "НомерСтолбца" все понятно, но это есть исходные данные требующие обработки. Как можно подставить в эту формулу вместо номера столбца вычисленное значение (допустим цены) из временного поля #цена_комплекта, чтоб если цена комплекта отсутствует, то поле оставалось пустым?
Поясню что надо иметь в итоге в одном поле итогового прайса в полной раскладке:
|Доступные варианты поставки|Комплект из|3|штук|1200| - своего рода микроразметка в одном поле для последующей загрузки данных в БД магазина, на сайте будет выглядеть так
Доступные варианты поставки
Комплект из 3 штук
Цена 1200 руб.
В представленном итоговом поле количество "3" является вычисляемым значением, как и цена "1200" тоже вычисляемая. Остальной текст является подстановочным и не нужен в случае отсутствия
Я вижу реализацию так:
{#количество_комплектов~|Доступные варианты поставки|Комплект из|~|штук|}{#цена_комплекта~~}
Но почему-то это не работает((
Может подскажете какими средствами реализовать?
p.s.Формулой Эксель получается вывести если формировать итоговый прайс в формате Эксель, но выгружать прайс надо в CSV.
И спасибо за ответ на мой предыдущий вопрос, поставщик разделил прайсы по моей просьбе и программа справляется.