Skip to content
This repository has been archived by the owner on Nov 20, 2018. It is now read-only.

Передача суммы доставки #22

Open
Class365 opened this issue Apr 3, 2014 · 7 comments
Open

Передача суммы доставки #22

Class365 opened this issue Apr 3, 2014 · 7 comments
Milestone

Comments

@Class365
Copy link

Class365 commented Apr 3, 2014

При интеграции с OpenCart и загрузке заказов не передается сумма доставки, как следствие, сумма заказа не сходится. Возможно ли реализовать передачу суммы доставки заказа отдельной позицией?

@mrdjat
Copy link

mrdjat commented Apr 17, 2014

Что сделал я
Добавил после функции

            // Товары
            $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']
                );
            }

            }

@Class365
Copy link
Author

К сожалению, не нашли функцию
// Товары
$products = $this->model_sale_order->getOrderProducts($orders_data['order_id']);

.......

@mrdjat
Copy link

mrdjat commented Apr 18, 2014

Это в файле admin\model\tool\exchange1c.php
Строка 70-86, после нее нужно вставить.

@Class365
Copy link
Author

Спасибо, получилось. у нас это 114 строка и код немного другой. Но в итоге работает.

@mrdjat
Copy link

mrdjat commented Apr 18, 2014

Только я единственное не подставил id, Думаю это в 1с идентификатор номенклатуры. Пока так оставил и у себя. Думаю можно его выцепить и потом уже подставлять.

@ilia-maslakov ilia-maslakov added this to the 1.0 milestone Oct 8, 2014
@Nks
Copy link
Contributor

Nks commented Oct 21, 2014

Актуальность?

@Class365
Copy link
Author

Все работает

            //Доставка
                        $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']
                            );
                        }

                        }

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants