Режим выгрузки "Только изменения" Битрих #799222


#0 by Bambr49
Проблема такая-в узле обмена установлена галка "Выгружать только изменения".Однако каждый раз выгружается весь перечень номенклатуры,установленный отбором...где рыть,подскажите плз?
#1 by Bambr49
не может же за несколько минут быть изменения у нескольких сотен позиций номенклатуры?
#2 by Bambr49
насколько я понимаю-если не было у товара изменений-ни по остаткам,ни по складу,никаких иных,то этот товар не должен выгружаться,даже если он попадает в отбор?
#3 by Mikhail Volkov
Обмен УТ11 с сайтом?
#4 by Bambr49
так точно,ут11 на сайт
#5 by Mikhail Volkov
Меня просят добавить в выгрузку на сайт не только остатки товара, но и количество и дату ожидаемого товара. Не знаю как подступиться к задаче. КД2 в обмене рулит?
#6 by Bambr49
чем делаешь выгрузку?битриксом или стандартным модулем конфы ут?
#7 by Mikhail Volkov
Вроде встроенном модулем Битрикса.
#8 by Джинн
Дык откройте и посмотрите. Он достаточно примитивный. И относительно структурированный, чтобы легко разобраться. Навскидку мало кто помнит нюансы.
#9 by Mikhail Volkov
Пытался разобраться, вроде в модуле Битрикса КД2 не пахнет...
#10 by Повелитель
Так вы в код гляньте, при проведении любого складского документа номенклатура регистрируется для сайта. Поэтому даже "Выгружать только изменения" будет много товаров. У нас ассортимент около 250 000 в базе, около 60 000 на сайте. Мы например у себя из обмен выпилили этот кусок, действительно при обмене каждые 30 минут, в обмен попадали тысячи товаров. Вставили свой кусок кода для изменения остатков на сайте.
#11 by Bambr49
эх ты..ясно,спасибо..это идея
#12 by Bambr49
там есть модуль Б_ОбменССайтомСерверВыгрузкаДанных,в нем Процедура ВыгрузитьТоварыXDTO(... вот тудой пихай и количество и ожидаемый приход и все что душе угодно
#13 by Mikhail Volkov
+ Там старый Битрикс 6.0.3.4 для УТ11.2 Куда что вставляли, все в Б_ОбменССайтомСерверВыгрузкаДанных?
#14 by Джинн
Ессно. Там пакеты XDTO формируются и отправляются на сайт. Причем здесь КД?
#15 by Bambr49
ну да,я тудой пихал..в этот модуль
#16 by Повелитель
У нас модуль "Б_ПроцедурыОбменаССайтом"
#17 by Повелитель
Конфа у нас другая, но модуль обмена брали с сайта Битрикс и вставляли себе. А потом напильником прошлись )))
#18 by Bambr49
ну то ись еси конфа иная какая -ищи процедуру ,оная формирует пакеты товаров XTDO для выгрузки..
#19 by mehfk
Если делаешь выгрузку в каталог, то регистрация у объектов  не снимается.
#20 by Mikhail Volkov
Да я уж понял, что не КД2. Как-то уже привык, что обмены через КД2 делаются, не только правила обмена, но и регистрации объектов. Ну вставлю в выгрузку количество и дату ожидаемого товара. Не выгружать же каждый раз весь товар. Надо будет только тот, на который появились новые заказы поставщику, т.е. решать ту же проблему, что у ТС. Еще вопрос: Битрикс 6.0.3.4 будет работать с УТ11.3? А то программист сайта говорит, что для следующей версии Битрикс (которая для УТ11.3) придется сайт переделывать, у него там много своих доработок.
#21 by Джинн
Никакая религия не запрещает создать свой узел обмена, прикрутить к нему свои правила регистрации с блек-джеком и девушками с пониженной социальной ответственностью, а далее при обмене "обнюхивать" зарегистрированные объекты в процедуре, отдавать их на сайт. Как с УТ не скажу - у меня модуль для УПП.
#22 by Сияющий Асинхраль
Вот ведь! У каждого свои проблемы с выгрузкой от битрикса, мне наоборот как-то пришлось модуль править, чтобы 1С выгружала Полный список товаров, потому что галка "Полная выгрузка" благополучно игнорила картинки :-( и еще что-то...
#23 by AneJIbcuH
Так там есть галка, "Принудительная выгрузка что-то там.." она и картинки выгружает.
#24 by Сияющий Асинхраль
Там была не галка, а кнопка "Полная выгрузка" вот когда по кнопке выгружалось, то выгружало все, а если просто поставить галку "Полная выгрузка", то выгрузка была все-равно далеко не "полная", конечно, если не заходить каждый раз ручками не нажимать кнопку "Полная выгрузка" :-(
#25 by Mikhail Volkov
А как насчет вопроса : Битрикс 6.0.3.4 будет работать с УТ11.3?
#26 by Сияющий Асинхраль
По крайней мере шаблон 6.0.3.4 ставится в папку с названием УТ 11.2.3.
#27 by Demasiado
для 11.3 есть версия модуля 6.0.5 и в ней много чего переписано. + 1с разработчик который пилит этот модуль интеграции для всех анонсировал скорый выход модуля 7.хх, в котом "очень много изменений и все переделано"
#28 by Demasiado
6.0.3.1 работал с версией УТ 11.3.3.145, но в обновлениях анонсированы множественные исправления ошибок, оптимизация и даже починили выгрузку пользовательских справочников (хотя это пока не тестили, есть нетиповой справочник, который необходимо выгружать на сайт)
#29 by Mikhail Volkov
Что за шаблон? Сейчас у клиента УТ 11.2.3.300, обновили Битрикс с 6.0.3.1 на 6.0.3.4, вроде полет нормальный... Значит в принципе работает Битрикс 6.0.3.4 с УТ 11.3, но что-то править надо. Что?
#30 by Ager
Регистрация для измененных очищается только при выгрузке на сайт и при отсутствии ошибок при выгрузке. Если выгружать на диск, то товары из узла не уйдут.
#31 by Ager
С УТ 11.3 можно установит модуль обмена 6.5.0.1, но Битрикс тоже должен быть обновлен, иначе обмен заказами работать перестанет.
#32 by Demasiado
+ битрикс маг должен быть 17.0.3++ версии
#33 by Mikhail Volkov
Вот про этот "битрикс маг должен быть 17.0.3++ версии" программист сайта говорит: крайне нежелательно, ему много что переделывать придется. А без него УТ11.3 никак?
#34 by Demasiado
Подозреваю, что тогда на стороне 1с пилить придется много. Я сам видел оба модуля - изменения в новой версии очень большие. Скорее всего с 16 версией будет работать некорректно или вообще не взлетит. В самом коде модуля интеграции на стороне 1с в 6.0.3.1 прописана версия протокола 2.хх, а в 6.5.0.1 3.хх
#35 by Mikhail Volkov
Возникла необходимость контролировать реквизиты шапки заказа клиента загружаемого с сайта. Чтобы не было пустых значений, например, организация. Интернет-магазин принадлежит Интеркомпании заказы обычно оформляются на ИП, желательно ее поставлять. Справочники.Организации.НайтиПоНаименованию или коду не хочется использовать. Могут измениться. Предопределенных и настроек пользователя нет в УТ11. Написал: Выдает последнее заведенное ИП. Вот только Неопределено не нравится, нужно любую из последних что есть в справочнике. В теме ответа не нашел.
#36 by mehfk
Сделай константу и подставляй ее.
#37 by Mikhail Volkov
Сложно (добавлять объект), нужно что-то простенькое, типа: Справочники.Организации.Выбрать(,,, "Убыв").Следующий.Ссылка
#38 by mehfk
Что за сложности с добавление объекта?
#39 by Mikhail Volkov
Зачем? Это лишь на всякий случай (мало ли создадут новую базу без ИП), лишь бы не пустой элемент.
#40 by mehfk
Ты пьян?
#41 by Mikhail Volkov
Простой вопрос: Как получить последний (по созданию) элемент справочника?
#42 by Mikhail Volkov
Блин, ДатаРегистрации не заполняется, для ИП - по свидетельству. А если УПОРЯДОЧИТЬ ПО ссылке, нормально?
#43 by Сияющий Асинхраль
Сам ведь знаешь ответ на этот вопрос. Как минимум два варианта - либо парсить журнал регистрации (что при большом справочнике накладно), либо писать дату создания в сам справочник (кстати, так зачем-то сделали в типовой УНФ в некоторых справочниках, по моему, в номенклатуре), можно также в периодический регистр писать в подписке
#44 by Mikhail Volkov
А что дает УПОРЯДОЧИТЬ ПО ссылке? Ссылка вроде как GUID возрастает в базе по дате/времени (организации как правило в обмене не участвуют).
#45 by Сияющий Асинхраль
Это теоретически, вполне может быть ситуация, когда Организация заводится, а потом с ней никто не работает :-) У меня таких организаций у клиентов пруд-пруди :-( . Вообще, я бы упорядочению по ссылкам не доверял, простейший вариант добавить реквизит и заполнять его в подписке, в этом случае на обновление конфы дополнительный реквизит влиять не будет, и, с другой стороны он всегда будет заполнен, чего, как ты сказал, не наблюдается для реквизита ДатаРегистрации для ИП
#46 by Demasiado
Это просто день отжигов какой-то...А что вам мешает использовать Код справочника Организации?? Максимальное значение будет у того кто создан последним. для программистов которые пишут вот так в запросе "    |    Организации.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо" отдельные котлы в аду стоят. Те кто в рай попадают, пишут через Значение(....)
#47 by Сияющий Асинхраль
У каждого, конечно, свой подход, но я бы пристрелил именно того, кто через Значение пишет :-)
#48 by Demasiado
ты наверное и "ГДе объект.Проведен = &Истина" пишешь?;)
#49 by Сияющий Асинхраль
+ Сравнивать по коду, кстати, тоже не всегда прокатит, иногда бывают Организации и другие справочники перенесенные из разных конф с разными префиксами не поверишь пишу ГДе объект.Проведен Написание: Организации.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо предполагает, что параметр выбирается в форме, что я всегда и делаю, а Значение предполагает дубово заданное значение в коде. В этом вся разница
#50 by vis_tmp
А почему?
#51 by Demasiado
Могу сказать что запрос в котором используется Значение(...) отработает быстрее, поэтому он оптимальнее
#52 by Mikhail Volkov
Дык, в последних конфигурациях УТ11/ERP у справочниках нет кодов. Насчет Значение(...) - согласен, быстрее и код компактней. Но в последнем варианте пришлось от этого отказаться: Аналогичная функция для ОсновноеСоглашениеСКлиентамиПоУмолчанию(Знач Организация), в основном для нее потребовалась ОсновнаяОрганизацияПродажиПоУмолчанию Когда была одна организация реквизиты шапки жестко указывались в настройках обмена Битрикс. Потом стала Интеркомпания. Клиентам, которым нужен НДС обязательно, заказ оформляют на ООО. Решили оставлять пустые организация и соглашение. Заказ пришел с сайта, менеджер начинает его согласовывать с клиентом, узнает нужен ли ему НДС, подставляет нужное соглашение (организацию), и заказ пересчитывается вплоть до сумм НДС в товаре. Все хорошо, если клиент не меняет товар в заказе. А если что-то добавил, поменял, то заказ снова выгружается с сайта, и затирает реквизиты пустыми значениями. Если бы обмен с сайтом был построен по правилам КД2, то проблема решалась бы просто - не выгружать пустые значения. Но у Битрикс свой обмен. Пришлось перед запись в базу написать контроль пустых значений. Если ОбъектНайден = Не ОбъектЗаказКлиента.Ссылка.Пустая, оставляю старые значения реквизиты шапки заказа, по ним пересчитываю суммы НДС в товаре. А если, нет - то использую свои функции.
#53 by Mikhail Volkov
По поводу регистрации изменений. В файле выгрузки номенклатуры есть строки (для примера не все): </ЗначенияРеквизитов> Пока не разбирался откуда берется "Планируемая дата поступления", видимо из заказа поставщику. Но при нормальном обмене (изменениями) она пустая. Появляется лишь при полной выгрузке. Подозреваю, что при записи заказа поставщику, номенклатура заказа не регистрируется измененной. У Битрикс обмен не типовой (не КД2), подскажите как лучше исправить дефект?
#54 by mehfk
А какие у тебя варианты исправления? Чтобы выбрать лучший из них?
#55 by Mikhail Volkov
Что касается обменов привык делать в КД2, но тут обмен не типовой. Первое что приходит на ум сделать подпиской на событие при записи заказа поставщику - регистрировать номенклатуру заказа измененной. Но сначала надо разобраться, что за реквизит "Планируемая дата поступления" - откуда он взялся. Клиент еще пожелал добавит "Количество ожидаемого".
#56 by Mikhail Volkov
Как вообще Битрикс регистрирует изменение номенклатуры? Изменение заказа поставщику ни как ее не регистрирует.
#57 by Сияющий Асинхраль
Объяснил в В предыдущих релизах обменов 1С с Битрикс был такой параметр "Дата поступления товара", когда поставил новый релиз обмена этот параметр из настройки обмена исчез как будто его и не было. Можно пытаться дописывать обмен. Для особо ленивых можно добавить в номенклатуру дополнительный реквизит "Дата поступления", а уж как его заполнять каждый решает сам для себя, хоть руками, хоть подпиской какой-нибудь...
#58 by Mikhail Volkov
В процедуре ПослеЗаписиНаСервере Заказа поставщику вставил перезапись номенклатуры (но в ней ничего не менял), у которой ДатаПоступления > ТекущаяДата, но в файл изменений import___*.xml она не попала (только какие-то картинки выгрузились). Что нужно делать с номенклатурой, чтобы она регистрировалась как измененная, и выгружалась?
#59 by Looking
конечно в каждом конкретном случае свои цели и задачи, бывают и диаметрально противоположные
#60 by Mikhail Volkov
+ А не, вру: толи не в том файле смотрел (запутался в них), то ли на "Товары" галочку поставил: "Настройка версионности выгружаемых данных". Но перезаписывать номенклатуру как-то не хорошо!? Наверное должен другой способ, чтобы номенклатура регистрировалась как измененная. Какой?
#61 by Mikhail Volkov
А вообще какой командой (оператором) формируются теги типа: </ЗначениеРеквизита> как-то с КД2 до таких мелочей не приходилось опускаться.
#62 by mehfk
Ну что же ты такой ленивый Если ПараметрыОбмена.ВыгружатьПланируемуюДатуПоступленияНоменклатуры тогда ...      ...
#63 by Mikhail Volkov
Вопрос в другом: клиенту нужно чтобы наряду с "Планируемая дата поступления" еще было "Ожидаемое количество". Пока такое решение: ОжидаемоеКоличество определяю той же функцией:     мЗапросПоДП = Новый Запрос(    "ВЫБРАТЬ ПЕРВЫЕ 1 В результате в файле получаю такой тег: <ЗначениеРеквизита>     <Наименование>Планируемая дата поступления</Наименование> А мне нужно из него сделать два таких: <ЗначениеРеквизита>     <Наименование>Планируемая дата поступления</Наименование> Как это сделать? Может можно как-то по другому? Не работал с  xml-файлами, в КД2 не было нужды.
#64 by mehfk
Можно. Договор. Предоплата. Консультация.
#65 by Mikhail Volkov
Да мне бы ссылку как формируется xml-файл в 1С?
#66 by mehfk
ЗаписьXML = Новый ЗаписьXML;
#67 by Mikhail Volkov
Нет, конкретный тег создает в xml-файле? Этот: Вроде это: Б_ОбменССайтомСервер.ДобавитьЗначениеРеквизитаXDTO? Вставил: Если ПараметрыОбмена.ВыгружатьПланируемуюДатуПоступленияПредложения тогда Не помогло, в файл один тег пишется: Дата/Количество!?
#68 by mehfk
см
#69 by Mikhail Volkov
А за Спасибо!? Не, правильно ДобавитьЗначениеРеквизитаXDTO этот тег добавляет, но я сперва добавил только в ВыгрузитьПредложенияXDTO модуля Б_ОбменССайтомСерверВыгрузкаДанных. Добавил в ВыгрузитьТоварыXDTO и все как надо выгружается. Лучше по теме подскажи , если Битрикс знаешь. Или для Битрикс это нормально регистрировать изменения перезаписью? И еще, сейчас номенклатура всегда выгружается в файл, не надо даже заказ поставщику перезаписывать. Она что, "пожизненно" теперь зарегистрировалась измененной? В типовых обменах после завершенного обмена измененные объекты перестают быть измененными.
#70 by mehfk
Можно и за "Спасибо": ты мне 5 кг красной икры, а я тебе "Спасибо".
#71 by Mikhail Volkov
Идеи в кг измеряешь? Ладно, если не знаешь, видимо в Битрикс по другому нельзя регистрировать объекты измененными, только их перезаписью. Еще ужесточил условия регистрации: регистрирую только в тех заказах, где Дата поступления не просрочена (не меньше текущей даты), и состояние заказа - в "Ожидается поступление". Чтобы не выгружать на сайт просроченные даты. И еще, у клиента в базе почти все заказы поставщику просрочены: Дата поступления равна Дате заказа. Поэтому, перед записью выдаю предупреждение, и предлагаю ввести новую дату. Опять же в том случае, если Дата поступления просрочена, и состояние заказа - в "Ожидается поступление". Но думаю, что это не совсем правильно: пред записью состояние заказа может не быть в "Ожидается поступление", а перейти в него после записи/проведения. Как определить такую ситуацию, чтобы правильно предлагать ввести Дату поступления?
#72 by mehfk
Какие идеи? КД 2.0 говоришь знаешь? Номенклатуру путем перезаписи элемента справочника регистрируешь. Ну-ну.
#73 by mehfk
Я свое спасибо измеряю в килограммах красной икры. А ты свое в строках кода. Все правильно.
#74 by Mikhail Volkov
С Битрикс только разбираюсь. Если знаешь подскажи как по другому регистрировать?
#75 by mexanik_96
обармотка есть там(в конфе) регисрация объектов
#76 by mexanik_96
+ регисрируешь у все
#77 by mehfk
А как ты при использовании КД 2.0 регистрируешь объекты?
#78 by Mikhail Volkov
Есть, или "вроде как должна быть"? Этот вопрос задал на форуме Битрикс, ответили "Пока только так".
#79 by Mikhail Volkov
В обработке "Регистрация изменений для обмена данными" явно не перезаписью объектов регистрируют. Пока не понял как?
#80 by Mikhail Volkov
ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Строка.Номенклатура); - нужно только собрать узлы ПланОбмена.Б_ОбменССайтом с реквизитами ВыгружатьТолькоИзменения и ОбменТоварами, а также НЕ ПометкаУдаления Клиент еще пожелал кроме "Планируемая дата поступления" и "Ожидаемое количество", еще выгружать "В резерве под заказ", т.е. из числа "Ожидаемое количество". Добавить еще выгружаемый реквизит не проблема, но протестировать не могу. Как следует провести заказ клиента, чтобы в РН СвободныеОстатки.ВРезервеПодЗаказ появилось не нулевое значение? Ставлю в заказе Действие: "Резервировать к дате" - не помогает!?
#81 by Mikhail Volkov
Вроде как нужно действие: "Отгрузить обособленно", но как его поставить?
#82 by Mikhail Volkov
Ну, что за хрень, делаю по , и ни как!? Мне нужно чтобы в РН СвободныеОстатки.ВРезервеПодЗаказ появилось не нулевое значение чисто для тестирования выгрузки на сайт.
#83 by Mikhail Volkov
Сдается мне, что ресурс СвободныеОстатки.ВРезервеПодЗаказ - вовсе не то, хочет мой заказчик "В резерве из числа ожидаемых" (возможно так было в ранних релизах)!? Смотрю РН СвободныеОстатки с не пустыми значениями ВРезервеПодЗаказ, в них Заказ клиента и Поступление товаров и услуг следуют парами, причем Поступление с +, Заказ клиента с -. Получается, что Заказ клиента двигает СвободныеОстатки, только после Поступления? А когда товар уже поступил, это не "ожидаемое", а в наличии. Тогда вопрос: откуда брать "В резерве из числа ожидаемых"? Из ОбеспечениеЗаказов.КЗаказу?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С