Как удалить из 1с выгруженный файл xml
Всем привет! Требуется удалить несколько атрибутов уже в выгруженном файле XML.
Написал через DOM, но удалить атрибуты как не пойму.
ОбъектXML = Новый ЧтениеXML;
ОбъектXML.ОткрытьФайл(ФайлОбмена);
ПостроительDOM = Новый ПостроительDOM;
ДокументDOM = ПостроительDOM.Прочитать(ОбъектXML);
ОбъектXML.Закрыть();
НужныйЭлемент = ДокументDOM.ПолучитьЭлементыПоИмени(«КоммерческаяИнформация»);
Если НужныйЭлемент.Количество()>0 Тогда
Для сч=0 по НужныеАтрибуты.Количество()-1 Цикл
Если ЗначениеЗаполнено(НужныеАтрибуты[сч].URIПространстваИмен) Тогда
НужныеАтрибуты[сч].Значение = «»;
КонецЕсли;
КонецЦикла;
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ФайлОбмена);
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);
ЗаписьXML.Закрыть();
Ограничения загрузки конфигурации из файлов XML
Механизм поддержки конфигурации и механизм хранилища конфигурации предполагают, что изменения в конфигурацию должны вноситься по определённым правилам. Соблюдение этих правил даёт гарантию того, что конфигурация в дальнейшем будет работать правильно.
Механизм выгрузки конфигурации в файл .cf и загрузки её из файла учитывает необходимость соблюдения этих правил. Если вы выгрузили конфигурацию и изменили её в другой информационной базе, то вы не всегда сможете «просто так» загрузить её обратно в исходную базу. В некоторых ситуациях платформа попросит вас разблокировать объекты исходной конфигурации, если она находятся на поддержке или присоединена к хранилищу.
Когда вы имеете дело с файлом конфигурации .cf, вы изменяете его средствами 1С:Предприятия. Но, как вы знаете, в платформе существует и другой механизм, который позволяет вносить изменения в конфигурацию без использования платформы. Это механизм выгрузки конфигурации в файлы XML и загрузки из них.
По мере развития этого механизма появилась потенциальная возможность изменения конфигурации в обход правил, необходимых для поддержки конфигурации или работы хранилища. Такие изменения могут приводить к нарушению нормальной работы конфигурации.
Например, конфигурация находится на полной поддержке и обновляется автоматически. После загрузки из файлов XML она продолжит находиться на полной поддержке, но будет отличаться от конфигурации поставщика. Тогда первое же автоматическое обновление приведёт к тому, что изменения, внесённые XML-редактированием, будут удалены.
Другой пример, когда конфигурация присоединена к хранилищу. В результате загрузки конфигурации из файлов XML, объекты, незахваченные в хранилище, будут загружены и будут изменены. При обновлении конфигурации базы данных эти изменения попадут в базу данных. Однако при следующем захвате в хранилище одного из таких объектов, изменения, загруженные из файлов XML, потеряются. Потому что при захвате конфигуратор получает последнюю версию объекта из хранилища. Таким образом, если при загрузке из файлов XML какие-то объекты были добавлены, то при захвате родительского объекта они будут удалены.
Для того чтобы избежать подобных ситуаций и привести работу платформы к единому порядку, мы ввели ряд ограничений на загрузку конфигурации из файлов XML. Эти ограничения вводятся в трёх ситуациях.
Загрузка в конфигурацию, подключённую к хранилищу
- Полная загрузка невозможна;
- Частичная загрузка возможна только в том случае, когда все объекты, которые изменятся после загрузки, захвачены в хранилище.
Загрузка в конфигурацию, находящуюся на поддержке

- Полная загрузка возможна только в том случае, когда все объекты конечной конфигурации являются редактируемыми;
- Частичная загрузка возможна только в том случае, когда все объекты конечной конфигурации, которые изменятся после загрузки, являются редактируемыми.
Загрузка конфигурации, которая содержит настройки поддержки

Если XML выгрузка содержит настройки поддержки (файл ParentConfigurations.xml) то:
- Полная загрузка невозможна;
- Частичная загрузка невозможна в том случае, когда загружается корневой объект конфигурации (файл Configuration.xml) .
По поводу последней ситуации нужно дать небольшое объяснение. Снятие конфигурации с поддержки в интерактивном режиме, в конфигураторе, не приводит к удалению настроек поддержки из данных. Поэтому такая конфигурация, выгруженная в файлы XML, всё равно будет содержать файл с настройками поддержки. А это значит, что загрузить ее из XML теперь не удастся.
Чтобы загрузка такой конфигурации стала возможной, нужно в каталоге выгрузки удалить файл настроек поддержки. Если выгрузка выполнялась в линейном формате, это файл Configuration.ParentConfigurations. А если, если выгрузка выполнялась в иерархическом формате, то это файл Configuration.ParentConfigurations.bin.
В результате конфигурация будет загружена как снятая с поддержки. Но при этом вы должны понимать, что и вся информация о настройках поддержки будет потеряна. В дальнейшем вы не сможете ею воспользоваться.
Развитие выгрузки/загрузки конфигурации в/из XML
Для выгрузки конфигурации в XML мы добавили новый формат, — Иерархический. Теперь это стандартный формат, который предлагает платформа. Чтобы выгрузить файлы в прежнем формате, нужно это указать в явном виде:

В отличие от старого формата, линейного, в котором полное имя объекта конфигурации содержалось в имени результирующего файла .

. новый формат выгрузки, иерархический, формирует структуру каталогов с файлами:

Иерархическая выгрузка позволяет избавиться от проблем, связанных с очень длинными именами файлов. Такие проблемы могли возникать раньше как при выгрузке, так и при переносе файлов между разными файловыми системами (FAT, NTFS, EXT).
Сам по себе иерархический формат выгрузки не гарантирует того, что в выгрузке не появится очень длинных имён, или очень длинных путей. Поэтому мы ввели ряд ограничений и рекомендаций. Например, в конфигураторе нельзя создавать имена объектов длиннее 80 символов, не рекомендуется использовать подсистемы большой вложенности, каталог выгрузки следует располагать как можно ближе к корню устройства и так далее.
Вы можете управлять форматом выгрузки при запуске конфигуратора в пакетном режиме. Для этого прежнему параметру DumpConfigToFiles мы добавили новую опцию Format. Если вы хотите выгрузить в старом, линейном формате, это нужно указать в явном виде:
«C:\Program Files (x86)\1cv8\8.3.7.1759\bin\1cv8.exe» DESIGNER /IBName «TestBase» /DumpConfigToFiles «C:\dump» -Format Plain
Без указания этой опции выгрузка выполняется в иерархическом формате. А при загрузке формат определяется автоматически, и никаких дополнительных опций не требуется.
Частичная загрузка конфигурации из файлов XML
Мы реализовали возможность загружать из файлов XML не всю конфигурацию, а только её часть. В первую очередь эта возможность востребована в новой среде разработки 1C:Enterprise Development Tools. Ведь Development Tools ориентированы на работу с крупными конфигурациями, а частичная загрузка помогает ускорить процесс разработки, сократить цикл «редактирование — отладка».
Однако вы можете использовать эту возможность и независимо от Development Tools. Потому что для загрузки отдельных файлов конфигурации используется запуск конфигуратора из командной строки в пакетном режиме. А значит, используя частичную загрузку, вы можете:
- изменять свойства конфигурации,
- добавлять, изменять и удалять объекты конфигурации,
- загружать только некоторые свойства объектов конфигурации без загрузки самих объектов. Например, модули объектов, формы, модули форм, роли и так далее.
Мы сразу хотим обратить ваше внимание на то, что мы реализовали только частичную загрузку, и только из командной строки. Частичной выгрузки нет так же, как нет интерактивных команд конфигуратора, позволяющих загружать часть конфигурации.
Поэтому загрузить только модуль справочника Номенклатура вы можете, например, следующей командой:
«C:\Program Files (x86)\1cv8\8.3.7.1759\bin\1cv8.exe» DESIGNER /IBName «TestBase» /LoadConfigFromFiles «C:\dump» -Files «C:\dump\Catalogs\Номенклатура\Ext\ObjectModule.bsl»
Для частичной загрузки используется прежний параметр LoadConfigFromFiles, и две новых опции: Files и ListFiles. Files позволяет вам перечислить через запятую те файлы, которые нужно загрузить, если таких файлов немного. А если их много, тогда вы можете использовать опцию ListFiles. Она указывает на файл, в котором перечислены XML файлы, которые нужно загрузить.
Кроме этого, для повышения удобства работы, мы разрешили совместное использование в одной строке параметров LoadConfigFromFiles и UpdateDBCfg. Таким образом, теперь за один вызов вы можете загрузить изменения и принять их (обновить конфигурацию базы данных).
Выгрузка/загрузка внешних отчётов и обработок в/из XML
В версии 8.3.8 мы добавили возможность выгружать в XML и загружать внешние отчёты и обработки:

Более того, при работе в конфигураторе вы можете сохранять их сразу в формате XML (Файл — Сохранить как. ). То же самое относится и к открытию:

Также мы добавили возможность сравнить внешний отчёт или обработку с XML выгрузкой. Все эти изменения мы сделали в первую очередь для того, чтобы в новой среде разработки 1C:Enterprise Development Tools обеспечить полноценную работу с внешними отчётами и обработками. Однако и отдельно от Development Tools эти возможности могут быть вам полезны для любых автоматизированных изменений выгруженных XML файлов.
Выгрузить/загрузить внешние отчёты/обработки вы можете не только интерактивно, но и автоматически, запуская конфигуратор в пакетном режиме. Для этого мы добавили два новых параметра: DumpExternalDataProcessorOrReportToFiles и LoadExternalDataProcessorOrReportFromFiles.
Номер выгружаемого XML-файла РСВ-1
Выгружена РСВ-1 в XML-файл с №1.
Потом были сделаны исправления в РСВ-1. Выгружает в XML-файл уже с №2.
Как сделать, чтобы XML-файл формировался с первоначальным номером, т.е. №1.
Счетчик есть какой-то по выгрузке файлов? Где он, и как его обнулить?
Как сделать руками в XML-файле через Блокнот, я знаю.
читатель
Дата регистрации: 19.08.2010
Сообщений: 5
04.05.2012 11:25
читатель
Дата регистрации: 26.12.2007
Сообщений: 25775
04.05.2012 11:42
а если попробовать перед формированием нового удалить предыдущий? А зачем? Я никогда вообще не обращал внимание на номер и название этого файла.
читатель
Дата регистрации: 25.12.2008
Сообщений: 22390
04.05.2012 11:43
ну это ты! А есть которые до истерики доходят
читатель
Дата регистрации: 12.01.2012
Сообщений: 22
04.05.2012 12:15
Нужен РСВ 1-й чтобы был? При выгрузке есть кнопка посмотеть, там в длинном названии файла есть последняя цифра — это номер. ставите нужный. Потом там куда выгрузили находите этот файл с номером 2, 3 какой получился первоначально нажимаете правую кнопку мыши переименовать и тоже меняете номер на нужный. Или идем по простому пути, если есть индивидуальные сведения, то делаем номера пачек например 1 и 3. ПФР все равно в каком они порядке.
