Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 23:45
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Загрузка данных из XML  (Прочитано 3097 раз)

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

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Загружаю спецификацию материалов из файла XML. Все хорошо , но долго - секунд 10-15 наверное вместе с обработкой данных. Возник вопрос - правильно ли я загружаю - нет ли более оптимального способа? Сейчас делаю таким образом:
      ЧтениеXML.Прочитать();
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "Позиция" Тогда
               ЧтениеXML.Прочитать();
               Позиция = ЧтениеXML.Значение;
               
КонецЕсли;
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "ОсновнойМатериал" Тогда
               ЧтениеXML.Прочитать();
и тд

подскажите нет ли более производительного способа?
и еще в левом нижнем углу идет счетчик накопленные/текущие вызовы , при загрузке XML получается 1000 - 1500 вызовов, это о чем говорит? в плане того, что это не показатель того, что все по уродски )?


Оффлайн LexaK

  • *****
  • Сообщений: 1268
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
само чтение ХМЛ происходит быстро, дело в том как вы обрабатываете полученные данные.
если по каждому полученному значению, то это будет долго.

необходимо при чтении ХМЛ сформировать таблицу значений, потом одним запросом ее обработать (в одном запросе сделать все нужные поиски, расчеты и т.д.).
получится гораздо быстрее.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
что сходу смог переделал на запросы
вопрос такой- можно ли запросом выбрать из таблицы значений строки, где , скажем, Наименование, содержит строку (условно) "корпус"?  То есть из таблицы
- корпусная мебель
- двукорпусный стульчик
- ёжик
- и тд
нужно отобрать первые две строки. Можно ли такое организовать?

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
можно ли запросом выбрать из таблицы значений строки, где , скажем, Наименование, содержит строку (условно) "корпус"? 

Конфигуратор: F1 (не Ctrl+F1) -> Встроенный язык -> Работа с запросами -> Синтаксис текста запросов -> Ключевые слова и функции -> Операторы -> Логические операторы -> ПОДОБНО

"Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь.."

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
подскажите что не так :
      |ГДЕ
      |        Полуфабрикаты.Наименование ПОДОБНО "%\_Партия\_%" СПЕЦСИМВОЛ "\" ;

Оффлайн LexaK

  • *****
  • Сообщений: 1268
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
двойные кавычки нужны
    |где
    |    Полуфабрикаты.Наименование  ПОДОБНО ""%\_Партия\_%"" СПЕЦСИМВОЛ ""\""
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
След вопрос возник - для выборки информации из справочника сделал такой запрос:
Запрос.Текст = "Выбрать *    
   |ИЗ     
   |        Справочник.Полуфабрикаты  КАК Полуфабрикаты                   
   |ГДЕ
   |        Полуфабрикаты.РабочийЦентр.Партиями = Истина и Полуфабрикаты.ФлагРаспределения = Ложь";
считая что выбираю все реквизиты справочника Полуфабрикаты, в том числе и ТЧ
при обращении к ТЧ вы дает ошибку "итератор для стр неопределен" - как будто это и не ТЧ вовсе
к ТЧ обращаюсь соответственно так:

    Для Каждого стр Из Выборка.РодитПФ Цикл

остальные реквизиты все на месте, только к ТЧ не могу обратиться никак . Подскажите чего делать
Добавлено: 06 Фев 2015, 12:41

С предыдущим справился
Подскажите, что не так в этом условии :
|ГДЕ
|        Полуфабрикаты.Наименование ПОДОБНО &Наименование" ;
Наимен = Наименование +"_Партия_";
Запрос2.УстановитьПараметр("Наименование", "%" + Наимен + "%");
проблема  -пустая выборка, хотя строки содержащие все это присутствуют

Последний раз редактировалось: Игорь_M; 06 Фев 2015, 12:41. Причина: Объединение сообщений

Оффлайн LexaK

  • *****
  • Сообщений: 1268
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
вам необходимо результат запроса получить как таблицу значений
тогда у вас будет работать цикл перебора

Выборка = Запрос.Выполнить().Выгрузить();
тогда обходы такие

Для каждого лкСтрТЗ из Выборка Цикл
    //...
    сообщить(лкСтрТЗ.Ссылка);
    Для каждого лкСтр из лкСтрТЗ.РодитПФ Цикл
        //...
        сообщить("тч " + лкСтр.НомерСтроки);
    КонецЦикла;
КонецЦикла;


если использовать Выборка = Запрос.Выполнить().Выбрать();
то и таблицы ТЧ - это результат запроса
и поступать с ними соответственно
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Прошу помощи по такому вопросу - имеется Полуфабрикат с Наименованием  "Раскрой_пластика_Партия_1" . Чтобы его найти сделал такой запрос:
Запрос2 = Новый Запрос;
Запрос2.Текст = "Выбрать ПЕРВЫЕ 1
|        Полуфабрикаты.Наименование,
|        Полуфабрикаты.ФлагРаспределения
|ИЗ     
|        Справочник.Полуфабрикаты  КАК Полуфабрикаты
|ГДЕ
|        Полуфабрикаты.Наименование ПОДОБНО ""%\_Партия\_%"" СПЕЦСИМВОЛ ""\""
|        и Полуфабрикаты.Наименование ПОДОБНО &Наименование
|УПОРЯДОЧИТЬ ПО
|        Полуфабрикаты.Наименование УБЫВ" ;
Наименование = ПолуфабрикатРазделяемый.Наименование;
Запрос2.УстановитьПараметр("Наименование", "%" + Наименование + "%" );
ПолуфабрикатРазделяемый.Наименование это "Раскрой_пластика"
Соответственно выборка пустая . Не связано ли это с тем что в Наименовании "Раскрой_пластика" содержится символ "_"? Если да, то как это обойти?

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Я думаю, что здесь:

 |        Полуфабрикаты.Наименование ПОДОБНО ""%\_Партия\_%"" СПЕЦСИМВОЛ ""\""
            |        и Полуфабрикаты.Наименование ПОДОБНО &Наименование

вы просто хотели поставить условие ИЛИ


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

Автор Владимир87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7465
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3895
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2135
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 7391
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6982
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 270
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal