Имя: Пароль:
1C
 
Обратиться к реквизиту ФормыДокумента из обработки заполнения табличных частей
0 tatoshka0403
 
24.10.16
15:03
Делаю обработку заполнения табличных частей для УТ по заполнению инвентаризации по остаткам организации



Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено) Экспорт

    ЗаполнитьПоОстаткамНаСкладе(Объект);
    
КонецПроцедуры // Инициализировать()

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

    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка = РезультатЗапроса.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        СтрокаТабличнойЧасти = Объект.Товары.Добавить();

        СтрокаТабличнойЧасти.Номенклатура     = Выборка.Номенклатура;
        СтрокаТабличнойЧасти.КоличествоУчет   = Выборка.Количество;
        СтрокаТабличнойЧасти.ЕдиницаИзмерения = Выборка.ЕдиницаХранения;
        СтрокаТабличнойЧасти.Коэффициент      = Выборка.КоэффициентЕдиницыХранения;
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;

    
    
КонецПроцедуры

Параметр1 у меня хранится в реквизите формы. Как мне обратиться к форме открытого документа?
1 Ёпрст
 
24.10.16
15:16
Запрос.УстановитьПараметр("Параметр1", Объект.Товары.ВыгрузитьКолонку("Номенклатура"));
2 tatoshka0403
 
24.10.16
15:22
(1) не, в инвентаризации есть отбор по номенклатуре, который сделан реквизитом на форме
3 DrShad
 
24.10.16
15:25
(2) и как это не соответствует (1) ?
4 DrShad
 
24.10.16
15:26
а вообще можешь в Дополнительные свойства объекта записать и использовать где нужно
5 tatoshka0403
 
24.10.16
15:27
(3) ТЧ товары пустая, а эта обработка должна заполнить её с отбором.
6 mehfk
 
24.10.16
15:47
Но лучше так не делать
Объект.ПолучитьФорму().ЭлементыФормы.ПолеНастройкиНоменклатура.Значение
7 tatoshka0403
 
24.10.16
16:18
(6) Спасибо
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.