Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

v8.2: Как заполнить табличную часть документа результатом выполнения запроса

v8.2: Как заполнить табличную часть документа результатом выполнения запроса
Я
   Ira_19
 
11.12.11 - 20:56
Здравствуйте. Многие уже сталкивались с аналогичной проблемой, но у меня всё равно не получается заполнить табличную часть документа данными из запроса.
Смысл такой: у меня есть запрос
НомерУзлаДетали=Объект.НомерУзлаДетали;
Запрос = Новый Запрос;
Запрос.Текст =
   "ВЫБРАТЬ
   |    НоменклатураТМЦ.Наименование,
   |    НоменклатураТМЦ.Код,
   |    ТехнологическийПроцесс.Код КАК Код1,
   |    ВидыОпераций.Наименование КАК Наименование1,
   |    ВидыОпераций.НормаВремени,
   |ИЗ
   |    Справочник.ВидыОпераций КАК ВидыОпераций
   |    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТехнологическийПроцесс КАК ТехнологическийПроцесс
   |    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НоменклатураТМЦ КАК НоменклатураТМЦ
   |    ПО ТехнологическийПроцесс.Код1СТМЦ = НоменклатураТМЦ.Ссылка
   |    ПО ВидыОпераций.Код1СТехПроцесса = ТехнологическийПроцесс.Ссылка
   |ГДЕ
   |    НоменклатураТМЦ.Наименование = &НомерУзлаДетали";

Запрос.УстановитьПараметр("НомерУзлаДетали", НомерУзлаДетали);
Результат = Запрос.Выполнить();

Как теперь полученными данными заполнить соответствующие колонки табличной части документа (колонки в справочнике и в документе имеют одинаковые имена)?
 
 
   kosts
 
1 - 11.12.11 - 20:59
(0)
[1с]
Пока Выборка.Следующий() Цикл
   ЗаполнитьЗначенияСвойств(ТабличнаяЧасть.Добавить(), Выборка);
КонецЦикла;
[/1с]
   байт
 
2 - 11.12.11 - 21:04
(0) можно в ТЗ выгрузить и загрузить попробовать при условии если имена колонок будут совпадать.
   kosts
 
3 - 11.12.11 - 21:09
(0) что это за документ такой в котором коды и наименования, а не ссылки?..
   Ira_19
 
4 - 11.12.11 - 21:13
Написала так:
ВыборкаДетальныеЗаписи = Результат.Выбрать();

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

Спасибо большое.
   Wist
 
5 - 11.12.11 - 21:14
Я так делаю:
Док.ТабЧасть.Загрузить(Запрос.Выполнить().Выгрузить());
   Ira_19
 
6 - 11.12.11 - 21:15
(2)
Это урезанный вариант запроса. На самом деле выбираю больше полей, просто для простоты написала так.
   Ira_19
 
7 - 11.12.11 - 21:23
Только есть небольшая проблема. В справочнике ВидыОпераций есть стандартное поле Наименование. Оно не вставляется в поле табличной части Операции. Это из-за различия имён?
   GROOVY
 
8 - 11.12.11 - 21:24
(7) Или типов значения.
   vovus
 
9 - 11.12.11 - 21:25
Че-то я тоже не понял, а почему не рулит такой вариант:
Документ.ТабличнаяЧасть.Загрузить(Результат.Выгрузить());
   Ira_19
 
10 - 11.12.11 - 21:26
Тип значений в документе в поле Операции - Строка (длина 50), длина поля Наименование в справочнике тоже 50.
 
 Рекламное место пустует
   Ira_19
 
11 - 11.12.11 - 21:27
(9) У меня получилось так Объект.ТабличнаяЧасть.Загрузить(Результат.Выгрузить());
   Ira_19
 
12 - 11.12.11 - 21:32
Так как можно загрузить наименование из справочника в колонку ТЧ?
   Ira_19
 
13 - 11.12.11 - 21:38
Нашла сама решение)))
Нужно в запросе написать было так:
Запрос.Текст = 
"ВЫБРАТЬ
    | ВидыОпераций.Наименование КАК Операции,
        ...
 
где Операции - название колонки.
   kosts
 
14 - 11.12.11 - 21:42
Может  оно null
Попробуй естьnull(наименование,"") как наименование

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует