Как загрузить справочник из xml

1. Seva __ (seva1405) 26 07.12.17 15:15 Сейчас в теме
Можно каким то образом загрузить справочник полностью из XML файла без цикла и прочего как в таблицу значений?
Конфигурации идентичны.
В таблицу быстро загружается к примеру ТЗ.Загрузить(Запрос.Выполнить.Выгрузить()) в этом случае и таблица очищается и данные быстро загружаются.
Просто каждая секунда на счету при обмене через веб - сервисы а цикл долго отрабатывает.
Ответы
3. Дмитрий Васильев (dandykry) 07.12.17 16:34 Сейчас в теме
Непонятно, что хотите сделать.
Выгрузить несколько элементов справочника и за раз без циклов загрузить?
2. Артём Шарипов (borodatii) 1 07.12.17 15:21 Сейчас в теме
Посмотреть обработку ВыгрузкаЗагрузкаДанныхXML82 (или 83) из "Конвертация данных 2.1". Она реализует обмен между идентичными конфигурациями через файлы XML.
4. Константин Нагибович (gradi) 07.12.17 17:10 Сейчас в теме
Если вам критично время работы через веб-сервис, то попробуйте обрабатывать файл асинхронно.
6. Seva __ (seva1405) 26 07.12.17 19:44 Сейчас в теме
(4) Как вариант подходит, спасибо. Но все же вопрос открыт.
7. Sergey Andreev (starik-2005) 1222 07.12.17 23:01 Сейчас в теме
(6) прямо в SQL-таблицу грузите - не надо никаких веб-сервисов. На сервере базы-источника создайте триггер, который будет при изменении записи в таблице, принадлежащей этому справочнику, обновлять элемент на сервере с второй базой.
8. Seva __ (seva1405) 26 08.12.17 09:50 Сейчас в теме
(7) Не вариант, число баз приемников не ограничено. С любого пк можно запустить и посмотреть эти справочники.
13. Sergey Andreev (starik-2005) 1222 08.12.17 12:30 Сейчас в теме
(8) тогда выгружайте в один внешний источник, а в этих бесконечных количествах баз просто пропишите к нему путь как к внешнему источнику данных.
5. Seva __ (seva1405) 26 07.12.17 19:39 Сейчас в теме
Обмен справочником между двумя идентичными базами.
Есть база источник и база приемник, в базе источник создаются справочники а в приемнике они только просматриваются, не удалить не создать нельзя только просмотр.
Вот и нужно чтобы справочник при обмене очищался и загружался, но с использованием цикла это очень долго, до 5 секунд загружается. есть максимум 2 секунды на это. Вот и ищу инфу может прямиком как в тз можно загрузить.
9. Petr Shnurov (shnurov) 08.12.17 10:23 Сейчас в теме
(5) Не думаю что у вас получиться так же быстро как в таблицу. Таблица в памяти, а справочники на диске Бд. Пробуйте в транзакции, должно быть быстрее. Самое быстрое на мой взгляд лить напрямую в бд, либо оптимизировать как-то код, чтоб не перезаписывал все элементы, т.к. когда ваш справочник вырастит будет лить еще дольше.
10. Андрей (user623969_dusa) 08.12.17 10:25 Сейчас в теме
можно загружать пообъектно используя иксдетео, быстро загружается набор записей - не используй справочник
вот пример
НЗ = ПрочитатьXML(ФайлОбмена); 
	Если ТипЗнч(НЗ) = Тип("РегистрСведенийНаборЗаписей.Фотографии") Тогда
		НЗ.Записать();
	КонецЕсли;
	ФайлОбмена.Закрыть();
11. Ildar Mamatov (MamatovIA) 08.12.17 10:43 Сейчас в теме
Еще можно попробовать добавить внешний источник данных в конфигураторе. Потом получить данные из него запросом и выгрузить в таблицу значений
12. Seva __ (seva1405) 26 08.12.17 12:21 Сейчас в теме
Сегодня попробую переделать на регистр сведений, может через него получится.
Оставьте свое сообщение