новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Выгрузка Номенклатуры в Эксель с иерархией УТ 11.1

    • #1
    • 21.12.2017 09:52
    0
    Добрый день. Подскажите пожалуйста Есть Справочник номенклатура его нужно выгрузить в ексель, стандартная обработка выгрузка загрузка не подходит. есть такой код: &НаКлиенте Процедура тест123(Кнопка); Объект.ДанныеВыгрузки.Очистить(); ВыбратьНоменклатуру(); КонецПроцедуры &НаСервере Процедура ВыбратьНоменклатуру (); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 500 | Номенклатура.Ссылка, | Номенклатура.ВерсияДанных, | Номенклатура.ПометкаУдаления, | Номенклатура.Родитель, | Номенклатура.ЭтоГруппа, | Номенклатура.Код, | Номенклатура.Наименование, | Номенклатура.АлкогольнаяПродукция, | Номенклатура.Артикул, | Номенклатура.ВариантОформленияПродажи, | Номенклатура.Вес, | Номенклатура.ВестиУчетПоГТД, | Номенклатура.ВестиУчетСертификатовНоменклатуры, | Номенклатура.ВидАлкогольнойПродукции, | Номенклатура.ВидНоменклатуры, | Номенклатура.ГруппаДоступа, | Номенклатура.ГруппаФинансовогоУчета, | Номенклатура.ЕдиницаИзмерения, | Номенклатура.ЕдиницаИзмеренияСрокаГодности, | Номенклатура.ЕстьТоварыДругогоКачества, | Номенклатура.ИмпортнаяАлкогольнаяПродукция, | Номенклатура.ИспользованиеХарактеристик, | Номенклатура.ИспользоватьИндивидуальныйШаблонЦенника, | Номенклатура.ИспользоватьИндивидуальныйШаблонЭтикетки, | Номенклатура.ИспользоватьУпаковки, | Номенклатура.Качество, | Номенклатура.КодДляПоиска, | Номенклатура.Марка, | Номенклатура.НаборУпаковок, | Номенклатура.НаименованиеПолное, | Номенклатура.НоменклатураМногооборотнаяТара, | Номенклатура.Объем, | Номенклатура.ОбъемДАЛ, | Номенклатура.Описание, | Номенклатура.ПодакцизныйТовар, | Номенклатура.ПоставляетсяВМногооборотнойТаре, | Номенклатура.Производитель, | Номенклатура.ПроизводительИмпортерДляДекларацийАлко, | Номенклатура.СкладскаяГруппа, | Номенклатура.СрокГодности, | Номенклатура.СтавкаНДС, | Номенклатура.ТипНоменклатуры, | Номенклатура.ТоварнаяКатегория, | Номенклатура.ФайлКартинки, | Номенклатура.ФайлОписанияДляСайта, | Номенклатура.ХарактеристикаМногооборотнаяТара, | Номенклатура.ЦеноваяГруппа, | Номенклатура.ШаблонЦенника, | Номенклатура.ЕдиницаДляОтчетов, | Номенклатура.КоэффициентЕдиницыДляОтчетов, | Номенклатура.ШаблонЭтикетки, | Номенклатура.СезоннаяГруппа, | Номенклатура.РошеЛиния, | Номенклатура.РошеОбозначение, | Номенклатура.РошеГруппа, | Номенклатура.ДополнительныеРеквизиты.( | Ссылка, | НомерСтроки, | Свойство, | Значение, | ТекстоваяСтрока | ), | Номенклатура.Предопределенный, | Номенклатура.ИмяПредопределенныхДанных |ИЗ | Справочник.Номенклатура КАК Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); Объект.ДанныеВыгрузки.Загрузить(РезультатЗапроса.Выгрузить()); Выводит на экран список номенклатуры и все реквизиты Далее подключаю Ексель &НаКлиенте Процедура ВыгрузитьНоменклатуруВExcel(Кнопка) Попытка Попытка // Загрузка объекта Microsoft Excel Состояние("Выгрузка данных из 1С в Microsoft Excel..."); ExcelПриложение = Новый COMОбъект("Excel.Application"); Исключение Сообщить("Ошибка при запуске Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); Возврат; КонецПопытки; // Создадим книгу, по умолчанию в ней уже есть листы Книга = ExcelПриложение.WorkBooks.Add(); // Используем первый лист книги Excel Лист = Книга.WorkSheets(1); // Задание рабочему листу имени ИмяЛиста Лист.Name = "Список номенклатуры"; // Сохраним созданную книгу в файл xls Книга.SaveAs("d:\1c\СправочникНоменклатура.xls"); Попытка ExcelПриложение.Quit(); Как выгрузить все это в Эексель файлик?
    • #2
    • 21.12.2017 14:23
    0
    Начал так делать

    Для индекс = 0 по Объект.ДанныеВыгрузки.Количество()-1 цикл

    стр = Объект.ДанныеВыгрузки[индекс];
    Лист.Cells(индекс+1, 1).Value = стр.Код;
    Лист.Cells(индекс+1, 2).Value = стр.Ссылка;
    Лист.Cells(индекс+1, 3).Value = стр.Артикул;
    Лист.Cells(индекс+1, 4).Value = стр.Наименование;

    но как дохожу до
    Лист.Cells(индекс+1, 5).Value = стр.ЕдиницаИзмерения; обшибка вылазит так как ЕденицаИзмерения имеет тип
    СправочникСсылка.ЕдиницыИзмерения

    Как на клиенте мне к этому обратиться?
    • #3
    • 21.12.2017 16:01
    0
    Для простоты Строка(стр.ЕдиницаИзмерения)
    Или стр.ЕдиницаИзмерения.Наименование.
    Но лучше первый вариант
    • #4
    • 21.12.2017 16:56
    0
    Хмм, работает )), как не понятно
    Если не трудно просветите пожалуйста
    Я думал таким образом из формы на клиенте обратится к серверу нельзя...

    Уже начал по другому, запрос менять с
    | Номенклатура.ЕдиницаИзмерения на
    | Номенклатура.ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод и писать Лист.Cells(индекс+1, 5).Value = стр.ЕдиницаИзмеренияКод;

    Если не трудно можете как подсказать как первую строчку в таблице заменить на наименование столбцов?
    Заранее большое спасибо!, 2 дня бился с вопросом как из формы на клиенте обратится на сервер.
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться