07.06.2010 13:44
igor-f
 
Здравствуйте, уважаемые.

Я, скорее всего, буду делать сайт на Битриксе () для фирмы у которой установлена программа SuperMag на Оракле. Также, им нужна интеграция сайта с Супермагом (как минимум - выгрузка номенклатуры с остатками на сайт).
В связи с этим есть к Вам вопросы:

1) Поддерживает ли СуперМаг обмен данными в формате xml?

2) Если НЕТ, то в каких форматах он поддерживает обмен данными?

3) К кому лучше обратиться по вопросу - дописать в этой программе обмен данными (прайсы, и возможно - заказы) в XML формате (CommerceML)? Сколько это будет ориентировочно стоить и какие могут быть сроки?..
07.06.2010 13:47
John Doe
 
1) Да, но не в том, что ест 1С в большинстве конфигураций по умолчанию, т.е. надо будет "допилить"
3) Наверное сюда... Решение проблем с базой Супермага -
15.06.2010 09:40
AirAir
 
--1.Создаем директорию,куда будут выгружаться файл выгрузки

CREATE DIRECTORY DIR_BITRIKS AS 'C:\aa\';
GRANT Read ON DIRECTORY DIR_BITRIKS TO supermag;
GRANT WRITE ON DIRECTORY DIR_BITRIKS TO supermag;



--2.Сама процедура(в csv файл)
CREATE OR REPLACE PROCEDURE supermag.ma_bitrix IS
--V1 VARCHAR2(32767);
F1 UTL_FILE.FILE_TYPE;

cursor my_cur IS
SELECT
SMPRICES.ARTICLE as ident,
SMCARD.NAME as name,
SMPRICES.ARTICLE||'.jpg' as kartinka,
SMCARD.NAME as full_name,
SMCARD.NAME as opisanie,
SMPRICES.ARTICLE as kod,
SMPRICES.PRICE as price,
SMGOODS.QUANTITY as qty,
SMPRICES.ARTICLE as article,
'RUB' as RUB,
SAMEASUREMENT.ABBREV as measure,
SMCARD.country as country,
SVCARDTREESPLIT.NAME1 as name1,
SVCARDTREESPLIT.NAME2 as name2

FROM
SUPERMAG.SMPRICETYPES,
SUPERMAG.SMPRICES,
SUPERMAG.SMCARD,
SUPERMAG.SAMEASUREMENT,
SUPERMAG.SVCARDTREESPLIT,
SUPERMAG.SMGOODS
WHERE
SUPERMAG.SMPRICES.PRICETYPE = SUPERMAG.SMPRICETYPES.ID AND
SUPERMAG.SMPRICES.ARTICLE = SUPERMAG.SMCARD.ARTICLE AND
SUPERMAG.SMCARD.IDMEASUREMENT = SUPERMAG.SAMEASUREMENT.ID AND
SUPERMAG.SMCARD.IDCLASS = SUPERMAG.SVCARDTREESPLIT.ID AND
SUPERMAG.SMGOODS.ARTICLE = SUPERMAG.SMCARD.ARTICLE
AND (
SUPERMAG.SMPRICETYPES.ID = 5 AND
--SUPERMAG.SAMEASUREMENT.ID = 0 AND
SUPERMAG.SMGOODS.STORELOC = 4 AND
SUPERMAG.SMGOODS.QUANTITY > 0

)
ORDER BY
SUPERMAG.SVCARDTREESPLIT.NAME1,
SUPERMAG.SVCARDTREESPLIT.NAME2,
SUPERMAG.SMCARD.NAME;

BEGIN
-- In this example MAX_LINESIZE is less than GET_LINE's length request
-- so the number of bytes returned will be 256 or less if a line terminator is seen.
F1 := UTL_FILE.FOPEN('DIR_BITRIKS','Product_pitania.csv','w');


FOR ctl IN my_cur LOOP
UTL_FILE.putf(F1, ctl.ident||';'||ctl.name||';'||ctl.kartinka||';'||ctl.full_name||';'||ctl.opisanie||';'||ctl.kod||';'||ctl.price
||';'||ctl.qty||';'||ctl.article||';'||ctl.RUB||';'||ctl.measure||';'||ctl.country||';'||ctl.name1||';'||ctl.name2||'\n');
END LOOP;
UTL_FILE.FCLOSE(F1);

end;



--3.Создаем задание которое будет выполняться в нужное тебе время
begin
DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'bitrix',
job_type => 'stored_procedure',
job_action => 'supermag.ma_bitrix',
repeat_interval => 'FREQ=DAILY; BYHOUR = 9',
enabled => TRUE,
comments => 'bitrix'

);
end;


--Может быть проблема с кодировкой(насколько я знаю в битриксе используется UTF-8)
Часовой пояс GMT +3, время: 02:50.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.