Open Class365 opened 10 years ago
Что сделал я Добавил после функции
// Товары
$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++;
}
Следующий код
//Доставка
$totals = $this->model_sale_order->getOrderTotals($orders_data['order_id']);
foreach ($totals as $total) {
if ($total['code']=='shipping') {
$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
'Ид' => ''
,'Наименование' => 'Доставка'
,'ЦенаЗаЕдиницу'=> $total['value']
,'Количество' => 1
,'Сумма' => $total['value']
);
}
}
К сожалению, не нашли функцию // Товары $products = $this->model_sale_order->getOrderProducts($orders_data['order_id']);
.......
Это в файле admin\model\tool\exchange1c.php Строка 70-86, после нее нужно вставить.
Спасибо, получилось. у нас это 114 строка и код немного другой. Но в итоге работает.
Только я единственное не подставил id, Думаю это в 1с идентификатор номенклатуры. Пока так оставил и у себя. Думаю можно его выцепить и потом уже подставлять.
Актуальность?
Все работает
//Доставка
$totals = $this->model_sale_order->getOrderTotals($orders_data['order_id']);
foreach ($totals as $total) {
if ($total['code']=='shipping') {
$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array(
'Ид' => ''
,'Наименование' => 'Доставка'
,'ЦенаЗаЕдиницу'=> $total['value']
,'Количество' => 1
,'Сумма' => $total['value']
);
}
}
При интеграции с OpenCart и загрузке заказов не передается сумма доставки, как следствие, сумма заказа не сходится. Возможно ли реализовать передачу суммы доставки заказа отдельной позицией?