Я выгружаю на свой сайт базу товаров из Тирики, и пользуюсь стандартной функцией выгрузки номенклатуры товаров в csv файл. Если мне не изменяет память, там выгружается 14 столбцов, мне же необходимы из них лишь несколько. А именно id товара, группа, наименование, розничная цена, количество.
Одной кнопкой в Тирике так не сделать. Но в соседней теме писали, можно создать файлик autoexec.sql, кинуть его в папку с Тирикой, и при запуске программы он выполнится, и создаст экспортированный csv файл. А в самом файле уже прописать нужный запрос.
База программы - это SQLite база. Соответственно ее можно открыть любым просмотрщиком, и глянуть какие поля нужны для выгрузки.
Это все справедливо на версию Тирики с файловой БД
В результате я сформировал такой запрос в БД:
Код: Выделить всё
SELECT goods.id, good_groups.full_name, goods.name, goods.price, remainders.remainder FROM good_groups, goods, remainders WHERE goods.id = remainders.good_id AND goods.group_id = good_groups.id AND remainders.shop_id = 0
В принципе, если вам хватает этого, можно так и оставить. Мне нужна была максимальная автоматизация. Поэтому я пошел дальше.
На официальном сайте SQLite, которая позволяет работать с базами этого формата, я скачал сам бинарник (DLL файл) и тулзы, где и находится выполняемый exe.
Затем, все это нужно распаковать в одну папку. ну к примеру D:\SQLite. Для полной красоты я еще добавил этот путь в переменные среды, в параметр PATH, чтобы из любого места в командной строке написав sqlite3 можно было вызвать эту программу.
Ну так вот, данная программа естественно умеет также экспортировать данные в csv через консоль.
Нужно просто создать отдельно запускаемый bat-файл с кодом
Код: Выделить всё
sqlite3 -csv "C:/Program Files (x86)/Tirika Shop/shop.db" < aut.sql > D:/data.csv
Код: Выделить всё
.separator ";"
SELECT goods.id, good_groups.full_name, goods.name, goods.price, remainders.remainder FROM good_groups, goods, remainders WHERE goods.id = remainders.good_id AND goods.group_id = good_groups.id AND remainders.shop_id = 0 ORDER BY good_groups.full_name
Если вам такое интересно, пробуйте.