|
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