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

Выборка из таб части документа

Автор wswolf14, 11 фев 2013, 14:25

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

wswolf14

Добрый день!
Ув форумчане помогите чайнику))
суть проблемы такова: мне нужно заполнить макет в формате word из документа ДоговорЗалога.
Реквизиты из док-а выбираю через запрос.
с теми реквизитами которые находятся непосредственно в самом док-е все отлично выбираются - вставляются, а вот реквизиты которые находятся в табличной части этого док-а проблема, выбрать то я их выбрал, а вот как их теперь вставить в макет не знаю, перепробовал кучу вариантов, ни чего не помогло.
очень надеюсь на вашу помощь.

код:
Договор = Документы.ДоговорЗайма.ПолучитьМакет("ДоговрЗалога");
   MSWord = Договор.Получить();
   
Попытка
   Документ = MSWord.Application.Documents(1);
   Документ.Activate();
   
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДоговорЗайма.Номер,
      |   ДоговорЗайма.Дата,
      |   ДоговорЗайма.Клиент.(
      |      ФИО
      |   )
      |ИЗ
      |   Документ.ДоговорЗайма КАК ДоговорЗайма";

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

   Выборка = Результат.Выбрать();

   Пока Выборка.Следующий() Цикл
      Номер = Выборка.Номер;
      Дата = Выборка.Дата;
      ???Имя = Выборка.ФИО;???
      
   КонецЦикла;

   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА




   
   
   Замена = Документ.Content.Find;
      
   Замена.Execute("{НомерДоговора_}", , , , , , , , , Номер, 2);
   Замена.Execute("{Дата_}", Ложь, Истина, Ложь, , , Истина, , Ложь, Дата, 2);
   Замена.Execute("{ИмяКлиента_}", , , , , , , , , Имя , 2);
 
   MSWord.Application.Visible = Истина;
   MSWord.Activate();
Исключение
   Сообщить(ОписаниеОшибки());
   MSWord.Application.Quit();
КонецПопытки;

на данном этапе проблема с рекфизитом ФИО.
Номер и Дата встают как нужно без проблем.

Dethmontt

Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДоговорЗайма.Ссылка.Номер,
      |   ДоговорЗайма.Ссылка.Дата,
      |   ДоговорЗайма.ФИО
      |ИЗ
      |   Документ.ДоговорЗайма.Клиент КАК ДоговорЗайма";


////////////////////...........
//...............
Имя = Выборка.ФИО;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

wswolf14

к сожалению не помогло((
выдал ошибку:
{Документ.ДоговорЗайма.Форма.Форма.Форма(54)}:Ошибка при вызове метода контекста (Execute):Произошла исключительная ситуация (0х80020005)

платформа 8.2.16.363
Добавлено: 11 фев 2013, 14:56


проверил отладчиком первые 2е строки проходят хорошо, а вот на :
Выборка.ФИО
выдает ошибку

Yura063

У вас есть в документе реквизит ФИО? Скорее всего у вас идет ссылка на справочник Клиенты!
Помогли, отблагодари!

wswolf14

Да Вы совершенно правы:
в документе ДоговорЗайма есть таб часть Клиент, в которой есть реквизит ФИО, а этот рекфизит является ссылочным на Справочник Клиенты
Добавлено: 11 фев 2013, 15:36


UP!!
Что не так делаю? ни как не могу понять.

Yura063

|   ДоговорЗайма.Клиент.ФИО КАК ФИО
Добавлено: 11 фев 2013, 15:45


а затем уже ФИО = Выборка.ФИО
Помогли, отблагодари!

wswolf14

пробовал уже так 1с все равно выдает ошибку описаную выше (excute), может быть у меня какая то проблема с платформой?
пробовал еще так:
"ВЫБРАТЬ
      |   ДоговорЗайма.Номер,
      |   ДоговорЗайма.Дата,
      |   ДоговорЗайма.Клиент.(
      |      ФИО КАК ФИО,
      |      Адрес КАК АДРЕС
      |   )
      |ИЗ
      |   Документ.ДоговорЗайма КАК ДоговорЗайма"
но при таком раскладе 1с соответственно начинает ругаться что таких полей в док-е нет.
Yura063, считаю что вы обсалютно правы, буду искать в чем косяк((

Yura063

Пришлите скрин данных документа ДоговорЗайма с раскрытием таб части! Что за конфа?
Помогли, отблагодари!

Теги:  8.2 выборка 

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

Рейтинг@Mail.ru

Поиск