Загрузка данных



	Если НЕ Константы.кор_ВыгружатьЦеныВФайл.Получить() Тогда
		Возврат;
	КонецЕсли;

	Каталог = СокрЛП(Константы.кор_КаталогВыгрузкиЦен.Получить());
	Если НЕ ЗначениеЗаполнено(Каталог) Тогда
		ЗаписьЖурналаРегистрации("Выгрузка закупочных цен",
			УровеньЖурналаРегистрации.Предупреждение, , ,
			"Не заполнена константа кор_КаталогВыгрузкиЦен, файл не сохранён.");
		Возврат;
	КонецЕсли;

	// Имя колонки в ТЗ, заголовок в файле, ширина, формат числа ("" — строка).
	Колонки = Новый Массив;
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "Код",                 "Код",                  12, ""));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "Артикул",             "Артикул",              18, ""));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "Марка",               "Марка",                14, ""));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "OEMНомер",            "OEM номер",            22, ""));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "АртикулМаркетплейса", "Артикул МП",           18, ""));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "СредняяЦена",         "Средняя закупочная",   16, "ЧДЦ=2; ЧН=0; ЧРГ="));
	Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "Цена",                "Последняя закупочная", 16, "ЧДЦ=2; ЧН=0; ЧРГ="));

	Попытка

		ТабДок = Новый ТабличныйДокумент;

		// Шапка
		Для НомерКолонки = 1 По Колонки.Количество() Цикл
			Описание = Колонки[НомерКолонки - 1];
			Ячейка = ТабДок.Область(1, НомерКолонки, 1, НомерКолонки);
			Ячейка.Текст = Описание.Заголовок;
			Ячейка.Шрифт = Новый Шрифт(, , Истина);
			Ячейка.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
			Ячейка.ЦветФона = Новый Цвет(230, 230, 230);
			ТабДок.Область(, НомерКолонки, , НомерКолонки).ШиринаКолонки = Описание.Ширина;
		КонецЦикла;

		// Данные
		НомерСтроки = 1;
		Для Каждого СтрокаТЗ Из ЦеныТЗ Цикл
			НомерСтроки = НомерСтроки + 1;
			Для НомерКолонки = 1 По Колонки.Количество() Цикл
				Описание = Колонки[НомерКолонки - 1];
				Значение = СтрокаТЗ[Описание.Имя];
				Ячейка = ТабДок.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
				Если ЗначениеЗаполнено(Описание.Формат) Тогда
					Ячейка.Текст = Формат(Значение, Описание.Формат);
					Ячейка.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
				Иначе
					Ячейка.Текст = СокрЛП(Строка(Значение));
				КонецЕсли;
			КонецЦикла;
		КонецЦикла;

		ТабДок.ФиксацияСверху = 1;

		ИмяФайла = Каталог
			+ ?(Прав(Каталог, 1) = ПолучитьРазделительПути(), "", ПолучитьРазделительПути())
			+ "цены_" + Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMdd_HHmmss") + ".xlsx";

		ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);

	Исключение
		ЗаписьЖурналаРегистрации("Выгрузка закупочных цен",
			УровеньЖурналаРегистрации.Предупреждение, , ,
			"Не удалось сохранить файл: " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
	КонецПопытки;

КонецПроцедуры