![]() |
|
Выгрузка статуса товара на сайт | ☑ | ||
---|---|---|---|---|
0
sergqwert
03.07.19
✎
14:50
|
Была добавлена в заказе в табчасти товары колонка статус товара. Изменили схему выгрузки на сайт. Как брать статус товара из строки а не рассчитывать при выгрузке?
Функция ЭкспортироватьСтатусыЗаказов() Экспорт СтатусТовараВРаботе = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000002"); СтатусТовараОтменен = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000004"); СтатусТовараОтказПоставщика = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000009"); СтатусТовараГотовКОтгрузке = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000008"); СтатусТовараОтгружен = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000005"); СтатусТовараВПути = Справочники.СтатусыЗаказовСайта.НайтиПоКоду("00000000007"); ИмяВременногоФайла = КаталогВременныхФайлов() + "statysuzakazov.xml"; Запись = Новый ЗаписьXML(); Запись.ОткрытьФайл(ИмяВременногоФайла,"windows-1251"); Запись.ЗаписатьОбъявлениеXML(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | тЗаказКлиента.Ссылка КАК Ссылка, | тЗаказКлиента.СтатусДляСайта, | ПосылкаЗаказыКлиента.Ссылка.ТТН КАК ТТН |ИЗ | Документ.ЗаказКлиента КАК тЗаказКлиента | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посылка.ЗаказыКлиента КАК ПосылкаЗаказыКлиента | ПО (ПосылкаЗаказыКлиента.ЗаказКлиента = тЗаказКлиента.Ссылка) | И (НЕ ПосылкаЗаказыКлиента.Ссылка.ПометкаУдаления) |ГДЕ | тЗаказКлиента.ЕстьИзменения | И тЗаказКлиента.НомерССайта <> """" | |УПОРЯДОЧИТЬ ПО | тЗаказКлиента.Дата"; СписокЗаказов = Новый СписокЗначений; Выборка = Запрос.Выполнить().Выбрать(); Запись.ЗаписатьНачалоЭлемента("КоммерческаяИнформация"); Запись.ЗаписатьАтрибут("ВерсияСхемы","2.04"); Запись.ЗаписатьАтрибут("ДатаФормирования",Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd")); Запись.ЗаписатьНачалоЭлемента("Статусы"); Пока Выборка.Следующий() Цикл СписокЗаказов.Добавить(Выборка.Ссылка); Запись.ЗаписатьНачалоЭлемента("Заказ"); Запись.ЗаписатьАтрибут("НомерЗаказа",Выборка.Ссылка.НомерССайта); Запись.ЗаписатьАтрибут("СтатусЗаказа",Выборка.СтатусДляСайта.КодСтатуса); Запись.ЗаписатьАтрибут("ТТН",Выборка.ТТН); Запись.ЗаписатьНачалоЭлемента("Товары"); Для Каждого СтрокаТоваров Из Выборка.Ссылка.Товары Цикл Запись.ЗаписатьНачалоЭлемента("Товар"); Запись.ЗаписатьАтрибут("Ид",СтрокаТоваров.Номенклатура.Артикул); Если СтрокаТоваров.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.СоСклада Тогда СтатусТовара = СтатусТовараГотовКОтгрузке; ИначеЕсли СтрокаТоваров.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.Отгрузить Тогда СтатусТовара = СтатусТовараГотовКОтгрузке; ИначеЕсли СтрокаТоваров.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.НеТребуется Тогда СтатусТовара = СтатусТовараОтменен; ИначеЕсли СтрокаТоваров.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.Требуется Тогда СтатусТовара = СтатусТовараВРаботе; КонецЕсли; Запись.ЗаписатьАтрибут("СтатусТовара",СтатусТовара.КодСтатуса); Запись.ЗаписатьКонецЭлемента(); //Запись.ЗаписатьНачалоЭлемента("Товар"); КонецЦикла; Запись.ЗаписатьКонецЭлемента(); //Запись.ЗаписатьНачалоЭлемента("Товары"); Запись.ЗаписатьКонецЭлемента(); //Заказ КонецЦикла; Запись.ЗаписатьКонецЭлемента(); //Статусы Запись.ЗаписатьКонецЭлемента(); //КоммерческаяИнформация Запись.Закрыть(); ОтветСервера = ""; ВыполнитьАвторизацию(ОтветСервера); КукиИмя = СтрПолучитьСтроку(ОтветСервера, 2); КукиЗначение = СтрПолучитьСтроку(ОтветСервера, 3); ЗаголовкиЗапросов = "Cookie: " + КукиИмя + "=" + КукиЗначение; Соединение = ПолучитьСоединение(); Успешно = HTTPВыгрузитьНаСервер("exchange.php?type=catalog&mode=file&filename=statysuzakazov.xml",ИмяВременногоФайла); ОтветСервера = HTTPПолучитьДанныеССервера(Соединение,"exchange.php?type=catalog&mode=import&filename=statysuzakazov.xml" ,ЗаголовкиЗапросов); Если ОтветСервера = Неопределено Тогда //СообщитьОбОшибкеОбмена("Не удалось получить параметры обмена с сервера.", Истина); Возврат Ложь; Иначе Для Каждого СтрокаСписка Из СписокЗаказов Цикл ДоработкиПривилегированный.УстановитьРеквизитДокумента(СтрокаСписка.Значение,"ЕстьИзменения",Ложь); КонецЦикла; КонецЕсли; Возврат Истина; КонецФункции |
|||
1
ia
03.07.19
✎
14:51
|
без фото не взлетит
|
|||
2
sergqwert
03.07.19
✎
17:01
|
Как выгружать статус товара из колонки ТЧ а не рассчитывать при выгрузке?
|
|||
3
Greeen
03.07.19
✎
17:27
|
Вариант 1 (по быстрому):
Запись.ЗаписатьАтрибут("СтатусТовара",СтатусТовара.КодСтатуса); заменить на Запись.ЗаписатьАтрибут("СтатусТовара",СтрокаТоваров<РеквизитКакОнТамНазываетсяУВасКоторыйНовый>.КодСтатуса); и закоментить нафиг расчет Вариант 2 (более кошерный): Переписать запрос с участием табличной Части товары и из неё уже грузить |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |