#0
by Darklight
Возникла потребность выгружать данные в XML файл обмена через функцию "ПланыОбмена.ВыбратьИзменения" (ниже пример из справки): Но в этом случае в файл XML не попадает секция "<v8de:Changes>" Соответственно такой файл нельзя загрузить через "ПланыОбмена.ПрочитатьИзменения" А так же нет возможности передавать изменённую конфигурацию. Можно ли как-то получить эту секцию "<v8de:Changes>" в результирующем XML файле обмена?
#4
by Быдло замкадное
сложные методы вы ищете. Лучше стандартный обмен + правила КД, в которых все особенности прописать
#6
by Darklight
Галочка установлена (но в упор не помню за что она отвечает) Что Вы имеете в виду. Написал же в что конфигурация самописаная Проблема возникла в том, что нужен определённый порядок выгрузки видов объектов. Сейчас одно 1С известным способом вызов "ПланыОбмена.ЗаписатьИзменения" записывает изменённые объекты полностью хаотично. Перемешивая регистры и справочники. А нужно - в определённом порядке (он будет важен при загрузке, в которой идёт обработка загружаемых данных). Использование "ПланыОбмена.ВыбратьИзменения" с фильтром позволяет получить нужный порядок, но не позволяет получить секцию <v8de:Changes>, особенно подсекцию "<v8de:Config xmlns:v8md=";
#7
by Darklight
Может, если я сделаю фиктивный узел, у которого не будет зарпегистрированных изменений. Тогда я смогу через "ПланыОбмена.ЗаписатьИзменения" выгрузить все заголовки (включая "<v8de:Config xmlns:v8md=";;) А потом средствами XML выдернуть нужную мне секцию с конфигурацией. Но... это может прокатить если обмен идёт лишь между двумя узлами А если избудет больше - то принятые изменения конфигураций для них будут различные.
#8
by Darklight
Получается, придётся сначала всё выгрузить как обычно через "ПланыОбмена.ВыбратьИзменения" (со всеми хаотичными данными). Из файла выдернуть секцию "<v8de:Config xmlns:v8md=";, затем уже повторно выгрузить через "ПланыОбмена.ВыбратьИзменения", вручную создав секцию <v8de:Changes>, подсекцию <v8de:Nodes> (и т.п.) вставив секцию "<v8de:Config xmlns:v8md="; Но так получается двойная выгрузка - двойная нагрузка и время. В общем для меня не критично, но всё равно - не красиво...
#9
by Darklight
опечатлася в строке "как обычно через "ПланыОбмена.ВыбратьИзменения"" имелось в виду "ПланыОбмена.ЗаписатьИзменения"
#10
by Darklight
Иной вариант - это xsl преобразование уже выгруженного через "ПланыОбмена.ЗаписатьИзменения" файла xml с целью переупорядочивания его данных. Но для меня это не простое решение. Хотя оно и относительно красивое.
#11
by Живой Ископаемый
"Сейчас одно 1С известным способом вызов "ПланыОбмена.ЗаписатьИзменения" записывает изменённые объекты полностью хаотично. Перемешивая регистры и справочники. А нужно - в определённом порядке (он будет важен при загрузке, в которой идёт обработка загружаемых данных). " Почему это будет важно?
#12
by Darklight
Важен, т.к. есть непрямые (не ссылочные) связи и при загрузке объекты и связи могут изменяться/подменяться/отправляться назад (изменённые/удалённые-отклонённые). Альтернативой является лишь ввод специального регистра сведений, в который буду помещаться ссылки на все загруженные объекты (тут есть сложности, т.к. есть ещё и наборы записей регистров). И, тогда сначала проводить всю загрузку целиком как есть (с заполнением регистра), а лишь потом упорядоченную их обработку из этого регистра, изменяя объекты и после уже выгружая изменения назад.
#13
by Darklight
Попробовал XSL преобразования - намаялся - ничего не заработало.... этот вариант бросил...
#14
by denfil
1. Включить РИБ 2. Отключить авторегистрацию у объектов. 3. Подписаться на событие передзаписью у плана обмена. Регистрировать что нужно и не регистрировать чего не нужно. Образцов в типовых тьма.
#16
by Darklight
В общем реализовал с двойной выгрузкой Сначала функцией "ПланыОбмена.ЗаписатьИзменения" выгружаю как есть (во временный файл; до узла "v8de:Data") Затем функцией переношу заглавную часть стандартной выгрузки в другой файл (без изменённых объектов данных) затем в него же повторно выгружаю изменённые объекты данных (секция "v8de:Data") здесь Фильтр - это подготовленный массив объектов метаданных (или самих объектов данных) для выгрузки изменений (упорядоченный нужным образом) и закрываю запись xml Вроде как работает ;)
#17
by Darklight
Добавлю лишь то, что выше Контейнер - получен из ПланыОбмена.СоздатьЗаписьСообщения После основной выгрузки он зкарывается (но перед этим его параметры сохраняются в структуру): и далее уже используется данные из неё при повторной выгрузке через "ПланыОбмена.ВыбратьИзменения(Контейнер.Получатель, Контейнер.НомерСообщения, ЭлементФильтр)"
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- 1C и WindowsXP против 1C и Windows2k
- сравнение производительности 1C в терминале и 1C SQL
- C 1c 8.0.13 на 1c 8.0.15 можно переходить без 14.
- XML ошибка "Не удается просмотреть ввод XML с использованием списка стилей
- Универсальный обмен данными XML, где взять правила обмена
- 1C SQL --- VS --- 1C файловый вариант
- Обмен данными БП-БП:как синхронизировать организации при обмене xml
- Обмен работает только через обработку Универс.обмен данными XML.А как автоматом?
- Обмен с помощью плана обмена и правил обмена.
- 1C 8. Чтение XML в безопасном режиме
- Универсальный обмен данными в формате XML: как "прописать" файл правила обмена
- Программное использование "Универсального обмена XML" с Планом Обмена
В этой группе 1С
- Время документа при оперативном проведении
- RLS. Не срабатывает ограничение по подразделению. УТ 11.
- СКД, отбор, внешний источник данных.
- книга покупок формирует не всю сумму в графе 15
- Бух 3.0 : Созданный документ не появляется в списке "Создать на основании".
- Подскажите как реквизиты формы перебрать ?
- Подбор номенклатуры по строкам excel
- Данные по иерархии в СКД
- УТ 11 => УТАП ?
- УТ10.3. Отчет "ведомость взаиморасчетов с контрагентом"
- Удаление из внешнего источника данных
- v7: Скан = СоздатьОбъект("WIA.ImageFile");
- ОтображатьТекст и ОтображатьФлажок в управляемой форме
- У кого нибудь получилось обновить ут 11.1 до версии ут 11.2
- Настройка формы закрытия заказов покупателей 1С УПП 8.2
- УТ 11. Усреднение цены в ТОРГ-12 для одинаковых товаров с разными ценами.
- КД: Передача параметров из 8.x в 7.7
- Как загрузить типовые правила обмена из БП 3.0 в КД 3.0 ?
- УТ 11.1 Автоматический пересчет цен в зависимости от курса валюты
- Перенумерация: добавить в конец номера постфикс