Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 04:29

Выгрузка из 1с в Ексель

Автор Вожак, 21 мар 2012, 12:32

0 Пользователей и 2 гостей просматривают эту тему.

Вожак

Процедура ВыборДокументаПриИзменении(Элемент)
  // Получить список реквизитов выбранного справочника
  КоллекцияРеквизитов = Метаданные.Документы[Элемент.Значение];
  ТП.Очистить();
  // Добавим предопределенные реквизиты справочника
  стр = ТП.Добавить();
  стр.НазваниеРеквизита = "Код";
  стр = ТП.Добавить();
  стр.НазваниеРеквизита = "Наименование";
  // Добавим реквизит родитель для справочников с установленным видом Иерархии
  Если Строка(КоллекцияРеквизитов.ВидИерархии) = "ИерархияГруппИЭлементов" Тогда
    стр = ТП.Добавить();
    стр.НазваниеРеквизита = "Родитель";
  КонецЕсли;
   // Обход коллекции реквизитов метаданных для формирования табличного поля выбора
  Для каждого пРек из КоллекцияРеквизитов.Реквизиты Цикл
    стр = ТП.Добавить();
    стр.НазваниеРеквизита = пРек.Имя;
  КонецЦикла;
  // Поставим заначение истина для всех реквизитов справочника
  Для каждого стр из ТП Цикл
    стр.Выгружать = истина;
  КонецЦикла;
  // Установим имя файла по умолчанию и сохраним значение имени выбранного справочника
  ИмяФайла = "C:\" + Элемент.Значение + ".xls";
  ИмяДокумента = Элемент.Значение;
КонецПроцедуры

Вожак

   Макет = ВнешниеОбработки.ВыгрузкаВЭксель.ПолучитьМакет("Макет1");
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ПоступлениеТоваровУслугТовары.Номенклатура.НаименованиеПолное,
      |   ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения,
      |   ПоступлениеТоваровУслугТовары.Количество,
      |   ПоступлениеТоваровУслугТовары.Цена,
      |   ПоступлениеТоваровУслугТовары.СтавкаНДС,
      |   ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения,
      |   ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Код,
      |   ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Наименование,
      |   ПоступлениеТоваровУслугТовары.Номенклатура.НомерГТД
      |ИЗ
      |   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
      |ГДЕ
      |   ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка";

   Запрос.УстановитьПараметр("Ссылка", Ссылка);

   Результат = Запрос.Выполнить();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   ТабДок.НачатьАвтогруппировкуСтрок();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
      ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
   КонецЦикла;

   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);


Вот что выдает:

{Форма.ТабДок.Форма(126,38)}: Переменная не определена (Ссылка)
   Запрос.УстановитьПараметр("Ссылка", <<?>>Ссылка); (Проверка: Толстый клиент (обычное приложение))



как почему? и зачем? и как исправить?

Вожак

Пришел к выводу, что в предыдущем посту нужно вместо слово Ссылка передать документ текущий, только вот как? тупо поменять слово Ссылка на ПоступлениеТоваров не катит

Вожак

Вот моя обработка, но она не работает, помогите сделать ее работающей, вроде правил почти все. Чтобы в итоге открывался файл в екселе с заполненным макетом. Спасибо

Dethmontt

Ты откуда на копировал такую Лобуду????????????????
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Вожак

Цитата: Dethmontt от 21 мар 2012, 22:13
Ты откуда на копировал такую Лобуду????????????????

часть где открывается екселевский файл нарыл в интернете, остальное тоже искал, переделывал и все такое

Dethmontt

Разбери для начала строку на символы САМ!!!!!!!!!!!, потом эксель мучай...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Вожак

Цитата: Dethmontt от 21 мар 2012, 22:17
Разбери для начала строку на символы САМ!!!!!!!!!!!, потом эксель мучай...
мне завтра нужно сдать готовую обработку, боюсь не успею сделать, поэтому и обращаюсь  к вам за помощью

Вожак

Цитата: Dethmontt от 21 мар 2012, 22:17
Разбери для начала строку на символы САМ!!!!!!!!!!!, потом эксель мучай...
да и что в коде не правильного такого?

Dethmontt

Ты не понимаешь что пишешь, а тупо копируешь чужой код...
Ты хочешь разобраться как это работает или написать на результат????
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск