1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Выгрузка из 1С Предприятие 8.2 на сайт, нет тега Склада

Тема в разделе "Web Coding", создана пользователем Den1xxx, 29 май 2017.

Модераторы: latteo
  1. Den1xxx

    Den1xxx

    Регистр.:
    15 янв 2014
    Сообщения:
    196
    Симпатии:
    113
    Здравствуйте.
    В конфигурации 1С Предприятие 8.2.18.104 мы делаем обмен на сайт (движок самопис).
    Из 1С прилетает import.xml такой структуры:
    import.xml_zifra.png
    Здесь ветки свёрнуты.
    Если развернуть тег «Каталог», то в начале следующее:
    <Каталог СодержитТолькоИзменения="false">
    <Ид>ba1b0216-3375-41aa-b31a-7160998431a8</Ид>
    <ИдКлассификатора>ba1b0216-3375-41aa-b31a-7160998431a8</ИдКлассификатора>
    <Наименование>Основной каталог товаров</Наименование>
    <Владелец>
    <Ид>c25a7969-50eb-4d49-ade2-3ddf89b5fc14</Ид>
    <Наименование>Управленческая организация</Наименование>
    </Владелец>
    <Товары>
    <Товар>
    <Ид>01f0d5a3-8f6f-11e6-800e-00155d000e01</Ид>
    <Штрихкод>2000230063323</Штрихкод>
    <Артикул>048-0016</Артикул>
    <Наименование>Шлейф матрицы Acer Aspire One D250</Наименование>
    <БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
    <ПолноеНаименование>Шлейф матрицы Acer Aspire One D250</ПолноеНаименование>
    <Группы>
    <Ид>b038d125-f581-11e5-943e-00155d040d00</Ид>
    </Группы>
    <СтавкиНалогов>
    <СтавкаНалога>
    <Наименование>НДС</Наименование>
    <Ставка>Без налога</Ставка>
    </СтавкаНалога>
    </СтавкиНалогов>
    <ЗначенияРеквизитов>
    <ЗначениеРеквизита>
    <Наименование>ВидНоменклатуры</Наименование>
    <Значение>Partsdirect</Значение>
    </ЗначениеРеквизита>
    <ЗначениеРеквизита>
    <Наименование>ТипНоменклатуры</Наименование>
    <Значение>Товар</Значение>
    </ЗначениеРеквизита>
    <ЗначениеРеквизита>
    <Наименование>Полное наименование</Наименование>
    <Значение>Шлейф матрицы Acer Aspire One D250</Значение>
    </ЗначениеРеквизита>
    </ЗначенияРеквизитов>
    </Товар>
    <Товар>
    <Ид>01f0d5a4-8f6f-11e6-800e-00155d000e01</Ид>
    //////////И так далее
    И нигде не видно, с какого склада выгружаются товары.
    Вот здесь Перейти по ссылке описано, что import.xml МОЖЕТ содержать теги ИД склада.
    Как этого добиться? Возможно, какие-то не те кнопки нажимает оператор при выгрузке?
    Подскажите, может у кого было уже такое.
     
  2. MaxiSoft

    MaxiSoft

    Регистр.:
    5 апр 2007
    Сообщения:
    169
    Симпатии:
    113
    Нужно настроить доступность складов, для выгрузки на сайт, для этого нужно отредактировать правила обмена в 1с
     
    Den1xxx нравится это.
  3. Den1xxx

    Den1xxx

    Регистр.:
    15 янв 2014
    Сообщения:
    196
    Симпатии:
    113
    Так оно вроде настроено. Склады выгружаются (по очереди или все, как выберешь), но в конечном xml файле нет нигде тега «Склад» — ни в import, ни в offers.
    Пока выходим из положения путем прописывания в Гет-запрос &store=1, но так надо делать 4 выгрузки вместо одной.
    Был бы тег «Склад» в Продуктах — распарсили бы и всё пучком;)
    Тогда бы был 1 обмен — 4 склада.
     
  4. Den1xxx

    Den1xxx

    Регистр.:
    15 янв 2014
    Сообщения:
    196
    Симпатии:
    113
    Мне кажется, что, наверное, нужно в «Товар» создать реквизит «Склад» и типа «Ссылка на Склад» и потом в выгрузке и появится такой тег. Кто знает, это решит проблему? Сильно не пинайте, проверить смогу только завтра на работе, а ответ хочется знать заранее.
     
  5. MaxiSoft

    MaxiSoft

    Регистр.:
    5 апр 2007
    Сообщения:
    169
    Симпатии:
    113
    нет не получиться :) причина в том что склад то будет но вот остатки в разрезе складов нет. нужно смотреть типовую выгрузку, возможно не настроены доступности складов для пользователя под которым делается выгрузка. Проверь настройки пользователя в части доступности складов.
     
    Den1xxx нравится это.
  6. Den1xxx

    Den1xxx

    Регистр.:
    15 янв 2014
    Сообщения:
    196
    Симпатии:
    113
    Так и не нашел где это редактировать. В модуле напрямую?
     
  7. Den1xxx

    Den1xxx

    Регистр.:
    15 янв 2014
    Сообщения:
    196
    Симпатии:
    113
    Решение найдено, напишу ответ — вдруг кому-то ещё пригодится.
    Как и многое в 1С, оно оказалось проще и не требует программирования, однако до меня дошло тогда, когда посмотрел несколько обучающих уроков;)
    Если выгружать «как есть», выгружается вся суммируемая база.
    Чтобы на сайте разбить по складам, нужно в 1 выгрузке сделать несколько, в каждой сделать фильтр — по какому складу.
    В итоге на сайте будет несколько выгрузок, которые будут называться «import.xml», «import1.xml», «import2.xml»... и такие же имена у offers.xml
    Ну а потом уже пихаем в базу как положено.
    Лично я собираюсь в конфигах сайта сделать ассоциацию — в какую БД какой импорт запихивать.
    В общем, проблема была у клиента в боязни нажать в выгрузке на кнопку «Добавить»:
    vygruzka_dobavit.png
    Боялись, что несколько выгрузок будут перезаписывать друг друга.
    А надо было не бояться, а проверить:lol:
    Пожалуйста, закройте тему.
     
    Последнее редактирование: 16 июн 2017