Импорт баз данных
Для импорта базы рассылки в формате MS Excel или DBF (а также любого другого формата, поддерживаемого MS Excel), создайте заказ, в который необходимо импортировать, потом в главном меню основного окна программы выберите пункт «Связь» - «Импорт БД из Excel» (необходимо наличие прав создания почтовых заказов). Откроется окно следующего вида:
В окне импорта необходимо выбрать заказ, в который нужно импортировать базу, шаблон загрузки, а также указать имя файла-источника, из которого необходимо загружать.
Редактирование шаблонов доступно путем нажатия на кнопку «Шаблоны…».
Шаблон состоит из заголовка, который в себя включает название шаблона, номер первой загружаемой строки в файле, а также условие загрузки каждой конкретной строки (номер первой строки и условие загрузки может задаваться формулами), и строк описания значений, помещаемых в каждое конкретное поле базы данных адресов. Строка состоит из названия поля (кратко по-английски), описания (развернуто по-русски), значения по-умолчанию, и значения. Если поле «значение» пустое – система использует значение поля «значение по-умолчанию». Поля «значение» и «значение по-умолчанию» описывают преобразования данных на внутреннем языке формул.
Описание языка формул:
- Константы: константы бывают целочисленными, дробными и строковыми. Значения целочисленных и дробных констант указываются «как есть», а строковые – в одинарных кавычках. При этом, если внутри строковой константы встречается символ одинарной кавычки он должен быть задвоен, для указания интерпретатору того, что он не является признаком конца константы.
- Логические операции: >, <, =, ! - Больше, меньше, равно, не равно.
- Арифметические операции: +, -, *, /
- Операция конкатенации строк: +
Условный оператор: IF(a,b,c) или IF(a,b) – В первом случае возвращает b, если a истинно (не равно нулю или пустой строке), иначе – c. Во втором случае – возвращает a, если оно истинно, иначе – b.
- Функции:
UPCASE(s) – возвращает строку s в верхнем регистре.
LCASE(s) – возвращает строку s в нижнем регистре.
LEN(s) – возвращает количество символов в строке s.
POS(s, substr) – возвращает номер первого символа первого включения подстроки substr в строку s, возвращает 0, если включения подстроки отсутствуют.
PARAM(s, i) – возвращает i-й элемент строки s, разделенной запятыми на элементы.
LEFT(s, i) – возвращает i первых символов строки s.
RIGHT(s, i) – возвращает i последних символов строки s.
REPLACE(s, s1, s2) – возвращает строку s, в кот. все включения подстроки s1 заменены строкой s2 (не чувствительно к регистру).
REMSPACE(s) – возвращает сроку s без начальных и конечных запятых и пробелов, а также начальных точек.
INT(v) – возвращает значение типа “целое”, приводя вариантное значение v к числовому типу, а затем округляя его. В том числе используется как функция округления.
FLOAT(v) – возвращает значение типа “число”, приводя вариантное значение v к числовому типу, переводя в число цепочку символов до первого нецифрового символа (либо точки или запятой).
ROUNDUP(f) – округляет число f до ближайшего большего по модулю целого числа.
ROUNDDN(f) – округляет число f до ближайшего меньшего по модулю целого числа.
STR – возвращает значение типа “строка”, приводя вариантное значение v к строковому типу.
QUOTEDSTR(s) – квотирует строку s символом «’» (одинарная кавычка). Возвращает строку s, помещенную между квотирующими символами, при этом все вхождения в строку s квотирующего символа задваиваются.
MakeAddress(s) – возвращает значение, полученное путем преобразований адреса s для приведения его к внутреннему формату программы. В процессе преобразования до нескольких раз происходит замена буквосочетаний по таблице замены (ее редактирование доступно по нажатию кнопки «Автозамена»), поиск улиц по базе КЛАДР с точностью до одного знака, и некоторые другие операции, нацеленные на исправление ошибок в написании адреса.
ReplaceAddress(target, address) – Возвращает адрес последней доставки корреспонденции получателю target по адресу address от текущего клиента. При отсутствии такой доставки, возвращает address.
GetStationCode(s) – возвращает код станции метро, ассоциированный в системе с адресом s. В случае невозможности идентифицировать станцию метро – возвращает 1.
GetPrice – (в разработке) возвращает рассчитанное значение цены, на основе прайс-листа клиента и данных о корреспонденции.
GetKurierByStation(i) – возвращает код курьера, ассоциированного со станцией метро с кодом i.
GetNewNumber – Возвращает не занятый номер единицы корреспонденции в текущем заказе.
FileName – Возвращает имя загружаемого файла.
Recno – Возвращает номер текущей строки загружаемого файла (от первой загружаемой строки).
Reccount – Возвращает количество строк, найденных в файле (от первой загружаемой строки).
Field(table, id, field) – Возвращает значение поля field таблицы table, записи с идентификатором id. В случае отсутствия записи удовлетворяющей условиям, возвращает Null. Список таблиц можно получить, выполнив запрос (см. раздел «SQL-отчеты»)“show tables from courier”, а список полей таблицы можно получить, выполнив запрос “describe table”, где table – название таблицы (необходимо наличие прав администрирования).
Null – Возвращает пустое значение.
Да, True, Нет, False – константы, соответствующие булевым значениям.
A..Z – Ссылки на соответствующие столбцы загружаемого файла. Возможно использование как функции, с указанием целочисленного параметра – сдвига строки относительно текущей. Например d(-2) вернет значение столбца D на 2 строки выше текущей.
Также возможно использование в формуле ссылки на значение другого поля, просто указав его название (английское), при этом в случае возникновения цикличных ссылок они разрешаются путем возвращения пустого (или нулевого) значения поля, на котором образовался цикл.
Например:
Address=b (полю «адрес» присваивается значение столбца “b”) Station=GetStationCode(address) (полю «код станции метро» присваивается рассчитанное значение кода метро из данных в поле «адрес») To_Kurier=GetKurierByStation(station) (полю «Выдать курьеру» присваивается значение, соответствующее коду станции метро, присвоенному полю «код станции метро») |