Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Пустое значение при чтении XML          
mitrade Подменю пользователя
сообщение 28.04.13, 11:04
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Во время прочтения XML выдает ошибку при незаполненном значении атрибута {Справочник.ТоварыМитрейд.Форма.ФормаСписка.Форма(226)}: Индекс находится за границами массива
Если ЧтениеXML.ТипУзла = ТипУзлаXML.текст Тогда
    Если Атрибут = "productID" тогда
        если ЧтениеXML.Значение = null Тогда
            СЗ.Добавить("Здесь 0")
        иначе
            СЗ.Добавить("пустое поле");
        КонецЕсли;
    КонецЕсли;

    Если Атрибут = "categoryID"  Тогда
        СЗ.Добавить(ЧтениеXML.Значение);
    КонецЕсли;

    Если Атрибут = "name"  Тогда
        СЗ.Добавить(ЧтениеXML.Значение);
    КонецЕсли;


Как правильно поставить условие (если ЧтениеXML.Значение = null Тогда СЗ.Добавить("Здесь 0") )


 ! 

Вставляйте код по человечески!
 


Сообщение отредактировал Vofka - 28.04.13, 11:07

Vofka Подменю пользователя
сообщение 28.04.13, 11:08
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Если НЕ ЗначениеЗаполнено(ЧтениеXML.Значение) Тогда

mitrade Подменю пользователя
сообщение 28.04.13, 11:12
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 28.04.13, 12:08) *
Если НЕ ЗначениеЗаполнено(ЧтениеXML.Значение) Тогда



Не помогает таже ошибка появляется.

Vofka Подменю пользователя
сообщение 28.04.13, 11:30
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

А вы уверены, что ошибку выдает именно в этой строке?

mitrade Подменю пользователя
сообщение 28.04.13, 11:36
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 28.04.13, 12:30) *
А вы уверены, что ошибку выдает именно в этой строке?



100% проверял вот файл


- <table name="ss_products">
<column name="productID">0</column>
<column name="categoryID">54</column>
<column name="name">Монитор самсунг</column>
<column name="description">Полное описание</column>
<column name="customers_rating">РЕЙТИНГ ПОКУПАТЕЛЕЙ</column>
<column name="Price">419</column>
<column name="picture">1604_0_daewoo_hl711s.jpg</column>
<column name="in_stock">В НАЛИЧИИ</column>
<column name="thumbnail">IMG_6270.JPG</column>
<column name="customer_votes">КОЛВОГОЛОСОВ</column>
<column name="items_sold">Продано штук</column>
<column name="big_picture">0000</column>
<column name="enabled">АКТИВНЫЙ ТОВАР</column>
<column name="brief_description">Короткое описание</column>
<column name="list_price">СТАРАЯ ЦЕНА</column>
<column name="product_code">Код ПРОДУКТА</column>
</table>

играюсь только с этой строчкой

если эта строчка заполнена все загружается без проблем

mitrade Подменю пользователя
сообщение 28.04.13, 12:56
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Также не работает


если ЧтениеXML.Значение = Неопределено Тогда


если ЧтениеXML.Значение = "" Тогда


если ЧтениеXML.Значение = """" Тогда


если ЧтениеXML.Значение = 0 Тогда





При записи в XML

поле записывается так <column name="productID"/> , а должно <column name="productID"></column>

Vofka Подменю пользователя
сообщение 28.04.13, 13:02
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Я что-то вообще уже не понимаю, что вам надо.

mitrade Подменю пользователя
сообщение 28.04.13, 13:11
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 28.04.13, 14:02) *
Я что-то вообще уже не понимаю, что вам надо.



Надо чтобы читался XML файл в котором имеются назаполненные значения атрибутов.

alex040269 Подменю пользователя
сообщение 28.04.13, 13:30
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(mitrade @ 28.04.13, 13:56) *
<column name="productID"/>

эта запись означает, что элемента вообще нет. после началаЭлемента сразу считывается КонецЭлемента, а значения нет вообще.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

mitrade Подменю пользователя
сообщение 28.04.13, 13:43
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(alex040269 @ 28.04.13, 14:30) *
эта запись означает, что элемента вообще нет. после началаЭлемента сразу считывается КонецЭлемента, а значения нет вообще.



Может быть можно как то отменить привязку к значениям атрибутов, тоесть чтобы когда у атрибута незаполнено значение в список значений добавлялась запись пустое поле и начинал читаться следующий атрибут в XML?

mitrade Подменю пользователя
сообщение 28.04.13, 16:43
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Разобрался нужно было дописать внизу


 Если ЧтениеXML.ТипУзла = Null Тогда
                    ЧтениеXML.ПрочитатьАтрибут();
            Атрибут = ЧтениеXML.Значение;
    
                         КонецЕсли;
                    
                         Если   Атрибут = ЧтениеXML.Значение и ЧтениеXML.Значение = ""
                            
                             Тогда  СЗ.Добавить(ЧтениеXML.Значение);  КонецЕсли;

mitrade Подменю пользователя
сообщение 28.04.13, 18:16
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

а не ошибся теперь поля тупо заполняются пустыми

даже если содержат значения в файле

logist Подменю пользователя
сообщение 29.04.13, 5:17
Сообщение #13

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Если ПустаяСтрока(ЧтениеXML.Значение) Тогда Сообщить("Здесь ничего нет"); КонецЕсли;


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: mitrade,

mitrade Подменю пользователя
сообщение 29.04.13, 8:09
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 29.04.13, 6:17) *
Если ПустаяСтрока(ЧтениеXML.Значение) Тогда Сообщить("Здесь ничего нет"); КонецЕсли;



Не работает та же ошибка!

А не прошу прощения, заработало! Спасибо за помощь!

mitrade Подменю пользователя
сообщение 29.04.13, 9:38
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Пришлось заново написать условие в итоге правильное условие которое работает:
    Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
            
            Если Атрибут = "productID" и ЧтениеXML.Значение <> "" Тогда СЗ.Добавить(ЧтениеXML.Значение);
                
                    КонецЕсли;
                                      
                                           КонецЕсли;

            
            Если ЧтениеXML.ТипУзла <> ТипУзлаXML.Текст Тогда
                
                Если Атрибут = "productID" и ЧтениеXML.Значение = "" тогда
                    
            СЗ.Добавить("Пусто");    
                    
                                                       КонецЕсли;
                                                                 КонецЕсли;



Всем спасибо за помощь!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 0:49
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!