Имя: Пароль:
1C
1С v8
Стоимость продукции в одном документе из другого документа.
0 JuixyJes
 
29.04.19
17:37
В документе Заявка имеется несколько строчек в таблице "Заявка"(Продукция), при активации одной из них в двух оставшихся ТЧ строчки заполняются, если в них были данные. Среди реквизитов этих ТЧ есть реквизит  СУММА. Как мне сумму строчек Из каждой ТЧ взять только по активной "Продукции"?
1 JuixyJes
 
29.04.19
21:57
А что, никто не знает как?
2 HawkEye
 
29.04.19
23:07
(1) я же тебе писал... Итог() можно еще Свернуть()
3 catena
 
30.04.19
06:30
По отбору сумму можно взять через построитель
4 JuixyJes
 
30.04.19
09:00
(2) Итог он выдает по всем строкам, а не только по активной.
5 JuixyJes
 
30.04.19
09:46
(2) Мне нужен итог по ЭлементФормы.ТЧ тогда, а как обратиться к этому, не знаю
6 HawkEye
 
30.04.19
09:49
(4) у строки - нет итога ))

(5) ну имена же есть у тех "в двух оставшихся ТЧ строчки заполняются," вот по имена и обращайся...
7 JuixyJes
 
30.04.19
10:22
(6) Если обращаться к ним, тогда итог будет рассчитываться по всей табличной части по реквизиту сумма, а мне нужно чтоб Итог высчитывался только по отфильтрованным записям
8 HawkEye
 
30.04.19
10:25
(7) ты же пишешь: " при активации одной из них в двух оставшихся ТЧ строчки заполняются,"

т.е. в двух оставшихся заполняется только по активной строке первой, или не так?
9 JuixyJes
 
30.04.19
10:39
Если активна 1 строка , то заполнение оставшихся тч идет одними данными
активна 2 - другими данными (8)
10 JuixyJes
 
30.04.19
10:39
Процедура ЗаявкаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    
    Данные = ЭлементыФормы.Заявка.ТекущаяСтрока;
    Если НоваяСтрока Тогда
        Данные.ИД = Новый УникальныйИдентификатор;
    КонецЕсли;

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

Процедура МатериалыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    
    Данные = ЭлементыФормы.Заявка.ТекущаяСтрока;
    ТекДанные = ЭлементыФормы.Материалы.ТекущаяСтрока;
    Если НоваяСтрока Тогда
        ТекДанные.ИД = Данные.ИД;
    КонецЕсли;
    
КонецПроцедуры

Процедура ЗаявкаПередУдалением(Элемент, Отказ)
    Данные = ЭлементыФормы.Заявка.ТекущаяСтрока;
    Отбор = Новый Структура("ИД",Данные.ИД);
    Масс = Материалы.НайтиСтроки(Отбор);
    масс1 = Технологии.НайтиСтроки(Отбор);
    Для каждого Строка из Масс Цикл
        Материалы.Удалить(Строка);
    КонецЦикла;
    Для каждого Строка из масс1 Цикл
        Технологии.Удалить(Строка);
    КонецЦикла;
КонецПроцедуры

Процедура ЗаявкаПриАктивизацииСтроки(Элемент)
    
    ЭлементыФормы.Надпись1.Заголовок = "Материалы: " + Строка(ЭлементыФормы.Материалы.Колонки.Сумма.ТекстПодвала)+ "р";
    ЭлементыФормы.Надпись2.Заголовок = "Технологии: " + Строка(ЭлементыФормы.Технологии.Колонки.Сумма.ТекстПодвала)+ "р";

    Данные = ЭлементыФормы.Заявка.ТекущаяСтрока;
    Если Данные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    ЭлементыФормы.Материалы.ОтборСтрок.ИД.Значение = Данные.ИД;
    ЭлементыФормы.Материалы.ОтборСтрок.ИД.Использование = истина;
    ЭлементыФормы.Технологии.ОтборСтрок.ИД.Значение = Данные.ИД;
    ЭлементыФормы.Технологии.ОтборСтрок.ИД.Использование = истина;
    
    М=Материалы.Итог("Сумма");
    Т=Технологии.Итог("Сумма");     
    С = Т + М;
            
    ЭлементыФормы.Надпись3.Заголовок = "Всего: " + Строка(С) + "р Материалы: " + Строка(М) + "р Технологии: " + Строка(Т)+ "р";
КонецПроцедуры

Процедура ТехнологииПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Данные = ЭлементыФормы.Заявка.ТекущаяСтрока;
    ТекДанные = ЭлементыФормы.Технологии.ТекущаяСтрока;
    Если НоваяСтрока Тогда
        ТекДанные.ИД = Данные.ИД;
    КонецЕсли;
    


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

Процедура ЗаявкаПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    
        ЭлементыФормы.Надпись1.Заголовок = "Материалы: " + Строка(ЭлементыФормы.Материалы.Колонки.Сумма.ТекстПодвала)+ "р";
        ЭлементыФормы.Надпись2.Заголовок = "Технологии: " + Строка(ЭлементыФормы.Технологии.Колонки.Сумма.ТекстПодвала)+ "р";

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


Вот код, как установлен фильтр.
11 bootini
 
30.04.19
11:12
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(Заявка);
Для Каждого ЭлементОтбора из ЭлементыФормы.Заявка.ОтборСтрок Цикл
    ЗаполнитьЗначенияСвойств(ПостроительЗапроса.Отбор.Добавить(ЭлементОтбора.ИД), ЭлементОтбора);
КонецЦикла;
ИтогТаблицаЗначений = ПостроительЗапроса.Результат.Выгрузить();
//тут решите как посчитать ваш итог по получившейся ТЗ и выведите его в подвал