Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 19:33

Не получается выгрузить номенклатуру из 1с 8.3 в локальную директорию

Автор Alexander V, 23 мая 2020, 18:28

0 Пользователей и 1 гость просматривают эту тему.

Поиск родных

Цитата: Alexander V от 28 мая 2020, 10:39
Пока что нашел, что в 1с УТ есть такая штука, как Сервис" -> "Прочие обмены данными" -> "Загрузка данных в формате CommercelML". Осталось найти аналог для 1С Предприятие УНФ 1.6
Точнее CommerceML , в УТ 10.3 и ранее (1С 7.7)
У приложениях на управляемых форрмах, универсальным обменом или с синхронизацией - нет.
И непонятно, зачем Вы ломитесь в закрытую дверь?

Если совсем невтерёж, то загрузите через внешнюю обработку "Выгрузка загрузка в формате XML"для обычных форм в режиме обычных форм (а не для управляемых приложений)
Добавлено: 04 июн 2020, 07:47


Цитата: Alexander V от 25 мая 2020, 18:35
С этим вопросом разобрался, осталось теперь еще докумекать, как подсунуть уже измененный ЭТОТ САМЫЙ файл import.xml с номенклатурой в формате CommerceML обратно в 1с...
Обычно, чтобы зарегистрировать файл для обмена достаточно перепровести документ или изменить - перезаписать элемент справочника Э а для полноценного обмена вначале гадо синхронизировать справочники , а уже последующим этапом документы  заказы

На всякий случай копирую статью ИТС
https://its.1c.ru/db/metod8dev#content:3314:hdoc
Обмен данными с Web-сайтом
Для решения задачи публикации информации о реализуемом товаре, размещения заказов на сайте, приема и обработки заказов и каталогов товаров непосредственно из интерфейсов системы "1С:Предприятие 8" фирмами "1С" и "1С-Битрикс" разработан открытый протокол взаимодействия WEB-сайта и прикладной торговой системы.

Функционально обмен делится на два бизнес-процесса:

1. Выгрузка на сайт коммерческих предложений (каталогов продукции).
2. Прием информации о заказах.

Первый бизнес-процесс обеспечивает публикацию на сайте каталога номенклатурных позиций. Второй необходим для передачи с сайта в информационную систему данных о заказах с сайта и дальнейшую синхронизацию статусов и параметров заказов.

В обоих случаях инициатором обмена выступает система "1С:Предприятие 8". Обмен электронными документами осуществляется в соответствии с форматами, описанными XML-схемой стандарта CommerceML, редакция 2.04 (Загрузить).

Выгрузка каталогов продукции
Каталоги для публикации на сайте выгружаются одним пакетом.

Начало сеанса
Выгрузка каталога начинается с того, что система "1С:Предприятие 8" отправляет http-запрос следующего вида:

http://<сайт>/<путь>/1c_exchange.php?type=catalog&mode=checkauth.

В ответ система управления сайтом передает системе "1С:Предприятие 8" три строки (используется разделитель строк "\n"):

слово "success",
имя Cookie,
значение Cookie.
Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия 8" содержат в заголовке запроса имя и значение Cookie.

Запрос параметров от сайта
Далее следует запрос следующего вида:
http://<сайт>/<путь>/1c_exchange.php?type=catalog&mode=init

В ответ система управления сайтом передает две строки:
1. zip=yes, если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате, или zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.
2. file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие 8" понадобится передать файл большего размера, его следует разделить на фрагменты.

Выгрузка на сайт
"1С:Предприятие 8" формирует запросы вида:

http://<сайт>/<путь>/1c_exchange.php?type=catalog&mode=file&filename=<имя файла>

для выгрузки на сайт файлов в формате CommerceML. Обмен происходит в виде POST.

В случае успешной записи файла система управления сайтом выдает строку "success".

Пошаговая загрузка каталога
Из "1С:Предприятия 8" производится пошаговая загрузка каталога по запросу с параметрами вида:
http://<сайт>/<путь>/1c_exchange.php?type=catalog&mode=import&filename=<имя файла>

Во время загрузки система управления сайтом направляет ответ в одном из следующих вариантов.
1. Если в первой строке содержится слово "progress", это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т. д.
2. Если в ответ передается строка со словом "success", то это будет означать сообщение об успешном окончании обработки файла.
3. Если в ходе запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса.
4. Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Прием заказов с сайта
Заказы, оформленные на сайте, загружаются в систему "1С:Предприятие 8".

При этом соблюдаются следующие 8 правил:
1. При передаче в систему "1С:Предприятие 8" в заказе устанавливается категория "Заказ с сайта".
2. При формировании заказа в системе "1С:Предприятие 8" записываются номер и дата заказа, с которыми он оформлен на сайте.
3. Поиск контрагента осуществляется по ИНН (индивидуальный номер налогоплательщика) или наименованию (в зависимости от настроек).
4. При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.
5. При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе "1С:Предприятие 8" по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.
6. Заказ может модифицироваться в системе "1С:Предприятие 8", при этом его изменения будут выгружаться на сайт.
7. Если заказ оплачивается или отгружается в системе "1С:Предприятие 8", то "состояния" заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается неоплаченным и неотгруженным.
8. После каждой выгрузки заказа на сайт на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе "1С:Предприятие 8" так, как они присвоены заказу на сайте.

Начало сеанса
Выгрузка каталога начинается с того, что система "1С:Предприятие 8" отправляет http-запрос следующего вида:

http://<сайт>/<путь>/1c_exchange.php?type=sale&mode=checkauth.

В ответ система управления сайтом передает системе "1С:Предприятие 8" три строки (используется разделитель строк "\n"):
слово "success",
имя Cookie,
значение Cookie.
Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия 8" содержат в заголовке запроса имя и значение Cookie.

Далее следует запрос следующего вида:
http://<сайт>/<путь>/1c_exchange.php?type=sale&mode=init

В ответ система управления сайтом передает две строки:

1. zip=yes, если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате, или zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.
2. file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие 8" понадобится передать файл большего размера, его следует разделить на фрагменты.
Получение файла обмена с сайта
На сайт отправляется запрос вида:
http://<сайт>/<путь>/1c_exchange.php?type=sale&mode=query.

Сайт передает сведения о заказах в формате CommerceML. В случае успешного получения и записи заказов "1С:Предприятие 8" передает на сайт запрос вида:
http://<сайт>/<путь>/1c_exchange.php?type=sale&mode=success

Отправка файла обмена на сайт
Система "1С:Предприятие 8" отправляет на сайт запрос вида:

http://<сайт>/<путь>/1c_exchange.php?type=sale&mode=file&filename=<имя файла>

который загружает на сервер файл обмена, посылая содержимое файла в виде POST.

В случае успешной записи файла система управления сайтом передает строку со словом "success". Дополнительно на следующих строчках могут содержаться замечания по загрузке.

Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса. Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Alexander V

Статью эту читал, про обмен с сайтом. И да, решил в итоге все делать через обработку "Выгрузка / загрузка в формате XML". Благодарю за такой развернутый ответ, задачу я в итоге выполнил успешно, в том числе и руководствуясь вашими советами

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск