|
257 | 257 | Возврат ПолноеИмяОбъекта; |
258 | 258 | КонецЕсли; |
259 | 259 |
|
260 | | - Если СтрНайти("Configuration,Language", ТипОбъектаМетаданных) > 0 Тогда |
| 260 | + Если ЭтоРодительВерхнегоУровня(ТипОбъектаМетаданных) Тогда |
261 | 261 | Возврат ТипОбъектаМетаданных; |
262 | 262 | Иначе |
263 | 263 | Возврат СтрШаблон("%1.%2", ТипОбъектаМетаданных, ИмяОбъектаМетаданных); |
264 | 264 | КонецЕсли; |
265 | 265 |
|
266 | 266 | КонецФункции |
267 | 267 |
|
| 268 | +Функция ЭтоВложенныйОбъект(ПолноеИмяОбъекта) |
| 269 | + |
| 270 | + ИндексВложенногоТипа = 2; |
| 271 | + |
| 272 | + ЧастиИмени = СтрРазделить(ПолноеИмяОбъекта, "."); |
| 273 | + Если ЧастиИмени.Количество() > ИндексВложенногоТипа Тогда |
| 274 | + ТипВложенногоОбъекта = ЧастиИмени[ИндексВложенногоТипа]; |
| 275 | + Иначе |
| 276 | + Возврат Ложь; |
| 277 | + КонецЕсли; |
| 278 | + |
| 279 | + Возврат (СтрНайти("Form,Template,Recalculation,Subsystem", ТипВложенногоОбъекта) > 0); |
| 280 | + |
| 281 | +КонецФункции |
| 282 | + |
| 283 | +Функция ЭтоРодительВерхнегоУровня(Родитель) |
| 284 | + |
| 285 | + Возврат (СтрНайти("Configuration,Language", Родитель) > 0); |
| 286 | + |
| 287 | +КонецФункции |
| 288 | + |
268 | 289 | Функция ИзмененныеОбъектыМетаданных(ПутьКФайлуИзменений) |
269 | 290 |
|
270 | 291 | РегулярноеВыражение = Новый РегулярноеВыражение("^(?>New|Modified):(\S+)\s*$"); |
|
296 | 317 |
|
297 | 318 | КонецФункции |
298 | 319 |
|
299 | | -Функция ДополнительныеОбъектыКВыгрузке(ВыгруженныеИзменения, ИмяФайлаДампа) |
| 320 | +Функция ДополнительныеОбъектыКВыгрузке(ИзмененныеОбъекты, ИмяФайлаДампа) |
300 | 321 |
|
301 | 322 | СписокОбъектов = Новый Массив; |
302 | 323 |
|
303 | | - ДочерниеОбъекты = Новый Массив; |
304 | | - ДочерниеОбъекты.Добавить("Form"); |
305 | | - ДочерниеОбъекты.Добавить("Template"); |
306 | | - ДочерниеОбъекты.Добавить("Recalculation"); |
307 | | - ДочерниеОбъекты.Добавить("Subsystem"); |
308 | | - |
309 | 324 | ЧтениеXML = Новый ЧтениеXML; |
310 | 325 | ЧтениеXML.ОткрытьФайл(ИмяФайлаДампа); |
311 | 326 |
|
|
316 | 331 | Пока ЧтениеXML.Имя = "Metadata" Цикл |
317 | 332 |
|
318 | 333 | ИмяОбъекта = ЧтениеXML.ЗначениеАтрибута("name"); |
319 | | - |
320 | 334 | Родитель = РодительОбъекта(ИмяОбъекта); |
321 | 335 |
|
322 | | - Сегменты = СтрРазделить(ИмяОбъекта, "."); |
| 336 | + Если ЭтоВложенныйОбъект(ИмяОбъекта) ИЛИ ЭтоРодительВерхнегоУровня(Родитель) Тогда |
323 | 337 |
|
324 | | - Если Сегменты.Количество() > 2 И ДочерниеОбъекты.Найти(Сегменты[2]) = Неопределено Тогда |
325 | | - Продолжить; |
326 | | - КонецЕсли; |
327 | | - Изменения = ВыгруженныеИзменения.Получить(Родитель); |
328 | | - Если Изменения <> Неопределено Тогда |
329 | | - |
330 | | - Если Изменения.Найти(ИмяОбъекта) = Неопределено Или Родитель = "Configuration" Тогда |
| 338 | + Изменения = ИзмененныеОбъекты.Получить(Родитель); |
| 339 | + Если Изменения <> Неопределено И Изменения.Найти(ИмяОбъекта) = Неопределено Тогда |
331 | 340 | СписокОбъектов.Добавить(ИмяОбъекта); |
332 | 341 | КонецЕсли; |
333 | | - |
| 342 | + |
334 | 343 | КонецЕсли; |
335 | 344 |
|
336 | 345 | Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда |
|
0 commit comments