Имя: Пароль:
1C
1С v8
Режим выгрузки "Только изменения" Битрих
,
0 Bambr49
 
14.06.17
11:35
Проблема такая-в узле обмена установлена галка "Выгружать только изменения".Однако каждый раз выгружается весь перечень номенклатуры,установленный отбором...где рыть,подскажите плз?
1 Bambr49
 
14.06.17
11:37
не может же за несколько минут быть изменения у нескольких сотен позиций номенклатуры?
2 Bambr49
 
14.06.17
11:39
насколько я понимаю-если не было у товара изменений-ни по остаткам,ни по складу,никаких иных,то этот товар не должен выгружаться,даже если он попадает в отбор?
3 Mikhail Volkov
 
14.06.17
11:39
Обмен УТ11 с сайтом?
4 Bambr49
 
14.06.17
11:40
(3) так точно,ут11 на сайт
5 Mikhail Volkov
 
14.06.17
11:45
(4) Меня просят добавить в выгрузку на сайт не только остатки товара, но и количество и дату ожидаемого товара. Не знаю как подступиться к задаче. КД2 в обмене рулит?
6 Bambr49
 
14.06.17
11:47
чем делаешь выгрузку?битриксом или стандартным модулем конфы ут?
7 Mikhail Volkov
 
14.06.17
11:52
(6) Вроде встроенном модулем Битрикса.
8 Джинн
 
14.06.17
11:54
(7) Дык откройте и посмотрите. Он достаточно примитивный. И относительно структурированный, чтобы легко разобраться. Навскидку мало кто помнит нюансы.
9 Mikhail Volkov
 
14.06.17
12:00
(8) Пытался разобраться, вроде в модуле Битрикса КД2 не пахнет...
10 Повелитель
 
14.06.17
12:06
(0) Так вы в код гляньте, при проведении любого складского документа номенклатура регистрируется для сайта.
Поэтому даже "Выгружать только изменения" будет много товаров.

У нас ассортимент около 250 000 в базе, около 60 000 на сайте.
Мы например у себя из обмен выпилили этот кусок, действительно при обмене каждые 30 минут, в обмен попадали тысячи товаров.
Вставили свой кусок кода для изменения остатков на сайте.
11 Bambr49
 
14.06.17
12:09
(10) эх ты..ясно,спасибо..это идея
12 Bambr49
 
14.06.17
12:11
(5) там есть модуль Б_ОбменССайтомСерверВыгрузкаДанных,в нем
Процедура ВыгрузитьТоварыXDTO(...
вот тудой пихай и количество и ожидаемый приход и все что душе угодно
13 Mikhail Volkov
 
14.06.17
12:12
+(9) Там старый Битрикс 6.0.3.4 для УТ11.2
(10) Куда что вставляли, все в Б_ОбменССайтомСерверВыгрузкаДанных?
14 Джинн
 
14.06.17
12:13
(9) Ессно. Там пакеты XDTO формируются и отправляются на сайт. Причем здесь КД?
15 Bambr49
 
14.06.17
12:13
(13) ну да,я тудой пихал..в этот модуль
16 Повелитель
 
14.06.17
12:14
(13) У нас модуль "Б_ПроцедурыОбменаССайтом"
17 Повелитель
 
14.06.17
12:15
(16) Конфа у нас другая, но модуль обмена брали с сайта Битрикс и вставляли себе. А потом напильником прошлись )))
18 Bambr49
 
14.06.17
12:17
(13) ну то ись еси конфа иная какая -ищи процедуру ,оная формирует пакеты товаров XTDO для выгрузки..
19 mehfk
 
14.06.17
12:46
(1) Если делаешь выгрузку в каталог, то регистрация у объектов  не снимается.
20 Mikhail Volkov
 
14.06.17
18:32
(14) Да я уж понял, что не КД2. Как-то уже привык, что обмены через КД2 делаются, не только правила обмена, но и регистрации объектов. Ну вставлю в выгрузку количество и дату ожидаемого товара. Не выгружать же каждый раз весь товар. Надо будет только тот, на который появились новые заказы поставщику, т.е. решать ту же проблему, что у ТС.

Еще вопрос: Битрикс 6.0.3.4 будет работать с УТ11.3? А то программист сайта говорит, что для следующей версии Битрикс (которая для УТ11.3) придется сайт переделывать, у него там много своих доработок.
21 Джинн
 
14.06.17
18:41
(20) Никакая религия не запрещает создать свой узел обмена, прикрутить к нему свои правила регистрации с блек-джеком и девушками с пониженной социальной ответственностью, а далее при обмене "обнюхивать" зарегистрированные объекты в процедуре, отдавать их на сайт.

Как с УТ не скажу - у меня модуль для УПП.
22 Сияющий Асинхраль
 
14.06.17
19:09
Вот ведь! У каждого свои проблемы с выгрузкой от битрикса, мне наоборот как-то пришлось модуль править, чтобы 1С выгружала Полный список товаров, потому что галка "Полная выгрузка" благополучно игнорила картинки :-( и еще что-то...
23 AneJIbcuH
 
14.06.17
19:21
(22) Так там есть галка, "Принудительная выгрузка что-то там.." она и картинки выгружает.
24 Сияющий Асинхраль
 
14.06.17
19:30
(23) Там была не галка, а кнопка "Полная выгрузка" вот когда по кнопке выгружалось, то выгружало все, а если просто поставить галку "Полная выгрузка", то выгрузка была все-равно далеко не "полная", конечно, если не заходить каждый раз ручками не нажимать кнопку "Полная выгрузка" :-(
25 Mikhail Volkov
 
15.06.17
10:15
А как насчет вопроса (20): Битрикс 6.0.3.4 будет работать с УТ11.3?
26 Сияющий Асинхраль
 
15.06.17
18:16
(25) По крайней мере шаблон 6.0.3.4 ставится в папку с названием УТ 11.2.3.
27 Demasiado
 
15.06.17
18:23
(25) для 11.3 есть версия модуля 6.0.5 и в ней много чего переписано. + 1с разработчик который пилит этот модуль интеграции для всех анонсировал скорый выход модуля 7.хх, в котом "очень много изменений и все переделано"
28 Demasiado
 
15.06.17
18:26
(25) 6.0.3.1 работал с версией УТ 11.3.3.145, но в обновлениях анонсированы множественные исправления ошибок, оптимизация и даже починили выгрузку пользовательских справочников (хотя это пока не тестили, есть нетиповой справочник, который необходимо выгружать на сайт)
29 Mikhail Volkov
 
16.06.17
08:07
(26) Что за шаблон? Сейчас у клиента УТ 11.2.3.300, обновили Битрикс с 6.0.3.1 на 6.0.3.4, вроде полет нормальный...
(28) Значит в принципе работает Битрикс 6.0.3.4 с УТ 11.3, но что-то править надо. Что?
30 Ager
 
16.06.17
09:11
Регистрация для измененных очищается только при выгрузке на сайт и при отсутствии ошибок при выгрузке. Если выгружать на диск, то товары из узла не уйдут.
31 Ager
 
16.06.17
09:12
С УТ 11.3 можно установит модуль обмена 6.5.0.1, но Битрикс тоже должен быть обновлен, иначе обмен заказами работать перестанет.
32 Demasiado
 
16.06.17
14:49
(31) + битрикс маг должен быть 17.0.3++ версии
33 Mikhail Volkov
 
16.06.17
16:01
(32) Вот про этот "битрикс маг должен быть 17.0.3++ версии" программист сайта говорит: крайне нежелательно, ему много что переделывать придется. А без него УТ11.3 никак?
34 Demasiado
 
16.06.17
17:34
(33) Подозреваю, что тогда на стороне 1с пилить придется много. Я сам видел оба модуля - изменения в новой версии очень большие. Скорее всего с 16 версией будет работать некорректно или вообще не взлетит. В самом коде модуля интеграции на стороне 1с в 6.0.3.1 прописана версия протокола 2.хх, а в 6.5.0.1 3.хх
35 Mikhail Volkov
 
24.06.17
08:02
Возникла необходимость контролировать реквизиты шапки заказа клиента загружаемого с сайта. Чтобы не было пустых значений, например, организация. Интернет-магазин принадлежит Интеркомпании заказы обычно оформляются на ИП, желательно ее поставлять. Справочники.Организации.НайтиПоНаименованию() или коду не хочется использовать. Могут измениться. Предопределенных и настроек пользователя нет в УТ11. Написал:

Функция ОсновнаяОрганизацияПродажиПоУмолчанию() Экспорт

    Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    Организации.Ссылка
    |ИЗ
    |    Справочник.Организации КАК Организации
    |ГДЕ
    |    Организации.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо
    |    И НЕ Организации.ПометкаУдаления
    |
    |УПОРЯДОЧИТЬ ПО
    |    Организации.ДатаРегистрации УБЫВ");
    Запрос.УстановитьПараметр("ЮридическоеФизическоеЛицо", Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.Ссылка;
    КонецЕсли;
    Возврат Неопределено; // ???
        
КонецФункции

Выдает последнее заведенное ИП. Вот только Неопределено не нравится, нужно любую из последних что есть в справочнике. В теме Как получить последний элемент справочника ответа не нашел.
36 mehfk
 
24.06.17
08:49
(35) Сделай константу и подставляй ее.
37 Mikhail Volkov
 
24.06.17
08:54
(36) Сложно (добавлять объект), нужно что-то простенькое, типа: Справочники.Организации.Выбрать(,,, "Убыв").Следующий().Ссылка
38 mehfk
 
24.06.17
08:57
Что за сложности с добавление объекта?
39 Mikhail Volkov
 
24.06.17
09:41
(38) Зачем? Это лишь на всякий случай (мало ли создадут новую базу без ИП), лишь бы не пустой элемент.
40 mehfk
 
24.06.17
09:44
Ты пьян?
41 Mikhail Volkov
 
24.06.17
10:05
Простой вопрос: Как получить последний (по созданию) элемент справочника?
42 Mikhail Volkov
 
24.06.17
14:29
Блин, ДатаРегистрации не заполняется, для ИП - по свидетельству. А если УПОРЯДОЧИТЬ ПО ссылке, нормально?
43 Сияющий Асинхраль
 
24.06.17
14:31
(41) Сам ведь знаешь ответ на этот вопрос. Как минимум два варианта - либо парсить журнал регистрации (что при большом справочнике накладно), либо писать дату создания в сам справочник (кстати, так зачем-то сделали в типовой УНФ в некоторых справочниках, по моему, в номенклатуре), можно также в периодический регистр писать в подписке
44 Mikhail Volkov
 
24.06.17
15:43
(43) А что дает УПОРЯДОЧИТЬ ПО ссылке? Ссылка вроде как GUID возрастает в базе по дате/времени (организации как правило в обмене не участвуют).
45 Сияющий Асинхраль
 
24.06.17
16:33
(44) Это теоретически, вполне может быть ситуация, когда Организация заводится, а потом с ней никто не работает :-) У меня таких организаций у клиентов пруд-пруди :-( . Вообще, я бы упорядочению по ссылкам не доверял, простейший вариант добавить реквизит и заполнять его в подписке, в этом случае на обновление конфы дополнительный реквизит влиять не будет, и, с другой стороны он всегда будет заполнен, чего, как ты сказал, не наблюдается для реквизита ДатаРегистрации для ИП
46 Demasiado
 
24.06.17
17:18
Это просто день отжигов какой-то...А что вам мешает использовать Код справочника Организации?? Максимальное значение будет у того кто создан последним.
(35) для программистов которые пишут вот так в запросе
"    |    Организации.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо" отдельные котлы в аду стоят. Те кто в рай попадают, пишут через Значение(....)
47 Сияющий Асинхраль
 
24.06.17
17:21
(46) У каждого, конечно, свой подход, но я бы пристрелил именно того, кто через Значение() пишет :-)
48 Demasiado
 
24.06.17
17:22
(47) ты наверное и "ГДе объект.Проведен = &Истина" пишешь?;)
49 Сияющий Асинхраль
 
24.06.17
17:25
+(47) Сравнивать по коду, кстати, тоже не всегда прокатит, иногда бывают Организации и другие справочники перенесенные из разных конф с разными префиксами

(48) не поверишь пишу ГДе объект.Проведен
Написание:
Организации.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо
предполагает, что параметр выбирается в форме, что я всегда и делаю, а Значение() предполагает дубово заданное значение в коде. В этом вся разница
50 vis_tmp
 
24.06.17
19:57
(47)А почему?
51 Demasiado
 
25.06.17
03:27
(49) Могу сказать что запрос в котором используется Значение(...) отработает быстрее, поэтому он оптимальнее
52 Mikhail Volkov
 
25.06.17
05:10
(46) Дык, в последних конфигурациях УТ11/ERP у справочниках нет кодов. Насчет Значение(...) - согласен, быстрее и код компактней. Но в последнем варианте пришлось от этого отказаться:

// Основная организация продажи по умолчанию - последняя, желательно ИП
//
Функция ОсновнаяОрганизацияПродажиПоУмолчанию() Экспорт

    Организация = Неопределено;
    
    Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    Организации.Ссылка,
    |    Организации.ЮридическоеФизическоеЛицо
    |ИЗ
    |    Справочник.Организации КАК Организации
    |ГДЕ
    |    НЕ Организации.ПометкаУдаления
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка УБЫВ");
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Организация = ?(Организация = Неопределено, Выборка.Ссылка, Организация);
        Если Выборка.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда
            Возврат Выборка.Ссылка;
        КонецЕсли;
    КонецЦикла;
    Возврат Организация;
        
КонецФункции

Аналогичная функция для ОсновноеСоглашениеСКлиентамиПоУмолчанию(Знач Организация), в основном для нее потребовалась ОсновнаяОрганизацияПродажиПоУмолчанию()

Когда была одна организация реквизиты шапки жестко указывались в настройках обмена Битрикс. Потом стала Интеркомпания. Клиентам, которым нужен НДС обязательно, заказ оформляют на ООО. Решили оставлять пустые организация и соглашение. Заказ пришел с сайта, менеджер начинает его согласовывать с клиентом, узнает нужен ли ему НДС, подставляет нужное соглашение (организацию), и заказ пересчитывается вплоть до сумм НДС в товаре. Все хорошо, если клиент не меняет товар в заказе. А если что-то добавил, поменял, то заказ снова выгружается с сайта, и затирает реквизиты пустыми значениями.
Если бы обмен с сайтом был построен по правилам КД2, то проблема решалась бы просто - не выгружать пустые значения. Но у Битрикс свой обмен. Пришлось перед запись в базу написать контроль пустых значений. Если ОбъектНайден = Не ОбъектЗаказКлиента.Ссылка.Пустая(), оставляю старые значения реквизиты шапки заказа, по ним пересчитываю суммы НДС в товаре. А если, нет - то использую свои функции.
53 Mikhail Volkov
 
29.06.17
05:58
По поводу регистрации изменений. В файле выгрузки номенклатуры есть строки (для примера не все):
<ЗначенияРеквизитов>
    <ЗначениеРеквизита>
        <Наименование>Полное наименование</Наименование>
        <Значение>Антенный комплект №3 Эконом для 3G USB-модема, антенна AX-2014PF, адаптер AXA-3000F</Значение>
    </ЗначениеРеквизита>
    <ЗначениеРеквизита>
        <Наименование>Код</Наименование>
        <Значение>00000020355</Значение>
    </ЗначениеРеквизита>
    <ЗначениеРеквизита>
        <Наименование>Планируемая дата поступления</Наименование>
        <Значение/>
    </ЗначениеРеквизита>
</ЗначенияРеквизитов>
Пока не разбирался откуда берется "Планируемая дата поступления", видимо из заказа поставщику. Но при нормальном обмене (изменениями) она пустая. Появляется лишь при полной выгрузке. Подозреваю, что при записи заказа поставщику, номенклатура заказа не регистрируется измененной. У Битрикс обмен не типовой (не КД2), подскажите как лучше исправить дефект?
54 mehfk
 
29.06.17
06:22
А какие у тебя варианты исправления? Чтобы выбрать лучший из них?
55 Mikhail Volkov
 
29.06.17
08:10
(54) Что касается обменов привык делать в КД2, но тут обмен не типовой. Первое что приходит на ум сделать подпиской на событие при записи заказа поставщику - регистрировать номенклатуру заказа измененной.
Но сначала надо разобраться, что за реквизит "Планируемая дата поступления" - откуда он взялся. Клиент еще пожелал добавит "Количество ожидаемого".
56 Mikhail Volkov
 
29.06.17
19:31
Как вообще Битрикс регистрирует изменение номенклатуры? Изменение заказа поставщику ни как ее не регистрирует.
57 Сияющий Асинхраль
 
29.06.17
20:05
(50) Объяснил в (49)
В предыдущих релизах обменов 1С с Битрикс был такой параметр "Дата поступления товара", когда поставил новый релиз обмена этот параметр из настройки обмена исчез как будто его и не было. Можно пытаться дописывать обмен. Для особо ленивых можно добавить в номенклатуру дополнительный реквизит "Дата поступления", а уж как его заполнять каждый решает сам для себя, хоть руками, хоть подпиской какой-нибудь...
58 Mikhail Volkov
 
30.06.17
05:46
(57) В процедуре ПослеЗаписиНаСервере() Заказа поставщику вставил перезапись номенклатуры (но в ней ничего не менял), у которой ДатаПоступления > ТекущаяДата(), но в файл изменений import___*.xml она не попала (только какие-то картинки выгрузились). Что нужно делать с номенклатурой, чтобы она регистрировалась как измененная, и выгружалась?
59 Looking
 
30.06.17
06:25
(22)конечно в каждом конкретном случае свои цели и задачи, бывают и диаметрально противоположные
60 Mikhail Volkov
 
30.06.17
07:18
+(58) А не, вру: толи не в том файле смотрел (запутался в них), то ли на "Товары" галочку поставил: "Настройка версионности выгружаемых данных".
Но перезаписывать номенклатуру как-то не хорошо!? Наверное должен другой способ, чтобы номенклатура регистрировалась как измененная. Какой?
61 Mikhail Volkov
 
30.06.17
14:12
А вообще какой командой (оператором) формируются теги типа:
<ЗначениеРеквизита>
    <Наименование>Полное наименование</Наименование>
    <Значение>Антенна AGATA для 3G/4G-модема</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
    <Наименование>Код</Наименование>
    <Значение>00000020404</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
    <Наименование>Планируемая дата поступления</Наименование>
    <Значение>31.07.2017 0:00:00</Значение>
</ЗначениеРеквизита>
как-то с КД2 до таких мелочей не приходилось опускаться.
62 mehfk
 
30.06.17
15:10
(61) Ну что же ты такой ленивый

Если ПараметрыОбмена.ВыгружатьПланируемуюДатуПоступленияНоменклатуры тогда
  лВыгружатьПланируемуюДатуПоступления = ПолучитьДатуПланирования(ТекПредложение.Номенклатура, лМенеджерВременныхТаблиц, ТекПредложение.Характеристика);
КонецЕсли;

...

Функция ПолучитьДатуПланирования(НоменклатураСсылка, лМенеджерВременныхТаблиц, ХарактеристикаСсылка = НеОпределено)
    
    мЗапросПоДП = Новый Запрос(    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ВремПланируемыеДатыПоступления.ДатаПоступления КАК ДатаПоступления
    |ИЗ
    |    ВремПланируемыеДатыПоступления КАК ВремПланируемыеДатыПоступления
    |ГДЕ
    |    ВремПланируемыеДатыПоступления.Номенклатура = &Номенклатура
    |    И ВремПланируемыеДатыПоступления.Характеристика = &Характеристика
    |
    |УПОРЯДОЧИТЬ ПО
    |    ДатаПоступления");


...


    ЗапросПоПланируемойДатеПоступления = "ВЫБРАТЬ
    |    ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
    |    ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры КАК Характеристика,
    |    ЗаказыПоставщикамОстатки.ЗаказПоставщику.ДатаПоступления КАК ДатаПоступления,
    |    ЗаказыПоставщикамОстатки.КоличествоОстаток КАК Количество
    |ПОМЕСТИТЬ ВремПланируемыеДатыПоступления
    |ИЗ
    |    РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки
    |ГДЕ
    |    ЗаказыПоставщикамОстатки.ЗаказПоставщику.ДатаПоступления >= &ТекДата
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура,
    |    Характеристика";
63 Mikhail Volkov
 
30.06.17
17:43
(62) Вопрос в другом: клиенту нужно чтобы наряду с "Планируемая дата поступления" еще было "Ожидаемое количество". Пока такое решение: ОжидаемоеКоличество определяю той же функцией:

Функция ПолучитьДатуПланирования(лМенеджерВременныхТаблиц, Номенклатура, Характеристика = НеОпределено)
    
    мЗапросПоДП = Новый Запрос(    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ВремПланируемыеДатыПоступления.Количество КАК ОжидаемоеКоличество,
    |    ВремПланируемыеДатыПоступления.ДатаПоступления КАК ДатаПоступления
    |ИЗ
    |    ВремПланируемыеДатыПоступления КАК ВремПланируемыеДатыПоступления
    |ГДЕ
    |    ВремПланируемыеДатыПоступления.Номенклатура = &Номенклатура
    |    И ВремПланируемыеДатыПоступления.Характеристика = &Характеристика
    |
    |УПОРЯДОЧИТЬ ПО
    |    ДатаПоступления");
    
    мЗапросПоДП.МенеджерВременныхТаблиц = лМенеджерВременныхТаблиц;

    ДатыПоступления = "";
    
    мЗапросПоДП.УстановитьПараметр("Номенклатура", Номенклатура);
    
    Если ЗначениеЗаполнено(Характеристика) Тогда
        мЗапросПоДП.УстановитьПараметр("Характеристика", Характеристика);
    Иначе
        мЗапросПоДП.УстановитьПараметр("Характеристика", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
    КонецЕсли;
    
    РезультатЗапроса = мЗапросПоДП.Выполнить().Выбрать();
    
    Пока РезультатЗапроса.Следующий() Цикл
        ДатыПоступления = ДатыПоступления + Строка(РезультатЗапроса.ДатаПоступления);
        ДатыПоступления = ?(ПустаяСтрока(ДатыПоступления), "", ДатыПоступления + "/" + РезультатЗапроса.ОжидаемоеКоличество);    //+МВ 30.06.2017
    КонецЦикла;
    
    Возврат ДатыПоступления;
    
КонецФункции

В результате в файле получаю такой тег:

<ЗначениеРеквизита>
    <Наименование>Планируемая дата поступления</Наименование>
    <Значение>31.07.2017 0:00:00/100</Значение>
</ЗначениеРеквизита>

А мне нужно из него сделать два таких:

<ЗначениеРеквизита>
    <Наименование>Планируемая дата поступления</Наименование>
    <Значение>31.07.2017 0:00:00</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
    <Наименование>Ожидаемое количество</Наименование>
    <Значение>100</Значение>
</ЗначениеРеквизита>

Как это сделать? Может можно как-то по другому? Не работал с  xml-файлами, в КД2 не было нужды.
64 mehfk
 
30.06.17
17:46
Можно. Договор. Предоплата. Консультация.
65 Mikhail Volkov
 
30.06.17
18:30
Да мне бы ссылку как формируется xml-файл в 1С?
66 mehfk
 
30.06.17
18:33
ЗаписьXML = Новый ЗаписьXML;
67 Mikhail Volkov
 
01.07.17
05:04
(66) Нет, конкретный тег создает в xml-файле? Этот:
<ЗначениеРеквизита>
    <Наименование>Планируемая дата поступления</Наименование>
    <Значение>31.07.2017 0:00:00/100</Значение>
</ЗначениеРеквизита>

Вроде это: Б_ОбменССайтомСервер.ДобавитьЗначениеРеквизитаXDTO()?
Вставил:

Если ПараметрыОбмена.ВыгружатьПланируемуюДатуПоступленияПредложения тогда
    лОжидаемоеКоличество = "";    //+МВ 30.06.2017
    Если Найти(лПланируемаяДатаПоступления, "/") > 0 Тогда
        лОжидаемоеКоличество = Прав(лПланируемаяДатаПоступления, СтрДлина(лПланируемаяДатаПоступления) - Найти(лПланируемаяДатаПоступления, "/"));
        лПланируемаяДатаПоступления = Лев(лПланируемаяДатаПоступления, Найти(лПланируемаяДатаПоступления, "/") - 1);
    КонецЕсли;    //-МВ
                
    Б_ОбменССайтомСервер.ДобавитьЗначениеРеквизитаXDTO(ПараметрыОбмена, XDTOЗначенияРеквизитов, XDTOЗначениеРеквизитаТип, "Планируемая дата поступления", лПланируемаяДатаПоступления);
            
    Б_ОбменССайтомСервер.ДобавитьЗначениеРеквизитаXDTO(ПараметрыОбмена, XDTOЗначенияРеквизитов, XDTOЗначениеРеквизитаТип, "Ожидаемое количество", лОжидаемоеКоличество);    //+МВ 30.06.2017
                
КонецЕсли;

Не помогло, в файл один тег пишется: Дата/Количество!?
68 mehfk
 
01.07.17
06:31
(67) см (64)
69 Mikhail Volkov
 
01.07.17
08:11
(68) А за Спасибо!? Не, правильно ДобавитьЗначениеРеквизитаXDTO() этот тег добавляет, но я сперва добавил только в ВыгрузитьПредложенияXDTO() модуля Б_ОбменССайтомСерверВыгрузкаДанных. Добавил в ВыгрузитьТоварыXDTO() и все как надо выгружается.

Лучше по теме подскажи (60), если Битрикс знаешь. Или для Битрикс это нормально регистрировать изменения перезаписью?
И еще, сейчас номенклатура всегда выгружается в файл, не надо даже заказ поставщику перезаписывать. Она что, "пожизненно" теперь зарегистрировалась измененной?
В типовых обменах после завершенного обмена измененные объекты перестают быть измененными.
70 mehfk
 
01.07.17
09:45
Можно и за "Спасибо": ты мне 5 кг красной икры, а я тебе "Спасибо".
71 Mikhail Volkov
 
01.07.17
14:47
(70) Идеи в кг измеряешь? Ладно, если не знаешь, видимо в Битрикс по другому нельзя регистрировать объекты измененными, только их перезаписью.
Еще ужесточил условия регистрации: регистрирую только в тех заказах, где Дата поступления не просрочена (не меньше текущей даты), и состояние заказа - в "Ожидается поступление". Чтобы не выгружать на сайт просроченные даты.
И еще, у клиента в базе почти все заказы поставщику просрочены: Дата поступления равна Дате заказа. Поэтому, перед записью выдаю предупреждение, и предлагаю ввести новую дату. Опять же в том случае, если Дата поступления просрочена, и состояние заказа - в "Ожидается поступление". Но думаю, что это не совсем правильно: пред записью состояние заказа может не быть в "Ожидается поступление", а перейти в него после записи/проведения. Как определить такую ситуацию, чтобы правильно предлагать ввести Дату поступления?
72 mehfk
 
03.07.17
11:33
(71) Какие идеи? КД 2.0 говоришь знаешь? Номенклатуру путем перезаписи элемента справочника регистрируешь. Ну-ну.
73 mehfk
 
03.07.17
11:34
(71) Я свое спасибо измеряю в килограммах красной икры. А ты свое в строках кода. Все правильно.
74 Mikhail Volkov
 
03.07.17
13:33
(72) С Битрикс только разбираюсь. Если знаешь подскажи как по другому регистрировать?
75 mexanik_96
 
03.07.17
13:44
(74) обармотка есть там(в конфе) регисрация объектов
76 mexanik_96
 
03.07.17
13:45
+(76) регисрируешь у все
77 mehfk
 
03.07.17
13:49
(74) А как ты при использовании КД 2.0 регистрируешь объекты?
78 Mikhail Volkov
 
03.07.17
16:19
(75) Есть, или "вроде как должна быть"? Этот вопрос задал на форуме Битрикс, ответили https://dev.1c-bitrix.ru/community/forums/forum26/topic98375/message491163/#message491163 "Пока только так".
79 Mikhail Volkov
 
08.07.17
09:29
В обработке "Регистрация изменений для обмена данными" явно не перезаписью объектов регистрируют. Пока не понял как?
80 Mikhail Volkov
 
08.07.17
16:11
ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Строка.Номенклатура); - нужно только собрать узлы ПланОбмена.Б_ОбменССайтом с реквизитами ВыгружатьТолькоИзменения и ОбменТоварами, а также НЕ ПометкаУдаления

Клиент еще пожелал кроме "Планируемая дата поступления" и "Ожидаемое количество", еще выгружать "В резерве под заказ", т.е. из числа "Ожидаемое количество". Добавить еще выгружаемый реквизит не проблема, но протестировать не могу. Как следует провести заказ клиента, чтобы в РН СвободныеОстатки.ВРезервеПодЗаказ появилось не нулевое значение? Ставлю в заказе Действие: "Резервировать к дате" - не помогает!?
81 Mikhail Volkov
 
08.07.17
17:50
Вроде как нужно действие: "Отгрузить обособленно", но как его поставить?
82 Mikhail Volkov
 
09.07.17
11:21
Ну, что за хрень, делаю по http://1c-upravlenie-torgovley-11.ru/rezervi/obosoblennoe-obespechenie-zakazov/, и ни как!? Мне нужно чтобы в РН СвободныеОстатки.ВРезервеПодЗаказ появилось не нулевое значение чисто для тестирования выгрузки на сайт.
83 Mikhail Volkov
 
09.07.17
13:22
Сдается мне, что ресурс СвободныеОстатки.ВРезервеПодЗаказ - вовсе не то, хочет мой заказчик "В резерве из числа ожидаемых" (возможно так было в ранних релизах)!? Смотрю РН СвободныеОстатки с не пустыми значениями ВРезервеПодЗаказ, в них Заказ клиента и Поступление товаров и услуг следуют парами, причем Поступление с +, Заказ клиента с -. Получается, что Заказ клиента двигает СвободныеОстатки, только после Поступления? А когда товар уже поступил, это не "ожидаемое", а в наличии.
Тогда вопрос: откуда брать "В резерве из числа ожидаемых"? Из ОбеспечениеЗаказов.КЗаказу?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.