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

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот