# Функция *updateMetadata*
## Назначение функции
Функция для загрузки описания метаданных. См.также [`EVENT_GET_METADATA`](get_metadata_event.md)

## Параметры функции
* **metadata** - *string*, структура метаданных в виде JSON-объекта
* **path** - *string*, вид обновляемых метаданных (путь к метаданным). Необязательный параметр.
	

## Примеры вызова функции
#### Полное обновление всех метаданных
```javascript
updateMetadata(`{
  "catalogs": {
    "АдресныеСокращения": {
      "properties": {
        "Уровень": {
          "name": "Уровень"
        },
        "Сокращение": {
          "name": "Сокращение"
        },
        "Предопределенный": "",
        "Ссылка": "",
        "ПометкаУдаления": "",
        "Наименование": "",
        "Код": ""
      }
    },
    "Банки": {
      "properties": {
        "КоррСчет": {
          "name": "Корр. счет"
        },
        "Город": {
          "name": "Город"
        },
        "Адрес": {
          "name": "Адрес"
        },
        "Телефоны": {
          "name": "Телефоны"
        },
        "Предопределенный": "",
        "Ссылка": "",
        "ПометкаУдаления": "",
        "ЭтоГруппа": "",
        "Родитель": "",
        "Наименование": "",
        "Код": ""
      }
    }
  },
  "documents": {
    "АвансовыйОтчет": {
      "properties": {
        "ВалютаДокумента": {
          "name": "Валюта документа",
          "ref": "catalogs.Валюты"
        },
        "Комментарий": {
          "name": "Комментарий"
        },
        "КурсДокумента": {
          "name": "Курс документа"
        },
        "КратностьДокумента": {
          "name": "Кратность документа"
        },
        "Организация": {
          "name": "Организация",
          "ref": "catalogs.Организации"
        },
        "ОтражатьВУправленческомУчете": {
          "name": "Отражать в управленческом учете"
        },
        "ОтражатьВБухгалтерскомУчете": {
          "name": "Отражать в бухгалтерском учете"
        },
        "ОтражатьВНалоговомУчете": {
          "name": "Отражать в налоговом учете"
        },
        "Подразделение": {
          "name": "Подразделение",
          "ref": "catalogs.Подразделения"
        },
        "СкладОрдер": {
          "name": "Склад ордер",
          "ref": "documents.ПриходныйОрдерНаТовары"
        },
        "СуммаВключаетНДС": {
          "name": "Сумма включает НДС"
        },
        "СуммаДокумента": {
          "name": "Сумма документа"
        },
        "ТипЦен": {
          "name": "Тип цен",
          "ref": "catalogs.ТипыЦенНоменклатуры"
        },
        "УчитыватьНДС": {
          "name": "Учитывать НДС"
        },
        "ФизЛицо": {
          "name": "Подотчетное лицо",
          "ref": "catalogs.ФизическиеЛица"
        },
        "Ответственный": {
          "name": "Ответственный",
          "ref": "catalogs.Пользователи"
        },
        "ВидПоступления": {
          "name": "Вид поступления"
        },
        "НДСВключенВСтоимость": {
          "name": "НДС включен в стоимость"
        },
        "НазначениеАванса": {
          "name": "Назначение аванса"
        },
        "Проект": {
          "name": "Проект",
          "ref": "catalogs.ВидыРаспределенияПоПроектам"
        },
        "КоличествоДокументов": {
          "name": "Количество документов"
        },
        "КоличествоЛистов": {
          "name": "Количество листов"
        },
        "Проведен": "",
        "Ссылка": "",
        "ПометкаУдаления": "",
        "Дата": "",
        "Номер": "",
        "ВозвратнаяТара": {
          "name": "ТЧ: Возвратная тара"
        },
        "ВыданныеАвансы": {
          "name": "ТЧ: Выданные авансы"
        },
        "ОплатаПоставщикам": {
          "name": "ТЧ: Оплата поставщикам"
        },
        "Прочее": {
          "name": "ТЧ: Прочее"
        },
        "Товары": {
          "name": "ТЧ: Товары"
        },
        "СерийныеНомера": {
          "name": "ТЧ: Серийные номера"
        }
      }
    }
  }
}`);
```

#### Обновление пользовательских объектов
```javascript
updateMetadata(`{
  "customObjects": {
    "МойОбъект": {
      "ref": "classes.Структура",
      "properties": {
        "Номенклатура": {
          "name": "Номенклатура",
          "description": "Ссылка на справочник номенклатуры",
          "ref": "catalogs.Товары"
        },
        "Остаток": {
          "name": "Остаток"
        },
        "МассивТоваров": {
          "name": "МассивТоваров",
          "description": "Массив ссылок на справочник номенклатуры",
          "ref": "classes.Массив",
          "item_ref":"catalogs.Товары"
        }        
      }
    }
  }
}`);
```

#### Обновление только справочников (имена без реквизитов)
```javascript
updateMetadata(`{
  "catalogs": {
    "АдресныеСокращения": {},
    "Банки": {},
    "Номенклатура": {}
  }
}`, 'catalog.items');
```

#### Обновление конкретного справочника
```javascript
updateMetadata(`{
  "catalogs": {
    "Банки": {
      "properties": {
        "КоррСчет": {
          "name": "Корр. счет"
        },
        "Город": {
          "name": "Город"
        },
        "Адрес": {
          "name": "Адрес"
        },
        "Телефоны": {
          "name": "Телефоны"
        },
        "Предопределенный": "",
        "Ссылка": "",
        "ПометкаУдаления": "",
        "ЭтоГруппа": "",
        "Родитель": "",
        "Наименование": "",
        "Код": ""
      }
    }
  }
}`, 'catalog.items.Банки');
```

## Соответствие между параметрами событиями [`EVENT_GET_METADATA`](get_metadata_event.md) и параметром `path`
#### По видам метаданных
| Параметр события            | Вид обновляемых метаданных (path)                |
| ----------------------------| -------------------------------------------------|
| справочники                 | catalogs.items                                   |
| catalogs                    | catalogs.items                                   |
| документы                   | documents.items                                  |
| documents                   | documents.items                                  |
| регистрысведений            | infoRegs.items                                   |
| informationregisters        | infoRegs.items                                   |
| регистрынакопления          | accumRegs.items                                  |
| accumulationregisters       | accumRegs.items                                  |
| регистрыбухгалтерии         | accountRegs.items                                |
| accountingregisters         | accountRegs.items                                |
| регистрырасчета             | calcRegs.items                                   |
| calculationregisters        | calcRegs.items                                   |
| обработки                   | dataProc.items                                   |
| dataprocessors              | dataProc.items                                   |
| отчеты                      | reports.items                                    |
| reports                     | reports.items                                    |
| перечисления                | enums.items                                      |
| enums                       | enums.items                                      |
| планысчетов                 | сhartsOfAccounts.items                           |
| chartsofaccounts            | сhartsOfAccounts.items                           |
| бизнеспроцессы              | businessProcesses.items                          |
| businessprocesses           | businessProcesses.items                          |
| задачи                      | tasks.items                                      |
| tasks                       | tasks.items                                      |
| планыобмена                 | exchangePlans.items                              |
| exchangeplans               | exchangePlans.items                              |
| планывидовхарактеристик     | chartsOfCharacteristicTypes.items                |
| chartsofcharacteristictypes | chartsOfCharacteristicTypes.items                |
| планывидоврасчета           | chartsOfCalculationTypes.items                   |
| chartsofcalculationtypes    | chartsOfCalculationTypes.items                   |
| константы                   | constants.items                                  |
| constants                   | constants.items                                  |

#### Конкретный объект метаданных
| Параметр события            | Вид обновляемых метаданных (path)                |
| ----------------------------| -------------------------------------------------|
| справочники.номенклатура    | catalogs.items.Номенклатура                      |
| справочники.<ИмяОбъекта>    | catalogs.items.<ИмяОбъекта>                      |
| документы.расходнаянакладная| documents.items.РасходнаяНакладная               |
| документы.<ИмяОбъекта>      | documents.items.<ИмяОбъекта>                     |