Биткрикс добавить информацию о количестве на складах.

1. sv-bambr 15.07.15 11:31 Сейчас в теме
Подскажите, как вставить информацию о количестве на складах в модуль обмена с Web?

Необходимо после блока "Количество" дописывать такую информацию.

<Количество>48.00</Количество>
<Склад ИдСклада="1bccdc0c-109a-11e4-953a-74d02b3d48d3" КоличествоНаСкладе="0"/>
<Склад ИдСклада="5679bff8-9965-11e3-9e81-00241d337dcd" КоличествоНаСкладе="5"/>
<Склад ИдСклада="362babce-9a02-11e3-b8cf-00241d337dcd" КоличествоНаСкладе="43"/>
</Предложение>

Пробовал дополнительный модуль от Битрикс, но там куча ошибок вылезает.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. cassper 15.07.15 12:18 Сейчас в теме
(1) sv-bambr, Вот тебе ссылка на доп модуль http://www.1c-bitrix.ru/download/1c/ecommerce/ut_addon_10.3.19.4.zip

Это первая версия, где появилась выгрузка остатков по складам. Думаю с этой версией получится интегрировать доп. модуль.

В принципе, есть еще чуть поновее версия (http://www.1c-bitrix.ru/download/1c/ecommerce/ut_addon_10.3.21.2.zip)

Смотри сам.
skilster; sv-bambr; +2 Ответить
2. spezc 787 15.07.15 11:37 Сейчас в теме
3. spezc 787 15.07.15 11:38 Сейчас в теме
4. sv-bambr 15.07.15 11:44 Сейчас в теме
УТ 10.3.18.3 дописанная. Платформа 8.3.6.2014.
XML...
5. cassper 15.07.15 11:47 Сейчас в теме
Если ставить модуль на версию, для которой выполнен, ошибок быть не должно. Что за ошибки-то?
6. cassper 15.07.15 11:48 Сейчас в теме
Либо адаптировать самому модуль под свою версию, либо третий вариант - просто выдрать оттуда кусок кода, который выводить в xml количество в разрезе складов
8. sv-bambr 15.07.15 11:57 Сейчас в теме
(6) cassper, т.е. качать с сайта Битрикс не вариант? Там только для 10.3.29.1. Мне сайтописатели говорят, что всё нормуль должно быть.
Ошибки однотипные (Переменная не определена):
1. ПолучениеФайловИзИнтернета
2. ОбщегоНазначенияКлиентСервер

Как найти код? перелопатил все обработки.
7. spezc 787 15.07.15 11:50 Сейчас в теме
общий мобуль ОбменССайтом, это в Рознице.
в принципе в типовых должно совпадать.

Процедура ЗаполнитьОстаткиПоСкладам(ПредложениеXDTO, ТаблицаОстатков)
	
	ПакетCML = ПакетCML();
	
	Для Каждого ТекСтрока Из ТаблицаОстатков Цикл
		Если Не ЗначениеЗаполнено(ТекСтрока.Склад) Тогда
			Продолжить;
		КонецЕсли;
		
		ОстатокXDTO = ФабрикаXDTO.Создать(ПакетCML.Получить("ОстаткиПоСкладам"));
		
		ОстатокXDTO.ИдСклада = УникальныйИдентификаторОбъекта(ТекСтрока.Склад);
		ОстатокXDTO.КоличествоНаСкладе = ТекСтрока.ОстатокНаСкладе;
		
		ПредложениеXDTO.Склад.Добавить(ОстатокXDTO);
		
	КонецЦикла;

        // нужно добавить эту строчку
	ПредложениеXDTO.Количество = ТаблицаОстатков.Итог("ОстатокНаСкладе");
КонецПроцедуры
Показать


в любом случае у пакета ПредложениеXDTO уже есть поле Количество, его нужно просто заполнить.
9. spezc 787 15.07.15 12:00 Сейчас в теме
ааа, у вас задача после блока количества еще по отдельным складам выгружать. в (7) было наоборот. выгружалось по складам, но нужно было добавить строчку <Количество>48.00</Количество> с количеством итого
sv-bambr; +1 Ответить
10. spezc 787 15.07.15 12:01 Сейчас в теме
хотя в любом случае смысл должен быть такой же
sv-bambr; +1 Ответить
11. cassper 15.07.15 12:02 Сейчас в теме
(10) spezc, не факт, что в указанной версии у ТС имеется уже обновленный модуль, который использует фабрику XDTO...насколько помню, там ее еще не должно быть
13. sv-bambr 15.07.15 12:27 Сейчас в теме
Обновлять как и последнюю?
При обновлении:

РегистрСведений.НастройкиОбменаССайтомСПринудительнойПолнойВыгрузкой: Регистр без измерений, ресурсов и реквизитов:
14. cassper 15.07.15 12:31 Сейчас в теме
Обновлять как в инструкции)
sv-bambr; +1 Ответить
15. sv-bambr 15.07.15 13:00 Сейчас в теме
(14) cassper, помогло, только 21 версия, 19 давала ошибки.
Всем огромное спасибо за помощь.
16. sv-bambr 17.07.15 13:47 Сейчас в теме
После обновления столкнулся с проблемой вызова старых Планов Обмена. В Процедуру ПриОткрытии добавил Попытку:
Попытка
ТаблицаОтбора = СтруктураНастроекПостроителя.ТаблицаОтбора;
ТаблицаПорядка = СтруктураНастроекПостроителя.ТаблицаПорядка;
Исключение
КонецПопытки;
Теперь при обновлении настройки обмена меняет Идентификатор. Происходит задвоение справочников. Как можно поменять Идентификатор или запретить обновление его?
17. cassper 17.07.15 14:41 Сейчас в теме
Попробуй запустить процедуру из общего модуля
ПроцедурыОбменаССайтом.ВыполнитьОбновлениеНастроекОбменаССайтом();

Она обычно запускается, когда выполняется обновление конфигурации. Находится в обработке "ОбновлениеИнформационнойБазы"
sv-bambr; +1 Ответить
18. sv-bambr 17.07.15 16:13 Сейчас в теме
(17) cassper, запускал через параметры ОбновлениеИнформационнойБазы, но толи не сработало, толи на этом мысль обрывается. Дописал, чтоб при выгрузке на сайт использовал "правильный" УИД..
19. cassper 17.07.15 16:31 Сейчас в теме
параметр запуска вроде должен быть:
/С ЗапуститьОбновлениеИнформационнойБазы


По сути можно было создать внешнюю обработку, в которой по кнопке выполнить прописать код, что предоставил выше в (17), а не дописки делать)).

А про правильность Ид о чем речь идет? Ид каталога (Инфоблок) или товара или чего?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот