mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 05:01:01 +03:00
Py-порты (lxml) при точечном редактировании существующего 1С-XML переписывали весь файл: CRLF→LF, encoding="UTF-8"→"utf-8", добавляли финальный перенос, плодили литерал (сериализация \r из tail'ов). Результат — широкий шумовой diff и скрытый лишний текст-узел при exit 0 и зелёной валидации. PS1-порты (XmlDocument) багу не подвержены — эталон. Фикс во всех 13 round-trip re-serialize py-навыках: перед записью детектится стиль существующего файла (BOM / EOL / регистр encoding / финальный перенос) и восстанавливается при сохранении; переносы канонизируются к LF (убирает ), затем приводятся к EOL источника. Новый файл (путь не существует) → прежнее поведение, снапшоты не двигаются. Навыки: cf-edit, meta-edit, meta-remove, interface-edit, subsystem-edit, skd-edit, form-edit, form-add, help-add, template-add, template-remove, form-remove, cfe-borrow. Версии py+ps1 подняты синхронно. Harness (tests/skills/runner.mjs): снята маска в normalizeXmlContent (порты её больше не порождают → гвардия ловит регресс); добавлен expect.preserves — raw-байтовая проверка BOM/EOL/encoding/финального переноса/отсутствия в обход нормализации. Регрессионные round-trip кейсы на CRLF+BOM+UTF-8 фикстурах для cf-edit/meta-edit/subsystem-edit. Верификация: py 556/556, ps1 556/556; платформа 1С 8.3.24 (verify-snapshots) cf-edit 12/12, meta-edit/subsystem-edit round-trip загружаются; негатив-тест подтверждает, что harness ловит дефект на старом коде. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
251 lines
10 KiB
XML
251 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
|
<Configuration uuid="f1472007-9f1d-4330-ade4-5835d7ed83ea">
|
|
<InternalInfo>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
|
|
<xr:ObjectId>d41d3bac-c6c1-4a8d-afcd-81fc29f496d0</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
|
|
<xr:ObjectId>c8e78ba2-51c5-45bb-a0ef-8c3c7ff76053</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
|
|
<xr:ObjectId>342f337b-45a8-422b-965d-11330d52b334</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
|
|
<xr:ObjectId>a3448b91-cbda-4e31-a0f2-e32bc1884e7c</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
|
|
<xr:ObjectId>41d207a0-776a-40af-bcd1-925d3acffb82</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
|
|
<xr:ObjectId>d73b5446-4f92-46db-a779-91d4e78c664a</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId>
|
|
<xr:ObjectId>c5472dbb-d2be-4f93-a745-564e39298ef2</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
</InternalInfo>
|
|
<Properties>
|
|
<Name>КрлфКонф</Name>
|
|
<Synonym>
|
|
<v8:item>
|
|
<v8:lang>ru</v8:lang>
|
|
<v8:content>КрлфКонф</v8:content>
|
|
</v8:item>
|
|
</Synonym>
|
|
<Comment/>
|
|
<NamePrefix/>
|
|
<ConfigurationExtensionCompatibilityMode>Version8_3_27</ConfigurationExtensionCompatibilityMode>
|
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
|
<UsePurposes>
|
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
|
</UsePurposes>
|
|
<ScriptVariant>Russian</ScriptVariant>
|
|
<DefaultRoles/>
|
|
<Vendor></Vendor>
|
|
<Version></Version>
|
|
<UpdateCatalogAddress/>
|
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
|
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
|
<UseOrdinaryFormInManagedApplication>false</UseOrdinaryFormInManagedApplication>
|
|
<AdditionalFullTextSearchDictionaries/>
|
|
<CommonSettingsStorage/>
|
|
<ReportsUserSettingsStorage/>
|
|
<ReportsVariantsStorage/>
|
|
<FormDataSettingsStorage/>
|
|
<DynamicListsUserSettingsStorage/>
|
|
<URLExternalDataStorage/>
|
|
<Content/>
|
|
<DefaultReportForm/>
|
|
<DefaultReportVariantForm/>
|
|
<DefaultReportSettingsForm/>
|
|
<DefaultReportAppearanceTemplate/>
|
|
<DefaultDynamicListSettingsForm/>
|
|
<DefaultSearchForm/>
|
|
<DefaultDataHistoryChangeHistoryForm/>
|
|
<DefaultDataHistoryVersionDataForm/>
|
|
<DefaultDataHistoryVersionDifferencesForm/>
|
|
<DefaultCollaborationSystemUsersChoiceForm/>
|
|
<RequiredMobileApplicationPermissions/>
|
|
<UsedMobileApplicationFunctionalities>
|
|
<app:functionality>
|
|
<app:functionality>Biometrics</app:functionality>
|
|
<app:use>true</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Location</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>BackgroundLocation</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>BluetoothPrinters</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>WiFiPrinters</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Contacts</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Calendars</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>PushNotifications</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>LocalNotifications</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>InAppPurchases</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>PersonalComputerFileExchange</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Ads</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>NumberDialing</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>CallProcessing</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>CallLog</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>AutoSendSMS</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>ReceiveSMS</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>SMSLog</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Camera</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Microphone</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>MusicLibrary</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>PictureAndVideoLibraries</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>AudioPlaybackAndVibration</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>BackgroundAudioPlaybackAndVibration</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>InstallPackages</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>OSBackup</app:functionality>
|
|
<app:use>true</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>ApplicationUsageStatistics</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>BarcodeScanning</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>BackgroundAudioRecording</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>AllFilesAccess</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Videoconferences</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>NFC</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>DocumentScanning</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>SpeechToText</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>Geofences</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>IncomingShareRequests</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
<app:functionality>
|
|
<app:functionality>AllIncomingShareRequestsTypesProcessing</app:functionality>
|
|
<app:use>false</app:use>
|
|
</app:functionality>
|
|
</UsedMobileApplicationFunctionalities>
|
|
<StandaloneConfigurationRestrictionRoles/>
|
|
<MobileApplicationURLs/>
|
|
<AllowedIncomingShareRequestTypes/>
|
|
<MainClientApplicationWindowMode>Normal</MainClientApplicationWindowMode>
|
|
<DefaultInterface/>
|
|
<DefaultStyle/>
|
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
|
<BriefInformation/>
|
|
<DetailedInformation/>
|
|
<Copyright/>
|
|
<VendorInformationAddress/>
|
|
<ConfigurationInformationAddress/>
|
|
<DataLockControlMode>Managed</DataLockControlMode>
|
|
<ObjectAutonumerationMode>NotAutoFree</ObjectAutonumerationMode>
|
|
<ModalityUseMode>DontUse</ModalityUseMode>
|
|
<SynchronousPlatformExtensionAndAddInCallUseMode>DontUse</SynchronousPlatformExtensionAndAddInCallUseMode>
|
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
|
<DatabaseTablespacesUseMode>DontUse</DatabaseTablespacesUseMode>
|
|
<CompatibilityMode>Version8_3_27</CompatibilityMode>
|
|
<DefaultConstantsForm/>
|
|
</Properties>
|
|
<ChildObjects>
|
|
<Language>Русский</Language>
|
|
</ChildObjects>
|
|
</Configuration>
|
|
</MetaDataObject> |