Форум UnitCMS

Автоматизация Import/Export?

nik-taraz

Автоматизация Import/Export?
« : Декабрь 10, 2012, 10:40:06 pm »
Здравствуйте Уважаемые форумчане!

Вопрос:
Есть программа для ведения розничной торговли (keremet2030.kz/kassa), хочу организовать автоматическую выгрузку нового товара, цен и остатков, не прибегая к админке. Предположительно программа формирует xls прайс, заливает его по FTP на сайт, и отправляется некий post запрос и происходит обновление.
Как это реализовать?
 

Юрий

  • ****
  • 307
  • +69/-0
    • Во-Сток
Re: Автоматизация Import/Export?
« Ответ #1 : Декабрь 12, 2012, 02:02:14 am »
ну нужно сделать php скрипт который при получении этого запроса выполнит импорт...
 

nictboom

Re: Автоматизация Import/Export?
« Ответ #2 : Декабрь 12, 2012, 02:15:42 am »
Цитировать
Предположительно программа формирует xls прайс, заливает его по FTP на сайт
и предполагаю, возможно, еще крон..
 

nik-taraz

Re: Автоматизация Import/Export?
« Ответ #3 : Декабрь 12, 2012, 11:15:42 pm »
Всем спасибо, решение нашлось. никаких скриптов писать не нужно, ничего заливать по FTP тоже не надо (Кроме изображений). Все делается посредством Post запросов. Если кому интересно, могу выложить код  ;)
 

nictboom

Re: Автоматизация Import/Export?
« Ответ #4 : Декабрь 13, 2012, 04:50:21 am »
а давайте. и Вам как "отдушина", и нам интерес потешить. авось и в релиз "пристроят". ;)
ток все одно не понял полного объема задачи.
 

nik-taraz

Re: Автоматизация Import/Export?
« Ответ #5 : Декабрь 13, 2012, 11:55:06 am »
Программа на дельфе, в ней ведется учет товара. дописал возможность выгрузки базы в XLS файл со структурой для импорта в Shop script. как доделаю, выложу в свободное пользование =)
Также программа парсит гугль на изображения и автоматически делает ресайз для интернет магазина
Пост запросы формируем следующим образом:
- Авторизация и загрузка прайса:
procedure TForm1.btn4Click(Sender: TObject);
var
  http:TidHttp;
  CooM:TidCookieManager;
  data:TStringList;
  page, id, name:String;
  fs:TFileStream;
  i:integer;
begin
  http:=TIdHTTP.Create(Self);
  data :=TStringList.Create;
  CooM:=TidCookieManager.Create(http);
  http.AllowCookies:=true;
  http.CookieManager:=CooM;
  http.HandleRedirects:=true;
  pnl2.Caption := 'Соединение...';
  data.Add('authorize=1');
  data.Add('login=admin');
  data.Add('password=123');
  Page:= http.Post('http://АДРЕС_МАГАЗИНА/access_admin.php?', data);
  pnl2.Caption := 'Авторизация...';


  if Pos('Логин / Login :',page) <> 0 then
  begin
    MessageDlg('Ошибка авторизации',  mtInformation, [mbOK], 0);
    pnl2.Caption := 'Ошибка авторизации!';
    data.Free;
    Coom.Free;
    http.Free;
    Exit;
  end;
  data.Clear;
  pnl2.Caption := 'Загрузка прайса, пожалуста подождите...';
  data.Add('dpt=catalog');
  data.Add('sub=import');
  data.Add('export=yes');
  data.Add('type=xls');

  fs := TFileStream.Create(ExtractFilePath(Application.ExeName) + 'Prise.xls',fmCreate);
  http.Post('http://АДРЕС_МАГАЗИНА/admin.php?', data, fs);
  if fs.Size = 0 then
    begin
    MessageDlg('Ошибка загрузки файла',  mtInformation, [mbOK], 0);
    pnl2.Caption := 'Ошибка загрузки  прайса!';
    data.Free;
    Coom.Free;
    http.Free;
    fs.Free;
    Exit;
    end;

  fs.Free;
  data.Free;
  Coom.Free;
  http.Free;

Таким же способом отправляем пост запрос на загрузку подготовленного прайса.
 

pehser

Re: Автоматизация Import/Export?
« Ответ #6 : Декабрь 13, 2012, 12:38:31 pm »
как доделаете исходники тоже дайте может преведу на lazarus тогда прога получится мульти системная (windows, linux, MACOS)
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

nik-taraz

Re: Автоматизация Import/Export?
« Ответ #7 : Декабрь 13, 2012, 01:49:08 pm »
pehser,
а имеется ли возможность импорта в csv а не в xls. если да, тогда получится мультиситемная прога. (xls в delphi или в том же лазэрус - это OLE объект, а это значит требуется установленный excel.)
пока что мои попытки получить CSV файл от магазина закончились этим:
<!--error--><br />
<b>Fatal error</b>:  Class 'PHPExcel_Calculation' not found in <b>Z:\home\k46\www\core\excel\Classes\PHPExcel\Writer\CSV.php</b> on line <b>130</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
« Последнее редактирование: Декабрь 13, 2012, 01:57:03 pm от nik-taraz »
 

pehser

Re: Автоматизация Import/Export?
« Ответ #8 : Декабрь 13, 2012, 02:21:18 pm »
pehser,
а имеется ли возможность импорта в csv а не в xls. если да, тогда получится мультиситемная прога. (xls в delphi или в том же лазэрус - это OLE объект, а это значит требуется установленный excel.)
пока что мои попытки получить CSV файл от магазина закончились этим:
<!--error--><br />
<b>Fatal error</b>:  Class 'PHPExcel_Calculation' not found in <b>Z:\home\k46\www\core\excel\Classes\PHPExcel\Writer\CSV.php</b> on line <b>130</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>

CSV выгрузить нет а воз загружка должна работать формат весь не помню писалось под формат premium с некоторыми модификациями
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

 

Sitemap 1 2 3 4 5