Имя: Пароль:
1C
1C 7.7
v7: Ошибка при выгрузке в xml эсчф
0 maksimiich
 
04.02.21
17:16
ребят подскажите пожалуйста в чем беда, при выгрузке исходящего эсчф бьет ошибку на одного контрагента, выбираешь другого никаких проблем. сравнили карточки с теми контрами которые выгружаются никаких отличий нет.
скрин https://prnt.sc/ya1i8n
1 serpentt
 
04.02.21
17:22
(0) ОНО ЖЕ тебе написало, проблема с Адресом, есть недопустимые знаки для XML-формата
2 maksimiich
 
04.02.21
17:23
(1) что с этим делать?
3 piter3
 
04.02.21
17:23
(2) убрать недопустимый знак
4 serpentt
 
04.02.21
17:24
5 serpentt
 
04.02.21
17:24
(0) и что это за обработка? СВОЯ?
6 serpentt
 
04.02.21
17:29
При формировании символьной строки сиволы &, <, >, ", ' должны заменяться на последовательность символов &amp, &lt, &gt, &quot, &apos соответственно.
7 maksimiich
 
04.02.21
17:31
(6) так почему со всем остальным работает? ставишь другого контрагента и все работает, возвращаешь этого как на скрине и ошибка!
8 serpentt
 
04.02.21
17:35
Прогани свой адрес через данную функцию и посмотри что получиться

//******************************************************************************
// ЗС(СтрочкаПереданная)
//
// Параметры:
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  замена специальных симоволов
//
Функция ЗС(СтрочкаПереданная)
    
    Строчка       = СокрЛП(СтрочкаПереданная);
    СимволКавычки = Симв(34);
    СимволАмп     = Симв(38);
    
    Если (Найти(Строчка, СимволАмп)<>0)
        или (Найти(Строчка, "<")<>0)
        или (Найти(Строчка, ">")<>0)
        или (Найти(Строчка, СимволКавычки)<>0)
        или (Найти(Строчка, "'")<>0)  Тогда
            
        Строчка = СтрЗаменить(Строчка,СимволАмп,"&amp;");
        Строчка = СтрЗаменить(Строчка,"<","&lt;");
        Строчка = СтрЗаменить(Строчка,">","&gt;");
        Строчка = СтрЗаменить(Строчка,СимволКавычки,"&quot;");    
        Строчка = СтрЗаменить(Строчка,"'","&apos;");    
    Конецесли;
    
    Возврат Строчка;
КонецФункции //ЗС(СтрочкаПереданная)
9 serpentt
 
04.02.21
17:50
(2) https://wtools.io/ru/xml-escape-unescape вставь адрес контрагента и нажми на кн. "ЭКРАНИРОВАТЬ". Проблемные места покажет.
10 Builder
 
04.02.21
18:09
(8) Тут поиск лишний, просто прогнать через замены и все.
И главное символ @ заменять первым, иначе будет некрасиво :)
11 Builder
 
04.02.21
18:09
(10) В смысле символ & :)
12 victuan1
 
05.02.21
04:50
(7) А разве ответ не очевиден? Адреса других контрагентов не содержат не допустимые символы.
Ты вообще кто в этой организации? Если до тебя туго доходят очевидные вещи, то может пригласить уже более компетентного сотрудника?
13 serpentt
 
05.02.21
08:42
(10) Это первая Функция которая попалась на глаза при поиске...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший