Обучаю битриксу программистов, интеграторов

Статус заказа в УТ 10.3 и на сайте

В 1С УТ 10.3 нет статусов заказа, а на сайте 1С-Битрикс есть, и хочется менять статусы именно из 1С

Моему клиенту было удобно самому вручную менять статусы заказа в 1С, а не по документам реализации и пр..

Можно сделать так:
В конфигураторе
  • Добавить справочник Статусы (Ввести туда статусы, как на сайте), код у статуса удобно, чтобы совпадал с кодом статуса на сайте
  • Добавить реквизит в документе заказа Статус, типа привязка к справочнику
  • Общие - Общие модули -  Б_ПроцедурыИФункцииВыгрузкиДанныхНаСайт- Функция ВыгрузитьЗаказXDTO
в ней есть такой код

                лСтатусЗаказа = "";
   
      лНастройкиСтатусовЗаказа = ПланыОбмена.Б_ОбменССайтом.ПолучитьЗначениеКлючаСтруктурыНастроек(ПараметрыОбмена, "НастройкиСтатусовЗаказа");
      
      Если лНастройкиСтатусовЗаказа <> Неопределено тогда
         
         НайденныйСтатусЗаказа = ПараметрыОбмена.НастройкиСтатусовЗаказа.СоответствияЗначенийСвойствЗаказа.Найти(Документ.СвойствоСтатусЗаказа);
         
         Если НайденныйСтатусЗаказа <> Неопределено тогда
            лСтатусЗаказа = НайденныйСтатусЗаказа.ИдСтатуса;
         КонецЕсли;
         
      КонецЕсли;


      Если ЗначениеЗаполнено(лСтатусЗаказа) тогда
         Б_ОбщиеПроцедурыИФункцииОбменаССайтом.ДобавитьЗначениеРеквизитаXDTO(ПараметрыОбмена, XDTOЗначенияРеквизитов, XDTOЗначениеРеквизитаТип, "Статуса заказа ИД"   , лСтатусЗаказа);
      КонецЕсли;
добавляем
ЛСтатусЗаказа = Документ.Статус.Код;

получается
                лСтатусЗаказа = "";

                ///можно убрать данную логику 
   
      //лНастройкиСтатусовЗаказа = ПланыОбмена.Б_ОбменССайтом.ПолучитьЗначениеКлючаСтруктурыНастроек(ПараметрыОбмена, "НастройкиСтатусовЗаказа");
      
      //Если лНастройкиСтатусовЗаказа <> Неопределено тогда
         
      //   НайденныйСтатусЗаказа = ПараметрыОбмена.НастройкиСтатусовЗаказа.СоответствияЗначенийСвойствЗаказа.Найти(Документ.СвойствоСтатусЗаказа);
         
      //   Если НайденныйСтатусЗаказа <> Неопределено тогда
      //      лСтатусЗаказа = НайденныйСтатусЗаказа.ИдСтатуса;
      //   КонецЕсли;
         
      //КонецЕсли;
                
                ЛСтатусЗаказа = Документ.Статус.Код;

      Если ЗначениеЗаполнено(лСтатусЗаказа) тогда
         Б_ОбщиеПроцедурыИФункцииОбменаССайтом.ДобавитьЗначениеРеквизитаXDTO(ПараметрыОбмена, XDTOЗначенияРеквизитов, XDTOЗначениеРеквизитаТип, "Статуса заказа ИД", лСтатусЗаказа);
      КонецЕсли;


Можно данное поле на форме документа заказа, разместить форме списка заказов

     
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!