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

1. Artem1405 25 07.12.17 15:15 Сейчас в теме
Можно каким то образом загрузить справочник полностью из XML файла без цикла и прочего как в таблицу значений?
Конфигурации идентичны.
В таблицу быстро загружается к примеру ТЗ.Загрузить(Запрос.Выполнить.Выгрузить()) в этом случае и таблица очищается и данные быстро загружаются.
Просто каждая секунда на счету при обмене через веб - сервисы а цикл долго отрабатывает.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. dandykry 10 07.12.17 16:34 Сейчас в теме
Непонятно, что хотите сделать.
Выгрузить несколько элементов справочника и за раз без циклов загрузить?
2. comptr 30 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 3033 07.12.17 23:01 Сейчас в теме
(6) прямо в SQL-таблицу грузите - не надо никаких веб-сервисов. На сервере базы-источника создайте триггер, который будет при изменении записи в таблице, принадлежащей этому справочнику, обновлять элемент на сервере с второй базой.
8. Artem1405 25 08.12.17 09:50 Сейчас в теме
(7) Не вариант, число баз приемников не ограничено. С любого пк можно запустить и посмотреть эти справочники.
13. starik-2005 3033 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 Сейчас в теме
Сегодня попробую переделать на регистр сведений, может через него получится.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)