Имя: Пароль:
1C
1С v8
Заполнение табличного поля запросом
, ,
0 prilforreal
 
17.11.17
15:14
Доброго дня! Есть документ претензия с табличной частью, в ней 3 колонки КодИзделия, Сотрудник1 и Сотрудник2. Создаю процедуру ПриИзменении для КодИзделия, в ней пишу запрос :

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


А теперь уважаемые знатоки вопрос!
Как заполнить поля сотрудник1 и сотрудник2 при вставке в поле код, код изделия?

PS. Как видно из текста запроса в документе производство есть реквизиты Сотрудников и коды изделий над которыми они работали.
1 _Дайвер_
 
17.11.17
15:18
(0) Параметр добавь
ГДЕ
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Проведен = &ИСТИНА
ТвойПараметр = Сотрудник&
2 Lexey_
 
17.11.17
15:24
(0) мощнейшее колдунство: ПроизводствоТабличнаяЧасть1.Ссылка.Проведен = &ИСТИНА
Запрос.УстановитьПараметр("ИСТИНА", ИСТИНА);
3 prilforreal
 
17.11.17
15:24
(1) Что то вроде того?

Процедура ТабличнаяЧасть1КодПриИзменении(Элемент)
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПроизводствоТабличнаяЧасть1.Код,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник.Наименование,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник2.Наименование
        |ИЗ
        |    Документ.Производство.ТабличнаяЧасть1 КАК ПроизводствоТабличнаяЧасть1
        |ГДЕ
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Проведен = &ИСТИНА
        |   ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник.Наименование=Сотр1
        |   ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник2.Наименование=Сотр2
        |
        |СГРУППИРОВАТЬ ПО
        |    ПроизводствоТабличнаяЧасть1.Код,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник.Наименование,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник2.Наименование";
    
    Запрос.УстановитьПараметр("ИСТИНА", ИСТИНА);
    Запрос.УстановитьПараметр("Сотр1",Сотр1);
    Запрос.УстановитьПараметр("Сотр2",Сотр2);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры
4 prilforreal
 
17.11.17
15:24
(2) Это чтобы наверняка!
5 Tatitutu
 
17.11.17
15:41
(0) Ёбушки-воробушки.... что это ?
Выброси эту каку

"PS. Как видно из текста запроса в документе производство есть реквизиты Сотрудников и коды изделий над которыми они работали."

реквизит Сотрудник - что  у тебя ?

на кой там

ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник.Наименование,

и

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

сотр1 - это текст у тебя ? нет... это ссылка

вот это
ПроизводствоТабличнаяЧасть1.Ссылка.Проведен = &ИСТИНА
Запрос.УстановитьПараметр("ИСТИНА", ИСТИНА);

заменить на

ПроизводствоТабличнаяЧасть1.Ссылка.Проведен
6 john90
 
17.11.17
15:48
(0) учи мат часть
7 3achem
 
17.11.17
17:05
"ВЫБРАТЬ
        |    ПроизводствоТабличнаяЧасть1.Код КАК КодИзделия,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник КАК Сотрудник1,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник2 КАК Сотрудник2
        |ИЗ
        |    Документ.Производство.ТабличнаяЧасть1 КАК ПроизводствоТабличнаяЧасть1
        |ГДЕ
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Проведен
        |    И  ПроизводствоТабличнаяЧасть1.Код = &КодИзделия
        |
        |СГРУППИРОВАТЬ ПО
        |    ПроизводствоТабличнаяЧасть1.Код,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник.Наименование,
        |    ПроизводствоТабличнаяЧасть1.Ссылка.Сотрудник2.Наименование";
8 3achem
 
17.11.17
17:09
(0) (7)

Запрос.УстановитьПараметр("КодИзделия", %%ЗДЕСЬ ТВОЯ ПЕРЕМЕННАЯ%%);

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

Для каждого НСтр Из Результат Цикл

ЗаполнитьЗначенияСвойств(СтрокаТаблицы, НСтр);

КонецЦикла;

Что то типо того, учи матчасть и учись гуглить
9 GANR
 
17.11.17
17:39
(4) очень профессионально
10 trooba
 
17.11.17
21:33
(1) Взбугагнул...

ПроизводствоТабличнаяЧасть1.Ссылка.Проведен = &ИСТИНА
AdBlock убивает бесплатный контент. 1Сергей