Генерация документа с модификаторами даты и имени

Мы еще обновляем эту страницу

Тут может не хватать некоторых данных — дополним в ближайшее время

Описание модификаторов документов доступно на helpdesk.

Использование модификаторов для дат и имён через REST не обязательно - входные данные могут быть заранее отформатированы самим приложением. Тем не менее, это может быть удобно. Поэтому в REST есть возможность использовать модификаторы. Для этого необходимо передать соответствующий тип поля в fields. Также в fields по ключу FORMAT можно передать формат по умолчанию. Если в самом шаблоне у этого поля будет указан модификатор - будет применен модификатор шаблона.

Дата

Чтобы модификаторы работали для полей типа дата, необходимо передать их в следующем виде:

  • в values дата должна быть передана в формате atom (как во всех методах)
  • в fields TYPE = DATE
  • также в fields по ключу FORMAT['format'] можно передать модификатор по умолчанию (также, как в шаблоне)

Имя

Чтобы модификаторы работали для полей типа имя необходимо передать их в следующем виде:

  • в values имя должно быть передано в виде массива
[
            'NAME' => 'Игорь', // имя
            'LAST_NAME' => 'Иванов', // фамилия
            'SECOND_NAME' => 'Петрович', // отчество
            'GENDER' => 'M', // пол
        ]
        

По ключу GENDER можно указать пол в явном виде (M - мужской, F - женский). Если пол не указан, то модуль попытается определить его по отчеству. Если отчество не указано - пол не будет определен и склонение не будет работать.

  • в fields TYPE = NAME
  • в fields по ключу FORMAT['format'] можно передать формат по умолчанию
  • в fields по ключу FORMAT['case'] можно передать падеж по умолчанию
$data = [
        	'templateId' => 203,
        	'providerClassName' => 'Bitrix\\DocumentGenerator\\DataProvider\\Rest',
        	'value' => 1,
        	'values' => [
        		'SomeDate' => '2018-10-10T14:30:18+02:00', // значение передано в формате atom
        		'SomeName' => [ // имя передано в виде массива
        			'NAME' => 'Владислав',
        			'LAST_NAME' => 'Горелкин',
        			'GENDER' => 'M',
        		],
        	],
        	'fields' => [
        		'SomeDate' => [
        			'TYPE' => 'DATE',
        			'FORMAT' => [
        				'format' => 'd f Y H:i', // формат вывода
        			],
        		], // тип поля - дата
        		'SomeName' => [
        			'TYPE' => 'NAME',
        			'FORMAT' => [ // здесь можно передать формат поля по умолчанию
        				'case' => 0, // код падежа
        				'format' => '#NAME# #LAST_NAME#' // формат вывода
        			]
        		], // тип поля - имя
        	]
        ];
        $url = $webHookUrl.$prefix.'.document.add/';