• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/onec/documentbase.php
  • Класс: BitrixSaleExchangeOneCDocumentBase
  • Вызов: DocumentBase::outputXml
protected function outputXml(array $fields, $level=0)
{
	$xml = '';
	foreach ($fields as $name=>$value)
	{
		if(is_array($value))
		{
			switch ($name)
			{
				case 'REK_VALUES':
					$xml .= $this->outputXmlRekValue($level, $name, $value);
					break;
				case 'ITEMS':
					$xml .= $this->outputXmlItems($level, $name, $value);
					break;
				case 'AGENT':
					$profile = new ProfileDocument();
					$profile->setFields($value);
					$xml .= $this->openNodeDirectory($level, 'AGENTS');
					$xml .= $this->openNodeDirectory($level+1, $profile->getNameNodeDocument());
					$xml .= $profile->output($level+1);
					$xml .= $this->closeNodeDirectory($level+1, $profile->getNameNodeDocument());
					$xml .= $this->closeNodeDirectory($level, 'AGENTS');
					break;
				case 'STORIES':
					$xml .= $this->outputXmlStories($level, $name, $value);
					break;
				case 'TAXES':
					$xml .= $this->outputXmlTaxes($level, $name, $value);
					break;
				case 'DISCOUNTS':
					$xml .= $this->outputXmlDiscounts($level, $name, $value);
					break;
			}
		}
		else
			$xml .= $this->formatXMLNode($level, $name, $value);

	}
	return $xml;
}