Выгрузка xml на сайт обмен

1. Intercititude 08.09.20 12:35 Сейчас в теме +1 $m
Добрый день.
ОФ,8.2.

Стоит следующая задача:
Необходимо реализовать выгрузки номенклатуры из 1с:
1)Номенклатура с свойствами;
2) Номенклатура с ценами;
3) Номенклатураи остатки.
Всё это по трём шаблонам в формате xml. Не смог найти информацию как сделать произвольный шаблон( интересует иеархия).
Далее необходимо настроить автоматический обмен этими данными с сайтом через api http.

Подскажите как проще это реализовать, так как первый раз сталкиваюсь, не хотелось бы много времени убить на поиск оптимального варианта.

Мысль следующая:
1) Запросом брать данные. Выгружать три файла в XML по шаблону
2) По регламентному заданию автоматически отправлять по http на сайт api .
Достаточно ли этого ? И делать желательно через обработку в самой конфигурации ?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
23. koln 09.09.20 18:54 Сейчас в теме +1 $m
(22)Если конфигурация на БСП, можете попробовать следующий код:
	СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI("Полный_адрес_сайта");
	
	HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,СистемныйПользователь,СистемныйПароль,,,Новый ЗащищенноеСоединениеOpenSSL());
	
	//Если есть заголовки, то необходим следующий блок
	//*************************************************
	Заголовки = Новый Соответствие();
	Заголовки.Вставить("Имя_Заголовка","Значение_Заголовка");
	Заголовки.Вставить("Имя_Заголовка","Значение_Заголовка");
	//*************************************************
	
	HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);
	
	//Формирование тела запроса
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку("UTF-8");
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("products");
    ЗаписьXML.ЗаписатьНачалоЭлемента("product");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("id");
    ЗаписьXML.ЗаписатьТекст("id товара");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    #Область ОбходЦиклом
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("type");
    ЗаписьXML.ЗаписатьТекст("Розничная");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    ЗаписьXML.ЗаписатьТекст("479");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("type");
    ЗаписьXML.ЗаписатьТекст("Распродажа");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    ЗаписьXML.ЗаписатьТекст("299");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    #КонецОбласти 
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    СтрокаТело = ЗаписьXML.Закрыть();
	
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаТело);
	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	РезультатОтвета = HTTPОтвет.ПолучитьТелоКакСтроку(); //РезультатОтвет - строка в формате xml или json - ответ от сервиса
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. alex-l19041 8 08.09.20 13:28 Сейчас в теме
(1) в каком смысле
произвольный шаблон
?
4. Intercititude 08.09.20 13:34 Сейчас в теме
(3) Строго по шаблону,пример во вложении.
Такого формата сложно добиться ?
Прикрепленные файлы:
prices.xml
5. alex-l19041 8 08.09.20 13:36 Сейчас в теме
(4) можете посмотреть пример выгрузки https://infostart.ru/public/561006/
6. Intercititude 08.09.20 13:40 Сейчас в теме
(5) у Вас как раз выгружается массив строковых данных ?
9. alex-l19041 8 08.09.20 14:04 Сейчас в теме
(6) там есть ссылка на описание формата
8. koln 08.09.20 14:01 Сейчас в теме
(4)
	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.УстановитьСтроку("UTF-8");
	ЗаписьXML.ЗаписатьОбъявлениеXML();
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("products");
	ЗаписьXML.ЗаписатьНачалоЭлемента("product");
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("id");
	ЗаписьXML.ЗаписатьТекст("id товара");
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	#Область ОбходЦиклом
	ЗаписьXML.ЗаписатьНачалоЭлемента("price");
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("type");
	ЗаписьXML.ЗаписатьТекст("Розничная");
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("price");
	ЗаписьXML.ЗаписатьТекст("479");
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("price");
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("type");
	ЗаписьXML.ЗаписатьТекст("Распродажа");
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("price");
	ЗаписьXML.ЗаписатьТекст("299");
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	#КонецОбласти 
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	РезультатЗапроса = ЗаписьXML.Закрыть();
Показать


Можете такой код использовать, только область заполнения циклом и заполнять циклом.
Intercititude; +1 Ответить
18. Intercititude 09.09.20 14:53 Сейчас в теме
(8) А как результат запроса в формат xml сохранить/открыть программно ?
19. koln 09.09.20 15:07 Сейчас в теме
(18) Не совсем понял вопрос. Вам нужно сформированную сроку xml сохранить во внешний файл на компьютере?
20. Intercititude 09.09.20 15:15 Сейчас в теме
(19) Да, программно не могу получить формат xml из строки.

Возможно еще знаете ответ из (17)
21. koln 09.09.20 16:57 Сейчас в теме
(20)Если планируете его передавать сразу на сервис, то нет необходимости сохранять в файл, а надо передавать сразу в качестве тела POST запроса. Посмотрите в синтакс-помощнике описание метода УстановитьТелоИзСтроки(<ТелоКакСтрока>, <Кодировка>, <ИспользоватьBOM>), где параметр <ТелоКакСтрока> как раз и будет собранная в (8) xml-строка.
22. Intercititude 09.09.20 18:40 Сейчас в теме
(21) А есть примеры или ссылка как в post передают ?
23. koln 09.09.20 18:54 Сейчас в теме +1 $m
(22)Если конфигурация на БСП, можете попробовать следующий код:
	СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI("Полный_адрес_сайта");
	
	HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,СистемныйПользователь,СистемныйПароль,,,Новый ЗащищенноеСоединениеOpenSSL());
	
	//Если есть заголовки, то необходим следующий блок
	//*************************************************
	Заголовки = Новый Соответствие();
	Заголовки.Вставить("Имя_Заголовка","Значение_Заголовка");
	Заголовки.Вставить("Имя_Заголовка","Значение_Заголовка");
	//*************************************************
	
	HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере,Заголовки);
	
	//Формирование тела запроса
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку("UTF-8");
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("products");
    ЗаписьXML.ЗаписатьНачалоЭлемента("product");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("id");
    ЗаписьXML.ЗаписатьТекст("id товара");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    #Область ОбходЦиклом
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("type");
    ЗаписьXML.ЗаписатьТекст("Розничная");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    ЗаписьXML.ЗаписатьТекст("479");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("type");
    ЗаписьXML.ЗаписатьТекст("Распродажа");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьНачалоЭлемента("price");
    ЗаписьXML.ЗаписатьТекст("299");
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    #КонецОбласти 
    
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.ЗаписатьКонецЭлемента();
    
    СтрокаТело = ЗаписьXML.Закрыть();
	
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаТело);
	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	РезультатОтвета = HTTPОтвет.ПолучитьТелоКакСтроку(); //РезультатОтвет - строка в формате xml или json - ответ от сервиса
Показать
24. Intercititude 09.09.20 21:12 Сейчас в теме
(23) Спасибо! А что за заголовки ?
25. koln 09.09.20 21:27 Сейчас в теме
(24)Нужно в описании API смотреть, требуются ли какие-то заголовки для передачи на сервис или нет. А если требуются, то какие. В принципе, в интернете можете найти информацию по заголовкам HTTP
27. Intercititude 10.09.20 12:33 Сейчас в теме
(25) Блин, у меня платформа 8.2.16...
То есть HTTP Запрос отсутствует.
Остаётся вариант лишь через ftp?
28. koln 10.09.20 13:05 Сейчас в теме
(27)А у Вас куда должен передаваться xml файл? Если реализовать выгрузку на ftp, то как-то принимающая сторона должна его получать. Что это вообще за принимающая сторона?
А для работы с HTTPСоединение требуется платформа "1С:Предприятие" версии 8.2.18 и выше или 8.3.3 и выше. Наверно, можно и обновить, хоть до 8.2.18.
29. Intercititude 10.09.20 13:20 Сейчас в теме
(28) В идеале на api по указанному адресу. Обновить платформу могу в принципе до 8.2.18.

Ещё вопрос появился, у меня веб-сервер развёрнут на 8.3 - это как то можно использовать в моём случае,либо надо в любом случае обновить платформу?
30. koln 10.09.20 13:43 Сейчас в теме
(29)Обновитесь, т.к. методы будут вызываться из конфигурации, соответственно там и должна быть платформа, которая умеет использовать HTTPСоединение. Пример реализации на ИТС https://its.1c.ru/db/metod8dev/content/5574/hdoc
Intercititude; +1 Ответить
31. Intercititude 10.09.20 15:27 Сейчас в теме
(30) Да, спасибо. Как раз после того как увидел эту статью на итс задал Вам вопрос.

Ещё появился вопрос. Стартмани из топика ваши однозначно.

Сейчас механизм такой.
Пользователь выбирает номенклатуру, заполняет все её характеристики.Жмёт записать.
В РС записываются эти все данные и ставится признак у номенклатуры "Выгружать на сайт"( в РС значениесвойствобъектов).

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

Собственно вопрос: Как сделать так, чтобы на сайт отсылалась только та номенклатура и та характеристика которую изменил пользователь.
То есть если допустим изменили лишь штрихкод. То на сайт я должен выгрузить номенклатура и измененный штрихкод,а не полностью все данные
32. koln 10.09.20 15:40 Сейчас в теме
(31)Однозначно не могу сказать, тут нужно продумывать механизм версионирования (есть в продуктах на БСП). Смысл в том, что Вам при записи нужно где-то фиксировать изменившиеся реквизиты. Причем, контролировать это нужно при записи Номенклатуры. Например, в РС добавить измерение "ИзменившиесяРеквизиты" с типом "ХранилищеДанных" и "ВерсияОбъекта", с типом "Число". При записи Номенклатуры формируется, допустим, массив с изменившимися реквизитами и сохраняется в измерение "ИзменившиесяРеквизиты", а так же проверяет, есть ли уже запись в РС по данной номенклатуре и устанавливает след. номер версии. Ну, или если не нужно хранить историю, то без версии, просто перезаписывает имеющуюся запись.
33. Intercititude 10.09.20 17:09 Сейчас в теме
(32) Охо, я думал всё-таки проще возможно как то.

И по поводу текста xml который в РезультатЗапроса.
Всё-таки мне нужно выгрузить его и отправить человеку который занимается сайтом. Для проверки. Как это сделать ?
34. koln 10.09.20 17:46 Сейчас в теме
(33)Попробуйте такой код
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	Диалог.Расширение = "xml";
	
	Если Диалог.Выбрать() Тогда
		
		ЗаписьXML = Новый ЗаписьXML;
		ЗаписьXML.ОткрытьФайл(Диалог.ПолноеИмяФайла,"UTF-8");
		ЗаписьXML.ЗаписатьОбъявлениеXML();
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("products");
		ЗаписьXML.ЗаписатьНачалоЭлемента("product");
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("id");
		ЗаписьXML.ЗаписатьТекст("id товара");
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		#Область ОбходЦиклом
		ЗаписьXML.ЗаписатьНачалоЭлемента("price");
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("type");
		ЗаписьXML.ЗаписатьТекст("Розничная");
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("price");
		ЗаписьXML.ЗаписатьТекст("479");
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("price");
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("type");
		ЗаписьXML.ЗаписатьТекст("Распродажа");
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("price");
		ЗаписьXML.ЗаписатьТекст("299");
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьКонецЭлемента();
		#КонецОбласти 
		
		ЗаписьXML.ЗаписатьКонецЭлемента();
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.Закрыть();
		
	КонецЕсли;
Показать
Intercititude; +1 Ответить
35. Intercititude 21.09.20 14:21 Сейчас в теме
(32) Добрый день. А где то есть коды открытый с примером такого ?
Добрался до этого пункта наконец-то.
Или возможно проще как то можно хранить ?
Просто все мои характеристики и так записываются в регистр.
36. koln 23.09.20 08:42 Сейчас в теме
(35)Примеры взял из головы, что первое пришло на ум. Ссылок на подобные решения, к сожалению, нет.
26. пользователь 10.09.20 12:08
Сообщение было скрыто модератором.
...
38. Intercititude 24.11.20 17:27 Сейчас в теме
(23) Добрый вечер.
Подумал а почему нельзя этот код использовать для отправки ?

HTTP =  Новый HTTPСоединение(Сервер,,,,,Истина);

// Создаем временный файл, который будет
// передан в теле POST-запроса
ФайлЗапроса = ПолучитьИмяВременногоФайла();    
// Записываем в файл текстовое содержимое
// тела запроса (переменная "ТелоЗапроса")
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(ТелоЗапроса);           
ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.ANSI);
// Получаем размер отправляемых данных в теле запроса
ФайлОтправки = Новый Файл(ФайлЗапроса);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
// Подготовим временный файл для получения тела
// ответа POST-запроса
ФайлРезультата = ПолучитьИмяВременногоФайла();

// Для того, чтобы установить заголовки 
// POST-запроса создадим соответствие
ЗаголовокHTTP = Новый Соответствие();
// В этом примере устанавливаем в заголовках запроса
// размер передаваемых данных и их тип
ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки);
ЗаголовокHTTP.Вставить("Content-Type", "application/json; charset=utf-8");

// Отправляем POST-запрос для обработки. 
// Параметры:
//  1. Файл запроса - путь к файлу, содержащего
//        тело запроса
//  2. Ресурс - ссылка на страницу веб-сервера,
//        к которой выполняется POST-запрос
//  3. ФайлРезультат - файл, в который будет
//        помещено тело ответа сервера
//  4. ЗаголовокHTTP - соответствие с заголовками
//        POST-запроса
HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, 
                           ФайлРезультата, ЗаголовокHTTP);

// Получаем ответ веб-сервера на POST-запрос
// в виде текста
ТекстовыйФайлОтвет = Новый ТекстовыйДокумент;
ТекстовыйФайлОтвет.Прочитать(ФайлРезультата,КодировкаТекста.UTF8);
СтрокаОтветСервера = ТекстовыйФайлОтвет.ПолучитьТекст();
Показать


Помнится речь была о том, что у меня платформа не может создавать Http запрос, так как ранняя версия конфы. А тут не используется он.
39. koln 25.11.20 06:08 Сейчас в теме
(38)
ОтправитьДляОбработки

Согласно СП:
HTTPСоединение (HTTPConnection)
ОтправитьДляОбработки (Post)
Синтаксис:
ОтправитьДляОбработки(<HTTPЗапрос>, <ИмяВыходногоФайла>)
Параметры:
<HTTPЗапрос> (обязательный)
Тип: HTTPЗапрос.
HTTP-запрос.
<ИмяВыходногоФайла> (необязательный)
Тип: Строка.
Имя выходного файла, в который записываются полученные с сервера данные.
Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет.
Возвращаемое значение:
Тип: HTTPОтвет.
Описание:
Отправляет данные на указанный адрес для обработки при помощи HTTP-запроса POST.
Показать
40. Intercititude 25.11.20 12:53 Сейчас в теме
(39)Получется в любом случае обновлять релиз ? Надеялся, что может и без этого обойтись.
41. koln 25.11.20 13:37 Сейчас в теме
(40)Получается, что да.
Intercititude; +1 Ответить
42. Intercititude 25.11.20 16:20 Сейчас в теме
(41) Так, обновлять релиз нереально..
Если это переделать на ftp, можно ли пример и реализуемо это в моей версии ?
43. koln 26.11.20 06:13 Сейчас в теме
(42)По поводу выгрузки xml-файла на фтп можете посмотреть, как это реализовано в любой типовой конфигурации. "Администрирование - Синхронизация". Выбираете в качестве транспорта обмена каталог FTP. В указанный каталог сохраняется файл обмена (xml)
Прикрепленные файлы:
44. Intercititude 26.11.20 12:06 Сейчас в теме
(43) А то что у меня база 8.2 на оф не помешает это реализовать ?
45. koln 26.11.20 12:17 Сейчас в теме
(44)Ну за основу данный механизм можно взять, а реализовывать самому на ОФ. Вы же просили пример выгрузки данных на фтп.
Intercititude; +1 Ответить
2. vp_1c 08.09.20 13:17 Сейчас в теме
Номенклатура отдельно
Цены и остатки вместе
два регламентных задания по времени определишь сам насколько это актуально для фирмы

по ценам и остаткам примерно так

ВЫБРАТЬ
ЦеныНоменклатуры.Номенклатура.Ссылка КАК Ссылка,
ЦеныНоменклатуры.Номенклатура.Код КАК Код,
ЦеныНоменклатуры.Номенклатура.Наименование КАК Наименование,
КурсВалют.Курс * ЦеныНоменклатуры.Цена КАК Цена,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатуры
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсВалют
ПО ЦеныНоменклатуры.Валюта = КурсВалют.Валюта
ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.ПустаяСсылка)) КАК ТоварыНаСкладахОстатки
ПО ЦеныНоменклатуры.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад.ТипСклада = ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.ПустаяСсылка)) КАК ТоварыВРезервеНаСкладахОстатки
ПО ЦеныНоменклатуры.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
ГДЕ
ЦеныНоменклатуры.ТипЦен = &ТипЦен
И ЦеныНоменклатуры.Номенклатура В ИЕРАРХИИ(&Номенклатура)
7. Intercititude 08.09.20 13:41 Сейчас в теме
(2) 2 запроса имеете ввиду ? Номенклатура с свойствами и номенклатура цены/остатки.
10. vp_1c 08.09.20 14:27 Сейчас в теме
Номенклатура как один запрос
Цены и остатки как второй
Свойства как третий - потому что на сайте парсить разные запросы легче чем делать один громадный в котором запутаешься что к чему связано так как свойства имеют свои особенности
*ЗначенияСвойствОбъектов.Объект КАК Объект,
*ЗначенияСвойствОбъектов.Свойство КАК Свойство,
*ЗначенияСвойствОбъектов.Значение КАК Значение

которые нужно передавать
то есть с спр.Номенклатура левым соединением к ЗначенияСвойствОбъектов Из РегистрСведений.ЗначенияСвойствОбъектов

свойства очень не простые, хотя на первый взгляд всегда кажется наоборот
11. Intercititude 08.09.20 14:33 Сейчас в теме
(10) Так а причём тут парсить на сайте ?
Если на выходе я буду формировать три разных файла xml, который в свою очередь уже и будут попадать к сайту.
12. vp_1c 08.09.20 14:44 Сейчас в теме
со стороны сайта тоже будет писаться код чтобы обработать твой xml с вложенными параметрами
типа UID - уникальный идентификатор номенклатуры, а Name - Наименование номенклатуры и т.п.
13. Intercititude 08.09.20 15:56 Сейчас в теме
(12) Под свойствами имелись ввиду характеристики номенкелатуры.
В итоге 2 запроса 2 рег задания ?
17. Intercititude 09.09.20 13:58 Сейчас в теме
(12) Подскажите пожалуйста ещё в итоге готовый файл xml который я получил.
Как правильнее через http отправить по прямому адресу в теле запроса по логину паролю на сайт api ?
Не нашёл статьи подходящей
14. ашот 08.09.20 17:04 Сейчас в теме
1) Необходимо регистрировать где то в 1С установку цен. Скорее всего есть документ, у документа есть регистр по установке цен. Создаем свой регистр, в который пишем всё что будем отправлять и добавляем в ресурсы поле - результат отправки(0 - не отправлено, 1 - успешно, 2 и далее всякие коды ошибок уже)
2) Создаем регламентное задание которое будет с определенной периодичностью обрабатывать очередь из нового регистра и при успешной отправке будет проставлять статус.
3) изучаем внимательно api сайта - скорее всего номенклатура, так как это ссылочное поле, синхронизируется по ГУИДу сайта, и его тоже нужно где то хранить(доп реквизит в номенклатуре или отдельный регистр - это уже кому как). Сначала убеждаемся что всё ссылочное есть уже на стороне сайта, если нет, используем методы api чтобы создать новую номенклатуру, и только после этого отправляем пакет с ценой.
15. Intercititude 08.09.20 17:08 Сейчас в теме
(14) Регистр с новыми записями уже сделан. Так же добавил отметку "Выгружать на сайт".
Так что значит по правильному пути иду :)
37. slasher777 29.09.20 20:07 Сейчас в теме
Куда должен передаваться xml файл? Если реализовать выгрузку на ftp, то как-то принимающая сторона должна его получать. Что это вообще за принимающая сторона? А для работы с HTTPСоединение требуется платформа "1С:Предприятие" версии 8.2.18 и выше или 8.3.3 и выше.
46. user1761822 25.03.22 12:33 Сейчас в теме
добрый день. подскажите пожалуйста. Подключила Астрал ЭДО и хочу выгрузить туда акт выполненных работ в формате xml, Файл из 1с сформировала с помощью файла Выгрузка и загрузка данных XML который открыла в рабочей базе 1С, подгрузила его в астрал ЭДО, в астрал файл присоединился как неформализованный, как мне сделать чтоб файл был прочитан программой Астрал правильно и формат xml принимал верно без ошибок, Клиенты не могут прочитать неформализованный документ.
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день