Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Полнота поддержки CommerceML

00 голосов
4
подскажите, есть ли документация по этому поводу?

у меня складывается впечатление, что в Битриксе реализовано только то, что нужно для обмена модуля интернет-магазина с 1С конкретной конфигурации (УТ), но все равно не понятно как использовать хотя-бы это в своих (корыстных, конечно:)) целях (для реализации обмена с 1С 7.7).

конкретно, проблемма в том, что в настройках интеграции с 1С стоит
"Изменять статус заказа на <Статус> при получении отгрузки", но не ясно, как эту самую отгрузку реализовать. Насколько я понимаю, 1С должна отдать Битриксу документы "Отпуск товара"(название взял из CML)?
спросил 13 Янв, 14 от Luohins (160 баллов)

4 Ответы

00 голосов
Цитата
Денис Кузьменко пишет:
у меня складывается впечатление, что в Битриксе реализовано только то, что нужно для обмена модуля интернет-магазина с 1С конкретной конфигурации (УТ),

А Вы что думаете там должен быть заложен обмен всем и вся из 1С?
Цитата
Денис Кузьменко пишет:
"Изменять статус заказа на <Статус> при получении отгрузки", но не ясно, как эту самую отгрузку реализовать. Насколько я понимаю, 1С должна отдать Битриксу документы "Отпуск товара"(название взял из CML)?

Просто выгружается свойство заказа отгружен или нет.

Документация конечно есть:
-4000 строк кода 1С обработки ОбменССайтом
-компонент sale.export.1c
-классы из модуля sale.

Или Вы хотите за 1 день стать «мега» разработчиком по связке 1С и БУС, причем сразу с достижением корыстных целей?
ответил 27 Апр, 14 от MAZDA (120 баллов)
00 голосов
Цитата
А Вы что думаете там должен быть заложен обмен всем и вся из 1С?

нет, конечно. но, раз уж декларируется поддержка CommerceML...

Цитата
Просто выгружается свойство заказа отгружен или нет.

отдельно свойство выгружается? или тот же заказ с измененным статусом?
буду благодарен за кусочек кода на эту тему.

Цитата

Документация конечно есть:
-4000 строк кода 1С обработки ОбменССайтом
-компонент sale.export.1c
-классы из модуля sale.


эту документацию я почитывал. просто, надеялся, что это еще не все, что можно было-бы почитать.

Цитата
Или Вы хотите за 1 день стать «мега» разработчиком по связке 1С и БУС, причем сразу с достижением корыстных целей?

нет, ни на что из этого я не рассчитываю
ответил 22 Авг, 14 от Luohins (160 баллов)
00 голосов
Цитата
Денис Кузьменко пишет:
эту документацию я почитывал. просто, надеялся, что это еще не все, что можно было-бы почитать.

я пока больше ничего не нашел. узнаете киньте ссылку.
Цитата
Денис Кузьменко пишет:
буду благодарен за кусочек кода на эту тему.


При обмене заказами выгружается только документы "ЗаказПокупателя" в xml, со всеми возможными свойствами, у каждого документа заказа всегда выгрузаются следующие реквизиты, их значения зависят от его текущего состояния.
Код
      <ЗначенияРеквизитов>

         <ЗначениеРеквизита>

            <Наименование>Номер по 1С</Наименование>

            <Значение>МТ003479   </Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Дата по 1С</Наименование>

            <Значение>2008-11-11</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>ПометкаУдаления</Наименование>

            <Значение>false</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Проведен</Наименование>

            <Значение>false</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Номер оплаты по 1С</Наименование>

            <Значение>0</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Дата оплаты по 1С</Наименование>

            <Значение>T</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Номер отгрузки по 1С</Наименование>

            <Значение>0</Значение>

         </ЗначениеРеквизита>

         <ЗначениеРеквизита>

            <Наименование>Дата отгрузки по 1С</Наименование>

            <Значение>T</Значение>

         </ЗначениеРеквизита>

      </ЗначенияРеквизитов>


анализ этих данных в компаненте sale.export.1c (стр 517):
Код
if(strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_DATE")])>1)
                        {
                           if($orderInfo["PAYED"]=="N")
                              CSaleOrder::PayOrder($k, "Y");
                           $arAditFields["PAY_VOUCHER_DATE"] = CDatabase::FormatDate($v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_DATE")], "YYYY-MM-DD HH:MI:SS", CLang::GetDateFormat("FULL", LANG));
                           if(strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_NUM")])>0)
                              $arAditFields["PAY_VOUCHER_NUM"] = $v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_NUM")];
                        }
                        if(strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_DELIVERY_DATE")])>1)
                        {
                           if($orderInfo["ALLOW_DELIVERY"]=="N")
                              CSaleOrder::DeliverOrder($k, "Y");
                           $arAditFields["DATE_ALLOW_DELIVERY"] = CDatabase::FormatDate($v["TRAITS"][GetMessage("CC_BSC1_1C_DELIVERY_DATE")], "YYYY-MM-DD HH:MI:SS", CLang::GetDateFormat("FULL", LANG));
                           if(strlen($arParams["FINAL_STATUS_ON_DELIVERY"])>0 && $orderInfo["STATUS_ID"] != "F" && $orderInfo["STATUS_ID&q
ответил 27 Дек, 14 от MAZDA (120 баллов)
00 голосов
спасибо, буду ковырять
ответил 15 Апр, 15 от Luohins (160 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
5 ответов
спросил 26 Окт, 13 от IIingvin (120 баллов)
0 голосов
4 ответов
спросил 20 Март, 13 от wogich (630 баллов)