Добрый день!
Возникают проблемы при попытке обмена данными 1C и Битрикс:
1с выдает такое сообщение:
Выгружено товаров: 1108
Выгружено предложений: 4616
{Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=offers.xml’
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:Documents and SettingsUSERLocal SettingsTemp1cbitrixoffers.xml.031).
Обмен не выполнен
Ответ сервера:
<ht ml xmlns=»http://www.w3.org/1999/xhtml» xml:lang=»en» lang=»en»>
<head>
<ST YLE type=»text/css»><!—
*
{
margin: 0px;
}
body
{
font-family: verdana, helvetica, sans-serif;
font-size: 13px;
padding: 0px;
background-color: #ffffff;
color: #111111;
}
a
{
background-color: inherit;
color: #0000EE;
}
a:hover
{
text-decoration: none;
}
p
{
text-align: justify;
margin-bottom: 15px;
line-height: 22px;
}
ul
{
list-style: disc;
padding-left: 15px;
margin-bottom: 15px;
}
h3
{
font-size: 20px;
margin-bottom: 30px;
}
h4
{
font-size: 13px;
margin-bottom: 5px;
}
#container
{
margin: 0px 0px 0px 0px;
}
#header
{
background-color: #660000;
color: #fff;
padding: 10px 40px 10px 40px;
}
#headerok
{
background-color: #006600;
color: #fff;
padding: 10px 40px 10px 40px;
}
#header h1
{
font-size: 30px;
}
#header h2
{
font-size: 14px;
}
#headerok h1
{
font-size: 30px;
}
#headerok h2
{
font-size: 14px;
}
#body
{
margin: 10px 40px 10px 40px;
border-bottom: solid 1px #DADADA;
}
#footer
{
margin: 0px 40px 0px 40px;
}
#signature
{
margin: 0px 40px 0px 40px;
}
#body p
{
}
#errorwhat
{
padding: 10px 0px;
font-size: 20px;
border-bottom: solid 1px #DADADA;
}
.clearit
{
clear: both;
height: 1px;
}
—></STYLE>
<met a http-equiv=»Content-Type» content=»text/html;charset=iso-8859-1″ />
<title>ERROR: The requested URL could not be retrieved</title>
</head>
<body>
<div id=»container»>
<div id=»header»>
<h1>ERROR</H1>
<h2>The requested URL could not be retrieved</h2>
</div>
<div id=»body»>
<div id=»what»>
While trying to retrieve the URL: <a href=»»></a>
</div>
<div id=»errortitle»>
The following error was encountered:
</div>
<div id=»errorwhat»>
Zero Sized Reply
</div>
<div id=»errordescription»>
Squid did not receive any data for this request.
</div>
</div>
</div>
</body>
</html>
Выгрузка товаров завершена с ошибками!!!
17.05.13 — 17:17
Пытаюсь передать параметры для обработки их на сайте и вернуть результат обработки, не могу понять почему в Результате обработки ничего не записывется во временный файл
1 — 17.05.13 — 17:18
Вот Код:
имяФайлаОтправки = «d:request.txt»;
имяФайлОтправки = ПолучитьимяВременногоФайла(«txt»);
ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки);
ЗаписьТекста.Записать(«code=»+КодФормы+»&series=»+СерияБСО+»&number=»+НомерБСО);
ЗаписьТекста.Закрыть();
имяВыходногоФайла = ПолучитьимяВременногоФайла(«xml»); // наш сервер возвращает ответы в виде XML
//имяВыходногоФайла = «d:answer.xml»;
ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
Соединение = Новый HTTPСоединение(«www.m.blank.bisc.by/Query»);
Заголовки = Новый Соответствие();
//Заголовки.Вставить(«host», «http://m.blank.bisc.by/Query:8080»);
/////
Запрос = Новый HTTPЗапрос();
Запрос.УстановитьТелоИзСтроки();
Соединение.Записать(Запрос);
Соединение.ОтправитьДляОбработки(Запрос,»GetAnswer», имяВыходногоФайла, Заголовки);
Попытка
УдалитьФайлы(имяФайлаОтправки);
Исключение
КонецПопытки;
// обработаем ответ сервера
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(имяВыходногоФайла);
Пока ЧтениеXML.Прочитать() Цикл
// чтение ответа в виде XML файла
КонецЦикла;
ЧтениеXML.Закрыть();
2 — 17.05.13 — 17:18
Продолжайте пытатся, на следующий раз получится 😉
3 — 17.05.13 — 17:19
не обращайте внимание на пустой запрос, результатом обратоки явлется возвращаемый xml файл
4 — 17.05.13 — 17:26
(3) Ошибку-то какую выдает?
5 — 17.05.13 — 17:28
{Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (ОткрытьФайл)
ЧтениеXML.ОткрытьФайл(имяВыходногоФайла);
по причине:
Файл не обнаружен ‘C:UsersAppDataLocalTempv8_92D9_75.xml’
6 — 17.05.13 — 17:29
(0) всё, что связано с сайтами, внятно разжовано в (ОбщийМодуль||Обработка).ОбменССайтом
7 — 17.05.13 — 17:34
(3) Запрос = Новый HTTPЗапрос();
Запрос.УстановитьТелоИзСтроки();
Соединение.Записать(Запрос);
Соединение.ОтправитьДляОбработки(Запрос…
а так разве можно Put и Post с одинаковым запросом, тем более что он пустой ?
8 — 17.05.13 — 17:40
(7)
результатом обработки пустого запроса будет xmlфайл с соообщением, пытаюсь понять почему не отрабатывает создание временного файла
9 — 17.05.13 — 17:42
вот так пробуй:
ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);
POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ
POSTПараметры.Записать(«code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО);
POSTПараметры.Закрыть();
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«xml»);
ФайлОтправки = Новый Файл(ИмяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;
Заголовки = Новый Соответствие();
Заголовки.Вставить(«POST /Query HTTP/1.1»);
Заголовки.Вставить(«Host», «www.m.blank.bisc.by»);
Заголовки.Вставить(«Referer», «www.m.blank.bisc.by»);
Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);
Заголовки.Вставить(Данные);
Соединение = Новый HTTPСоединение(«www.m.blank.bisc.by»);
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «v8», ИмяВыходногоФайла, Заголовки);
Попытка
УдалитьФайлы(ИмяФайлаОтправки);
Исключение
КонецПопытки;
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяВыходногоФайла);
Пока ЧтениеXML.Прочитать() Цикл
…
КонецЦикла;
ЧтениеXML.Закрыть();
Попытка
УдалитьФайлы(ИмяВыходногоФайла);
Исключение
КонецПопытки;
10 — 17.05.13 — 17:43
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «v8», ИмяВыходногоФайла, Заголовки);
замени на это
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «Query», ИмяВыходногоФайла, Заголовки);
11 — 17.05.13 — 17:44
и это лишнее:
Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;
и это:
Заголовки.Вставить(Данные);
12 — 17.05.13 — 17:49
Вот ругается:
{Форма.Форма.Форма(82)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, ИмяВыходногоФайла, Заголовки);
по причине:
Ошибка при выполнении файловой операции ‘C:UsersastapenkoAppDataLocalTempv8_92D9_81.xml’
по причине:
Ошибка работы с Интернет: неверный формат ответа шлюзу (502). <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.0 Transitional//EN»>
<HTML><HEAD><TITLE>Сообщение об ошибке</TITLE>
13 — 17.05.13 — 17:50
(10) Убрал параметр Query на него тогда ругался
14 — 17.05.13 — 17:53
(13) заработало?
15 — 17.05.13 — 17:54
нет.. убрал парамет query до того как получил ошибку в сообщении 12
16 — 17.05.13 — 17:57
ты во втором параметре убрал или в заголовке?
должно быть так:
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «Query», ИмяВыходногоФайла, Заголовки);
у тебя же адрес:
www.m.blank.bisc.by/Query
17 — 17.05.13 — 17:58
и ты через шлюз работаешь?
18 — 17.05.13 — 18:00
Прокси = Новый ИнтернетПрокси;
Прокси.Установить(«http», «IP твоего шлюза», 3919);
HTTPСоединение = Новый HTTPСоединение(«www.m.blank.bisc.by»,,, Прокси);
19 — 17.05.13 — 18:00
(16)Да, я убрал во втором парметре! Если оставить его на месте то вот какую ошибку ловлю:
{Форма.Форма.Форма(82)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);
по причине:
Ошибка при выполнении файловой операции ‘Query’
по причине:
(17) Да работаю через шлюз, по-другому никак
20 — 17.05.13 — 18:04
(18) ну как, с этим (18) работает?
21 — 17.05.13 — 18:06
(20) к сожелению ошибка всё таже
22 — 17.05.13 — 18:09
уточни у админов параметры прокси.
пример скинул рабочий, правда локально проверенный.
может еще кодировку UTF8 поменять в
POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ
23 — 17.05.13 — 18:11
(22) сейчас попробую
24 — 17.05.13 — 18:13
(22) а на какую кодировку то менять?? я так понимаю Вы уже реализовали нечто подобное и оно у Вас нормально работает?
25 — 17.05.13 — 18:17
да, у меня работает. только я не с этим www.m.blank.bisc.by
этот адрес в браузере не открывается, а через 1с не пытался
26 — 17.05.13 — 18:22
хммм, интересно. на адрес в (25) не заходит, но через http://m.blank.bisc.by/ без проблем
27 — 17.05.13 — 18:25
(26) так может поменять www.m.blank.bisc.by везде на m.blank.bisc.by
28 — 17.05.13 — 18:27
Вариант синтаксиса: По HTTP-запросу
Синтаксис:
ОтправитьДляОбработки(<HTTPЗапрос>, <ИмяВыходногоФайла>)
Параметры:
<HTTPЗапрос> (обязательный)
Тип: HTTPЗапрос.
HTTP-запрос.
<ИмяВыходногоФайла> (необязательный)
sttt это нормально что в синт.помощнике метод описан по другому??
29 — 17.05.13 — 18:33
поменяй адрес http://m.blank.bisc.by/Query и жизнь наладиться и похоже прокси тебе не нужен, проблема была в неверном адресе
у меня так:
ОтправитьДляОбработки(<Источник>, <АдресРесурса>, <ИмяВыходногоФайла>, <Заголовки>)
Параметры:
<Источник> (обязательный)
Тип: Строка.
Имя файла-источника.
<АдресРесурса> (обязательный)
Тип: Строка.
Адрес ресурса на сервере, в который посылаются данные из источника.
<ИмяВыходногоФайла> (обязательный)
Тип: Строка.
Имя выходного файла, в который записываются полученные с сервера данные.
<Заголовки> (необязательный)
Тип: Строка.
Указываются заголовки, добавляемые к запросу на сервер. Текстовые пары вида <Заголовок>:<Значение>, разделяемые комбинацией ВК+ ПС.
Описание:
Отправить ресурс на указанный адрес для обработки.
Доступность:
Тонкий клиент, сервер, толстый клиент, внешнее соединение.
30 — 17.05.13 — 18:48
Cпасибо за проявляемый интерес, изменил адрес и вот что пишет:
{Форма.Форма.Форма(86)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);
по причине:
Ошибка работы с Интернет: Couldn’t resolve host name
31 — 17.05.13 — 18:50
(30) у тебя где то адрес старый прописан, ищи
32 — 17.05.13 — 18:50
+(31) у меня работает
33 — 17.05.13 — 18:57
ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);
POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ
POSTПараметры.Записать(«code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО);
POSTПараметры.Закрыть();
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«xml»);
ФайлОтправки = Новый Файл(ИмяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
// Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;
Заголовки = Новый Соответствие();
Заголовки.Вставить(«POST /Query HTTP/1.1»);
Заголовки.Вставить(«Host», «http://m.blank.bisc.by»);
Заголовки.Вставить(«Referer», «http://m.blank.bisc.by»);
Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);
// Заголовки.Вставить(Данные);
//Прокси = Новый ИнтернетПрокси;
//Прокси.Установить(«http», «192.168.0.206», 8080);
//Соединение = Новый HTTPСоединение(«http://m.blank.bisc.by»);
Соединение = Новый HTTPСоединение(«http://m.blank.bisc.by»);
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);
Попытка
УдалитьФайлы(ИмяФайлаОтправки);
Исключение
КонецПопытки;
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяВыходногоФайла);
Пока ЧтениеXML.Прочитать() Цикл
КонецЦикла;
ЧтениеXML.Закрыть();
Попытка
УдалитьФайлы(ИмяВыходногоФайла);
Исключение
КонецПопытки;
34 — 17.05.13 — 18:58
(33) не срабатывает, ошибка из (30)
35 — 17.05.13 — 19:00
замени везде «http://m.blank.bisc.by» на
Заголовки.Вставить(«Host», «m.blank.bisc.by»);
Заголовки.Вставить(«Referer», «m.blank.bisc.by»);
и т.д.
36 — 17.05.13 — 19:00
и вот это лишнее:
ФайлОтправки = Новый Файл(ИмяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
37 — 18.05.13 — 11:04
Всё поправил как Вы сказали, но увы получаю ошибку из (30)
38 — 18.05.13 — 13:05
(37) невероятно))
ладно не буду мучить, вот рабочий вариант, единственное сделано на управляемых формах, соответственно необходимо поменять реквизиты:
ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);
POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ
POSTПараметры.Записать(«code=» + Объект.КодФормы + «&series=» + Объект.СерияБСО + «&number=» + Объект.НомерБСО);
POSTПараметры.Закрыть();
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«txt»);
Заголовки = Новый Соответствие();
Заголовки.Вставить(«POST /GetAnswer HTTP/1.1»);
Заголовки.Вставить(«Host», «m.blank.bisc.by»);
Заголовки.Вставить(«Referer», «http://m.blank.bisc.by/Query»);
Заголовки.Вставить(«Cookie», «ASP.NET_SessionId=orlnnpbz2vrxrbuobsh4fmom»); // без этих кукисов работать не будет и в ЗаголовокGET такой же должен быть. посмотри по форуму, недавно пробегал пример как куки подставлять
Заголовки.Вставить(«Connection», «keep-alive»);
Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);
Соединение = Новый HTTPСоединение(«m.blank.bisc.by»);
Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «GetAnswer», ИмяВыходногоФайла, Заголовки);
ЗаголовокGET = Новый Соответствие();
ЗаголовокGET.Вставить(«GET /BlankInfo HTTP/1.1»);
ЗаголовокGET.Вставить(«Host», «m.blank.bisc.by»);
ЗаголовокGET.Вставить(«Referer», «http://m.blank.bisc.by/Query»);
ЗаголовокGET.Вставить(«Cookie», «ASP.NET_SessionId=orlnnpbz2vrxrbuobsh4fmom»);
ЗаголовокGET.Вставить(«DNT», «1»);
ЗаголовокGET.Вставить(«Connection», «keep-alive»);
Соединение.Получить(«/BlankInfo», ИмяВыходногоФайла, ЗаголовокGET);
Попытка
УдалитьФайлы(ИмяФайлаОтправки);
Исключение
КонецПопытки;
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяВыходногоФайла);
Объект.Ответ = ТекстовыйДокумент.ПолучитьТекст();
ЭтаФорма.ОтветHTML = ТекстовыйДокумент.ПолучитьТекст();
Попытка
УдалитьФайлы(ИмяВыходногоФайла);
Исключение
КонецПопытки;
39 — 18.05.13 — 13:25
Спасибо Вам большое, буду разбираться…!
40 — 18.05.13 — 22:22
ошибки о которых писал выше отсутствуют, спасибо за это!!!
с куки пока не разобрался увы!
41 — 19.05.13 — 22:53
придется переделать под:
WinHttp = Новый COMОбъект(«WinHttp.WinHttpRequest.5.1»);
WinHttp.Option(2,»Windows-1251″);
WinHttp.Open(«POST», «https://site.ru»,0);
WinHttp.Send(НовыйЗапрос);
Кукиз= WinHttp.getResponseHeader(«Set-cookie»);
это нетрудно
42 — 20.05.13 — 10:06
С таким методом пока не приходилось сталкиваться, буду пытаться! Спасиб
43 — 20.05.13 — 10:15
(41) 1с тоже с куками умеет
44 — 20.05.13 — 10:16
(43) может подкинете где почитать, хотелось бы обойтись без ком объектов
45 — 20.05.13 — 10:17
HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос…
далее смотрим HTTPОтвет
46 — 20.05.13 — 10:42
(45) Это вроде только с 8.1.18?
47 — 20.05.13 — 10:43
(46) а че у когото не что ли?
48 — 20.05.13 — 11:01
всё норм у меня 8.2
49 — 20.05.13 — 11:28
Sttt, есть к Вам вопрос, как к человеку проявившему наибольшее внимание… Для чего мне нужны cookie в моем случае? может из-за непонимания вопроса у меня ничего и не выходит…..
в принципе если кто сможет пояснить,буду очень признателен
50 — 20.05.13 — 11:29
Ниже содержание, вернувшегося в результате обработки запроса, сообщения
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href=»/Query»>here</a>.</h2>
</body></html>
51 — 20.05.13 — 12:55
до того момента как всё заработает осталось немного, только с куки разобраться…
52 — 21.05.13 — 11:39
поднимаю
53 — 21.05.13 — 11:52
(51) в чем проблемы ? ЗаголовкиЗапроса.Вставить(«Cookie», Cookie.Имя + «=» + Cookie.Текст);
54 — 21.05.13 — 12:51
(51) c кодом нет проблемы. Не понимаю что есть Cookie.Имя и Cookie.Текст, и откуда их брать.
P.S. сорри за жесткий тупняк, с моей стороны
55 — 21.05.13 — 15:17
Вот исходный код страницы с обработанным запросом (параметры забивал вручную)…
<?xml version=»1.0″ encoding=»UTF-8″?>
<!DOCTYPE html PUBLIC «-//WAPFORUM//DTD XHTML Mobile 1.0//EN»
«http://www.wapforum.org/DTD/xhtml-mobile10.dtd»>
<html>
<head>
<title>Мобильная версия — АС БДБ</title>
<link href=»/Resources/Content/core.css» rel=»stylesheet» type=»text/css» />
</head>
<body>
<div id=»header» class=»header»>
<a href=»/»>АС БДБ</a>
</div>
<div id=»subtitle» class=»subtitle»>
Запрос обработан
</div>
<div id=»body» class=»body»>
<div id=»RequestInfoDiv»>
<span>
<label for=»Blank_Code»>Код</label>: <strong>401851</strong><br />
<label for=»Blank_Name»>Наименование</label>: <strong>ТН-2 (ПЭВМ) а4 1х2 </strong><br />
<label for=»Blank_Series»>Серия</label>: <strong>ФК</strong><br />
<label for=»Blank_Number»>Номер</label>: <strong>1083246</strong>
</span>
</div>
<hr />
<u>Приобретен</u>
<div id=»PurchaseInfoTable»>
<label for=»Blank_PurchaseInfo_RegistrationNumber»>УНП</label>: <strong>290473870</strong><br />
<label for=»Blank_PurchaseInfo_EconomicEntityName»>Наименование</label>: <strong>Общество с ограниченной ответственностью "Успех про"</strong><br />
<label for=»Blank_PurchaseInfo_Date»>Дата</label>: <strong>4.3.2013</strong><br />
</div>
</div>
<div id=»footer» class=»footer»>
<a href=»/Soi»>Полная версия сайта</a>
<br />
<span>© Расчетный центр НБ РБ</span>
</div>
</body>
</html>
56 — 21.05.13 — 16:47
Кто сталкивался, обратите внимание, не проходите мимо
(38) код отправки запроса
(55) обработанный запрос (параметры рууками заполнял)
(50) файл полученный с сайта
Как в 1с вместо (50) получить нормальный ответ, который содержится в (55) ??
57 — 21.05.13 — 16:49
fiddler поставь и посмотри что передаешь ты, а что браузер
58 — 21.05.13 — 17:12
(57) попробую позже, но сейчас нет возможности (нет прав)!!!
вопрос еще актуален
59 — 21.05.13 — 17:15
(54) на то они и куки, что понимаются клиентом и сервером. Если не знаешь протокола общения, то и не лезь
60 — 21.05.13 — 17:33
(56)
Ну типа подумать головой и отработать редирект, не?

61 — 21.05.13 — 18:31
Спасибо всем кто попытался помочь, в особенности Sttt !!!!
Всё заработало благодаря тулзе fiddler
oleg_km
62 — 21.05.13 — 22:10
(61) В следующий раз прямо с нее и начинай
Статья основана на запросе клиента:
выгрузка из 1С на сайт после сбоя происходит с ошибкой — ранее работала корректно. Выдает вот такую штуковину
Лог:
Выгружено товаров: 200
Выгружено картинок: 254
Выгружено предложений: 186
Выгружено документов Ремонт: 355
Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘admin/exchange/auto/?type=catalog&mode=file&filename=import_files/44/446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg’: Ошибка работы с Интернет: неверный формат ответа шлюзу (502). <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx-reuseport/1.11.10</center>
</body>
</html>
: Ошибка работы с Интернет: неверный формат ответа шлюзу (502)
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersUSR1CV82AppDataLocalTemp1cbitriximport_files44446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg.2).
Обмен не выполнен
Ответ сервера:
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx-reuseport/1.11.10</center>
</body>
</html>
Выгрузка товаров завершена с ошибками!!!
Техническая информация:
Выгружено товаров: 200
Выгружено картинок: 254
Выгружено предложений: 186
Выгружено документов Ремонт: 355
{Обработка.ОбменССайтом.МодульОбъекта(326)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘admin/exchange/auto/?type=catalog&mode=file&filename=import_files/44/446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg’: Ошибка работы с Интернет: неверный формат ответа шлюзу (502). <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx-reuseport/1.11.10</center>
</body>
</html>
: Ошибка работы с Интернет: неверный формат ответа шлюзу (502)
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersUSR1CV82AppDataLocalTemp1cbitriximport_files44446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg.2).
Обмен не выполнен
Ответ сервера:
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx-reuseport/1.11.10</center>
</body>
</html>
Просьба подсказать, что тут может быть?
Комментарий разработчиков на UMI.CMS А25 по настройке корректной выгрузки из 1С и исправлению ошибок:
502 ошибка возникает в момент, когда сервер не справляется с нагрузкой.
В вашем случае очень похоже, что картинка 446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg является причиной данной проблемы. Возможно, что её размер превышает допустимые сервером нормы. Или же из-за её размера время загрузки увеличивается настолько, что сервер обрубает процесс.
Первая рекомендация — проверить саму картинку и уменьшить её.
Вторая рекомендация (если это не получится) — получить информацию о причинах сбоя у хостера. У него должны быть логи относительно этой ошибки и, возможно, там будет ответ.
357273277{«time» : «», «endtime» : «», «source» : «test source», «name» : «test name», «device» : 0, «data» : «test data»}
357273277 — вот это левый мусор.
357273277 — вот это левый мусор — «BOM»
«Текстовый файл сохраняемый как UTF-8 с сигнатурой BOM в начале имеет 3 байта с значениями: EF, BB, BF(Скрин варшарка во вложении). Сигнатура BOM — метка порядка байтов (Byte Order Mark, BOM). Часто, BOM называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature). Признак BOM определяет, является ли файл закодированным в UTF-8. Не все программы могут корректно работать с файлами с сигнатурой BOM.»
При создании события из 1С, ваша обработка работает, если версия платформы 8.1 (Создается UTF-8 без BOM). У меня версия платформы 8.3 , в ней создается текстовый файл сохраняемый как UTF-8 с BOM, что в итоге вело к моей ошибке(лишний символ при формировании пост запроса).
Проблему решил используя код, приведенный ниже:
// Как записать файл в кодировке UTF-8 без BOM
функция ЗаписатьФайлВформате_UTF8_без_BOM(текст,полноеИмяФайла)
// записываем в файл с символами BOM в начале файле
ТекстовыйФайлUTF8_Bom = Новый ТекстовыйДокумент();
ТекстовыйФайлUTF8_Bom.ДобавитьСтроку(текст);
ТекстовыйФайлUTF8_Bom.Записать(полноеИмяФайла,»UTF-8″);
// открываем файл и считываем символы после символов BOM
Данные = Новый ДвоичныеДанные(полноеИмяФайла);
Строка64=Base64Строка(Данные);
Строка64=Прав(Строка64,СтрДлина(Строка64)-4);
ДанныеНаЗапись=Base64Значение(Строка64);
ДанныеНаЗапись.Записать(полноеИмяФайла); // записываем
КонецФункции
Всем спасибо за помощь.
![]()
Я попробовал разбить обмен на более мелкие группы, менее 5000 товаров уходит. 10000 не уходит, а тем более наши 50000
текст ошибки:
Выгружено товаров: 50 723
Выгружено картинок: 23 071
Выгружено предложений: 50 723
Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘cml1c/3d6f967a-36e5-4d92-847b-d5f8acb952a9/?type=catalog&mode=file&filename=v8_5DB1_24c8.zip’: Ошибка работы с Интернет: неверный формат ответа шлюзу (502). <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.10.1</center>
</body>
</html>
: Ошибка работы с Интернет: неверный формат ответа шлюзу (502)
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersШкляева ЕвгенияAppDataLocalTemp22v8_5DB1_24c8.zip.1).
Обмен не выполнен
Ответ сервера:
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.10.1</center>
</body>
</html>
Выгрузка товаров завершена с ошибками!!!
Выгружено заказов: 1 188
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
Заказы из 1С на сайте игнорируются
Orders from 1C are ignored
Обмен заказами успешно завершен
Техническая информация:
Выгружено товаров: 50 723
Выгружено картинок: 23 071
Выгружено предложений: 50 723
{Обработка.ОбменССайтом.МодульОбъекта(322)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘cml1c/3d6f967a-36e5-4d92-847b-d5f8acb952a9/?type=catalog&mode=file&filename=v8_5DB1_24c8.zip’: Ошибка работы с Интернет: неверный формат ответа шлюзу (502). <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.10.1</center>
</body>
</html>
: Ошибка работы с Интернет: неверный формат ответа шлюзу (502)
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersШкляева ЕвгенияAppDataLocalTemp22v8_5DB1_24c8.zip.1).
Обмен не выполнен
Ответ сервера:
<head><title>502 Bad Gateway</title></head>
<body bgcolor=»white»>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.10.1</center>
</body>
</html>
Выгрузка товаров завершена с ошибками!!!
Выгружено заказов: 1 188
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
Заказы из 1С на сайте игнорируются
Orders from 1C are ignored
Обмен заказами успешно завершен
Содержание:
1. Об ошибке при выполнении файловой операции
2. Устранение «Ошибки при выполнении файловой операции» в 1С 8.3
1. Об ошибке при выполнении файловой операции
Приветствую, коллеги! В данной статье будет описана ошибка «Ошибка при выполнении файловой операции», и подробно рассмотрены способы ее устранения.
Когда происходит обновление конфигураций в 1С 8, по завершении обновления, часто появляется ошибка, которая гласит «Ошибка при выполнении файловой операции – файл не содержит доступных обновлений».
2. Устранение «Ошибки при выполнении файловой операции» в 1С 8.3
Рассмотрим методы, при помощи которых, можно устранить ошибку при выполнении файловой операции в 1С.
Итак, первый способ – это попробовать сделать обновление при помощи файлов по обновлению вида «релиз 1с*.cfu». Если это не помогло, то можно попробовать обновить систему при помощи общего файла вида «полный релиз 1С*.cf».
Вторым способом будет проверка на соответствие общей версии системы 1С с минимальными требованиями версии конфигурации 1С, которую обновляем.
Третий способ устранения ошибки при выполнении файловой операции в 1С – более сложный, но действенный. Необходимо открыть в конфигурацию от поставщика в режиме Конфигуратора. Если ошибка всё так же появляется, то необходимо удалить конфигурацию поставщика, а затем опять установить. По сути, в данном варианте «вытягивается» последняя, рабочая версия данной конфигурации и обновление будет завершено без ошибок.
Рассмотрим подробнее третий способ. Пусть у нас уже есть некоторая конфигурация 1С KORG 1-ой версии, которая работает, но нужно поставить 2-ю версию, то есть обновить версию конфигурации 1С 8.3. Когда происходит обновление, всплывает ошибка «Ошибка при выполнении файловой конфигурации». Порядок действий в этом случае:
1. скачать релиз 1С KORG с версией 1*.cf;
2. копируем нашу базу данных;
3. в конфигураторе, который соответствует обновляемой базе, переходим по пути: «Конфигурация → Поддержка → Настройки поддержки → Снять с поддержки». В случае, если кнопка для снятия с поддержки недоступна, необходимо сперва включить возможные изменения. После этого нужно дать согласие, если система 1С будет уточнять что-либо или подтверждать действия;
4. Далее переходим по следующему пути: «Конфигурация → Сравнить и объединить с конфигурацией из файла…». Здесь необходимо выбрать файл «полный релиз 1С KORG версии 1*.cf»;
5. Далее перед нами появится окно, в котором система 1С будет запрашивать постановление на учёт для поддержки, на это уведомление обязательно отвечаем согласием;
6. В случае, если наша конфигурация является типовой, откроется окно по сравнению конфигураций. В нем обязательно убираем все «галочки». Далее последует объединение конфигураций;
7. В новом окне кликаем на «Сохранить изменения»;
8. Ещё раз сохраняем базу данных;
9. Обновляем конфигурацию 1С стандартным способом.
Если всё сделать, согласно инструкции выше, то в вашей конфигурации 1С 8.3 «Ошибка при выполнении файловой операции» больше не возникнет. Спасибо за внимание!
Специалист компании «Кодерлайн»
Айдар Фархутдинов