Слетают Характеристики При Обновлении

Доброго дня!

Так как у нас своеобразно построена база товаров в 1С - стандартным аддоном невозможно пользоваться, и пишу свой кроновский скрипт.

Проблема вот в чем:

код на данный момент (интересует этот кусок)

	if ($product_id) {
	    $product_data_out = array();
            $product_data_out = fn_get_product_data($product_id, $auth);
            $product_data_out['amount'] = $product_data_in['amount'];
            $product_data_out['price'] = floatval($price);
            $product_data_out['base_price'] = floatval($price);
            fn_print_r($product_data_out);
            $product_data_out['status'] = $product_data_out['main_category'] == 1 ? 'H' : 'A';
            fn_update_product($product_data_out, $product_id, $product_data_out['lang_code']);
	} else {
            fn_update_product($product_data_in, $product_id, CART_LANGUAGE);
	}

то есть предварительно из получаемых данных формируется массив product_data_in. Если получаю product_id - то есть если товар есть в базе - через fn_get_product_data получаю данные о товаре, меняю на нужные значения некоторые поля, и с fn_update_product вношу изменения.

Если product_id не находится - пишу новый товар в определенную категорию.

Проблема в том, что при внесении изменений в существующий товар - слетает характеристика. Сейчас есть только характеристика Бренд. Так вот после этого кода на лице: у бренда нет ни одного товара, у самого товара - характеристика Бренд отображается на карточке, но с пустым значением. В админке - у товара характеристика Бренд не имеет значения. Копаю, но пока не докопался. Восстанавливаю при экспериментах или вручную проставляя товарам эту характеристику, или восстанавливая базу из бэкапа. Экспериментирую на тестовом сервере.

Куда бы копнуть? Вот что выдает принт product_data_out

Array
(
    [min_items_in_box] => 0
    [max_items_in_box] => 0
    [box_length] => 0
    [box_width] => 0
    [box_height] => 0
    [product_id] => 2
    [product_code] => hit-01669
    [product_type] => P
    [status] => H
    [company_id] => 1
    [list_price] => 0.00
    [amount] => 10
    [weight] => 0.050
    [length] => 0
    [width] => 0
    [height] => 0
    [shipping_freight] => 0.00
    [low_avail_limit] => 0
    [timestamp] => 1468405749
    [updated_timestamp] => 1468582015
    [usergroup_ids] => 0
    [is_edp] => N
    [edp_shipping] => N
    [unlimited_download] => N
    [tracking] => B
    [free_shipping] => N
    [zero_price_action] => R
    [is_pbp] => N
    [is_op] => N
    [is_oper] => N
    [is_returnable] => Y
    [return_period] => 10
    [avail_since] => 0
    [out_of_stock_actions] => N
    [localization] => 
    [min_qty] => 0
    [max_qty] => 0
    [qty_step] => 0
    [list_qty_count] => 0
    [tax_ids] => Array
        (
        )
    [age_verification] => N
    [age_limit] => 0
    [options_type] => P
    [exceptions_type] => F
    [details_layout] => default
    [shipping_params] => a:5:{s:16:"min_items_in_box";i:0;s:16:"max_items_in_box";i:0;s:10:"box_length";i:0;s:9:"box_width";i:0;s:10:"box_height";i:0;}
    [facebook_obj_type] => 
    [yml2_brand] => 
    [yml2_origin_country] => 
    [yml2_store] => 
    [yml2_pickup] => 
    [yml2_delivery] => 
    [yml2_adult] => N
    [yml2_delivery_options] => 
    [yml2_bid] => 0
    [yml2_cbid] => 0
    [yml2_model] => 
    [yml2_sales_notes] => 
    [yml2_type_prefix] => 
    [yml2_offer_type] => 
    [yml2_market_category] => 
    [yml2_manufacturer_warranty] => 
    [yml2_expiry] => 
    [yml2_seller_warranty] => 
    [yml2_purchase_price] => 0
    [yml2_description] => 
    [buy_now_url] => 
    [lang_code] => ru
    [product] => Защита от насекомых на стол, четырехугольная
    [shortname] => 
    [short_description] => 
    [full_description] => Высота 25см.
    [meta_keywords] => 
    [meta_description] => 
    [search_words] => 
    [page_title] => Тент-сетка защита от насекомых для вашего стола
    [age_warning_message] => 
    [promo_text] => 
    [price] => 810
    [category_ids] => Array
        (
            [0] => 8
        )
    [popularity] => 3
    [supplier_id] => 1
    [sales_amount] => 0
    [seo_name] => zaschita-ot-nasekomyh-na-stol-chetyrehugolnaya
    [seo_path] => 2/8
    [point_price] => 
    [discussion_type] => D
    [base_price] => 810
    [main_category] => 8
    [main_pair] => Array
        (
            [pair_id] => 1106
            [image_id] => 0
            [detailed_id] => 1393
            [position] => 0
            [detailed] => Array
                (
                    [object_id] => 2
                    [object_type] => product
                    [image_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
                    [alt] => Защита от насекомых на стол, четырехугольная
                    [image_x] => 672
                    [image_y] => 672
                    [http_image_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
                    [https_image_path] => /images/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
                    [absolute_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
                    [relative_path] => detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
                )
    )
[image_pairs] => Array
    (
        
    )
[shared_product] => N
[product_features] => Array
    (
        [1] => Array
            (
                [feature_id] => 1
                [company_id] => 1
                [feature_type] => E
                [parent_id] => 0
                [display_on_product] => Y
                [display_on_catalog] => N
                [display_on_header] => N
                [description] => Бренд
                [lang_code] => ru
                [prefix] => 
                [suffix] => 
                [categories_path] => 
                [full_description] => 
                [status] => A
                [comparison] => N
                [position] => 0
                [group_position] => 
                [value] => 
                [variant_id] => 1
                [value_int] => 
                [variants] => Array
                    (
                        [1] => Array
                            (
                                [variant_id] => 1
                                [variant] => Wenko
                                [description] => 
                                [page_title] => 
                                [meta_keywords] => 
                                [meta_description] => 
                                [lang_code] => ru
                                [yml2_unit] => 
                                [feature_id] => 1
                                [url] => 
                                [position] => 0
                                [selected] => 1
                                [feature_type] => E
                                [seo_name] => wenko
                                [seo_path] => 
                                [image_pair] => Array
                                    (
                                        [pair_id] => 1093
                                        [image_id] => 1380
                                        [detailed_id] => 0
                                        [position] => 0
                                        [icon] => Array
                                            (
                                                [image_path] => /images/feature_variant/1/wenko.jpg
                                                [alt] => Логотип компании wenko
                                                [image_x] => 300
                                                [image_y] => 300
                                                [http_image_path] => /images/feature_variant/1/wenko.jpg
                                                [https_image_path] => /images/feature_variant/1/wenko.jpg
                                                [absolute_path] => /images/feature_variant/1/wenko.jpg
                                                [relative_path] => feature_variant/1/wenko.jpg
                                            )
                                    )
                            )
                    )
            )
    )
[detailed_params] => Array
    (
        [info_type] => D
    )
[shared_between_companies] => Array
    (
        [0] => 1
    )
[have_required] => N

)

PS на форуме не могу ввести тэг, начинающийся с буквы б - как только набираю эту букву - она сразу преобразуется в тэг или сама, или с предыдущим текстом ))

Сейчас вот заметил: получая данные о товаре первоначально, имею [product_features][1][variant_id] => 1,

заношу эти же данные в товар, и тут же снова считываю их - в этом поле получаю уже 0

А вам хар-ки обязательно трогать? Можете их исключить просто

$product_data_out = fn_get_product_data($product_id, $auth, CART_LANGUAGE, '', false, false, false, false, false, false);

А вам хар-ки обязательно трогать? Можете их исключить просто

$product_data_out = fn_get_product_data($product_id, $auth, CART_LANGUAGE, '', false, false, false, false, false, false);

Не помогает. В этом случае вообще у всех товаров просто сбрасываются характеристики. Вообще, я просто хочу понять принцип работы с характеристиками. Ведь в данном случае алгоритм работает с одной и той же базой, , сначала получая данные по товару, и тут же без каких либо дополнительных действий этими же данными обновляя этот же товар - в результате чего у товара сбрасываются характеристики. Зачем мне это? Некоторым характеристикам мне было бы неплохо вручную скриптом задавать значения при импорте данных из 1с. До этого делал прямой записью в таблицу БД, но очень хочется понять и делать по-правильному...

Чтобы понять, просто сравните, что приходит при обновлении продукта в админке в функцию fn_update_product_features_value (app/functions/fn.catalog.php) и что в вашем случае. Скорее всего проблема в формате данных