Цитата |
---|
Денис Кузьменко пишет: эту документацию я почитывал. просто, надеялся, что это еще не все, что можно было-бы почитать. |
Цитата |
---|
Денис Кузьменко пишет: буду благодарен за кусочек кода на эту тему. |
При обмене заказами выгружается только документы "ЗаказПокупателя" в 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"] != $arParams["FINAL_STATUS_ON_DELIVERY"]) CSaleOrder::StatusOrder($k, $arParams["FINAL_STATUS_ON_DELIVERY"]); } |
в моем примере реквизиты номер, дата по отгрузке и оплате - нули, соответсвенно статусы менятся не будут.