Если НЕ Константы.кор_ВыгружатьЦеныВФайл.Получить() Тогда
Возврат;
КонецЕсли;
Каталог = СокрЛП(Константы.кор_КаталогВыгрузкиЦен.Получить());
Если НЕ ЗначениеЗаполнено(Каталог) Тогда
ЗаписьЖурналаРегистрации("Выгрузка закупочных цен",
УровеньЖурналаРегистрации.Предупреждение, , ,
"Не заполнена константа кор_КаталогВыгрузкиЦен, файл не сохранён.");
Возврат;
КонецЕсли;
// Имя колонки в ТЗ, заголовок в файле, ширина, формат числа ("" — строка).
Колонки = Новый Массив;
Колонки.Добавить(Новый Структура("Имя, Заголовок, Ширина, Формат", "Код", "Код", 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);
Исключение
ЗаписьЖурналаРегистрации("Выгрузка закупочных цен",
УровеньЖурналаРегистрации.Предупреждение, , ,
"Не удалось сохранить файл: " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры