А при обмене у всех товаров в заказе удаление BASE_PRICE и добавление всем CUSTOM_PRICE = Y - это нормальное поведение импорта?
|
А при обмене у всех товаров в заказе удаление BASE_PRICE и добавление всем CUSTOM_PRICE = Y - это нормальное поведение импорта?
|
|
|
|
|
|
|||
|
|
|
|
И не могу скидку найти при первом импорте - При первом импорте товары удаляются из заказа, на их место создаются точно такие же, но из 1С и проблема в том, что скидка при этом у товаров теряется. Из 1С она приходит, но непонятно где ставится (если вообще ставится в новом импорте, хочу оттуда кусок кода скопировать, чтобы при обновлении ядра всё легло ровно). При второй сессии обмена уже отрабатывает ветвь кода на изменение и скидка тогда ставится товару в $fieldsBasket['DISCOUNT_PRICE'] = $item['DISCOUNT']['PRICE'], но где это делается при добавлении, пока не вижу. Только если товара физически в каталоге нет, тогда она ставится в prepareFieldsBasketItem(). Ладно, пока временно костыль воткну.
|
|
|
|
|
|
Всем привет!
Никто случаем не сталкивался с проблемой: при обмене документами (заказами) если в 1с нет номенклатуры то она должна создаться, в настройках на стороне 1с настроил группу(куда грузить) и вид номенклатуры, больше настроек никаких не нашел В итоге при обмене получаю: 25.11.2020 1:10:56--Не удалось записать номенклатуру Часы Geozon Air Black (G-W02BLK) {ОбщийМодуль.Б_ОбменССайтомСерверЗагрузкиДанных.Модуль(3255)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Справочник.Номенклатура.МодульОбъекта(133)}: Поле "Рабочее наименование" не заполнено help ![]() |
|
|
|
|
|
Александр Денисюк, вы уж меня простите, но всё как обычно..... в битриксе, как бы это печально не звучало
Отвечаю сам себе на вопрос выше. в чудесной функции => Функция ПолучитьИнформациюОНоменклатуреДляДокумента(ПараметрыОбмена, СтрокаТовара) вид номенклатуры почему то берется из СтрокаТовара, А НЕ ИЗ ПараметрыОбмена!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! которые я курю в попытках чтобы что то заработало потому что там ЁПРСТ настройки для создания номенклатуры в итоге вид номенклатуры подставлялся "товар" а поскольку у нас под видом номенклатуры "товар" заполнены шаблоны формирования наименования а в битриксе за нас определили как должен называться вид и как использоваться то у нас и ничего не грузилось добавил в код пару строк и все заработало!! Товарищ Александр Денисюк, поправьте плз! Порой ощущение складывается что я один пользуюсь битриксом. ЗЫ: хочешь стать программистом - купи битрикс 8) |
|
|
|
|
Вы про что? Вот залез в код модуля(УТ 11) и не понимаю о чем вы. Вид номенклатуры из ПараметрыОбмена берется только тогда, когда с сайта не приходит значение реквизита "ВидНоменклатуры". А если приходит, то вид номенклатуры ищется по этому значению. |
|||||
|
|
|
|
а это нормальная ситуация, что во время обмена с 1С, функционал пытается удалить уже оплаченную оплату (заказ был оплачен)? Или это тоже из-за старого обмена и в новом такого нет?
|
|
|
|
|
С сайта приходит значение "товар", далее из-за того что модуль сначала ищет по значение с сайта, он находит в нашем случае запись(вид номенклатуры) с именем "товар", а этот вид номенклатуры в нашем случае генерит наименование номенклатуры по шаблону(автоматом) В итоге ваш модуль не может записать новую номенклатуру, т.к. наименование всегда пустое, хоть с сайта оно и приходит!!! На мой взгляд логичнее было бы сначала проверять настройку из модуля коль уж она есть (и я уверен что любой пользователь ее устанавливает только он не догадывается как у вас все работает) и если в модуле не установлено значение то пытаться что то вашим кодом найти/добавить и тд. А щас только с толку сбивает эта настройка. |
|||||
|
|
|
|
||||
|
|
|
|||