[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Експорт с цмс в 1С
Nuzhser
Здравствуйте.
Мне надо произвести экспорт товаров и заказов из админки интернет-магазина на опенкарте в 1С. Кто нибудь может помочь?

_____________
Лэт ит би
Игорь_Vasinsky
ну тут 2 момента:

1. если нужен модуль - писать модуль
2. если нужен скрипт - писать скрипт

смысл в обоих моментах один

1. нужно знать в каком формате тебе нужны данные - xml, txt или ещё что нить
2. нужно знать структуру этих экспортных файлов - глянут как выглядит файл при выгрузки 1С

3. прошуршать по БД, вытащить данные о товарах с нужными критериями, о заказах и их состояниях за нужный период - ну и соотвтственно упаковать их в файл для экспорта в формате, описанном в п.2

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
HErATuB
Ну я обычно делаю через XML.
Nuzhser
Негатив, можеш скинуть пример файла который ты отдаеш в 1С?

_____________
Лэт ит би
HErATuB
Дать я не магу, ведь обычно это 2 программиста договариваются как структура будет XML. Т.е структуры уникальны.
Nuzhser
Сколько будет стоить сделать выгрузку заказов из опенкарта версии 1.5.1.2 в 1С

_____________
Лэт ит би
Игорь_Vasinsky
http://opencartforum.ru/files/file/762-opencart-exchange-1c/

https://www.google.ru/search?q=opencart+1c&...chrome&ie=UTF-8

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Nuzhser
Игорь спасибо. С этим модулем http://opencartforum.ru/files/file/762-opencart-exchange-1c/ что то не могу добиться результата. Соединение с сайтом есть но когда запускаю обмен данными выкидывает.

]Не удалось прочитать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!!!


Хотя заказы вроде сделал.

_____________
Лэт ит би
Игорь_Vasinsky
так загляни в код - найди где выводятся эти ошиьки - почему состыковка данных с БД не происходит - в чём проблема экспорта и т.д.

там же основная часть сделана уже - осталось допилить

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Nuzhser
Для выборки заказов идет следующий вызов
public function modeQueryOrders() {

$this->load->model('tool/exchange1c');

$orders = $this->model_tool_exchange1c->queryOrders(array(
'from_date' => $this->config->get('exchange1c_order_date')
,
'new_status' => $this->config->get('exchange1c_order_status')
,
'notify' => $this->config->get('exchange1c_order_notify')
,
'currency' => $this->config->get('exchange1c_order_currency') ? $this->config->get('exchange1c_order_currency') : 'руб.'
));
// Обновляем данные о последнем запросе заказов
$this->load->model('setting/setting');
$config = $this->model_setting_setting->getSetting('exchange1c');
$config['exchange1c_order_date'] = date('Y-m-d H:i:s');
$this->model_setting_setting->editSetting('exchange1c', $config);

echo iconv('utf-8', 'cp1251', $orders);

}


здесь $this->model_tool_exchange1c->queryOrders это функция
public function queryOrders($params) {

$this->load->model('sale/order');

$query = $this->db->query("SELECT order_id FROM `" . DB_PREFIX . "order` WHERE `date_added` >= '" . $params['from_date'] . "'");

$document = array();
$document_counter = 0;

if ($query->num_rows) {

foreach ($query->rows as $orders_data) {

$order = $this->model_sale_order->getOrder($orders_data['order_id']);

$date = date('Y-m-d', strtotime($order['date_added']));
$time = date('H:i:s', strtotime($order['date_added']));

$document['Документ' . $document_counter] = array(
'Ид' => $order['order_id']
,
'Номер' => $order['order_id']
,
'Дата' => $date
,'Время' => $time
,'Валюта' => $params['currency']
,
'Курс' => 1
,'ХозОперация' => 'Заказ товара'
,'Роль' => 'Продавец'
,'Сумма' => $order['total']
,
'Комментарий' => $order['comment']
);


$document['Документ' . $document_counter]['Контрагенты']['Контрагент'] = array(
'Ид' => $order['customer_id'] . '#' . $order['email']
,
'Наименование' => $order['payment_lastname'] . ' ' . $order['payment_firstname']
,
'Роль' => 'Покупатель'
,'ПолноеНаименование' => $order['payment_lastname'] . ' ' . $order['payment_firstname']
,
'Фамилия' => $order['payment_lastname']
,
'Имя' => $order['payment_firstname']
,
'Адрес' => array(
'Представление' => $order['shipping_address_1'].', '.$order['shipping_city'].', '.$order['shipping_postcode'].', '.$order['shipping_country']
)
,
'Контакты' => array(
'Контакт1' => array(
'Тип' => 'ТелефонРабочий'
,'Значение' => $order['telephone']
)
,
'Контакт2' => array(
'Тип' => 'Почта'
,'Значение' => $order['email']
)
)
);


// Товары
$products = $this->model_sale_order->getOrderProducts($orders_data['order_id']);

$product_counter = 0;
foreach ($products as $product) {
$id = $this->get1CProductIdByProductId($product['product_id']);

$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
'Ид' => $id
,'Наименование' => $product['name']
,
'ЦенаЗаЕдиницу' => $product['price']
,
'Количество' => $product['quantity']
,
'Сумма' => $product['total']
);


$product_counter++;
}

$data = $order;

$this->model_sale_order->addOrderHistory($orders_data['order_id'], array(
'order_status_id' => $params['new_status'],
'comment' => '',
'notify' => $params['notify']
));


$document_counter++;
}
}


$root = '<?xml version="1.0" encoding="utf-8"?><КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="' . date('Y-m-d', time()) . '" />';
$xml = $this->array_to_xml($document, new SimpleXMLElement($root));


return $xml->asXML();
}



Я вообще не могу получить этот вывод через file_put_contents();

_____________
Лэт ит би
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.