Имя: Пароль:
1C
 
Ввод на основании
0 Okulist
 
04.06.21
15:21
Здравствуйте! Нужна помощь.
История такая: есть справочник Номенклатура, в нем реквизит Монтаж. Также есть документ ЗаказПокупателя (типовая конфа УПП), в нем есть ТЧ Товары и при заполнении наименования номенклатуры, подтягивается из справочника данные монтаж (через процедуру в общих модулях). Тип формы документа Заказ покупателя - обычная.
На основе ЗаказаПокупателя создан док Монтаж. Тип формы документа Монтаж - управляемая. Заполняю док Монтаж в модуле объекта (обвел красной рамкой).
Подскажите, как в ТЧ дока Монтажа подкинуть те данные из дока ЗаказПокупателя про монтаж, при этом нужно, чтобы получаемое значение умножалось на 40%
ПыСы: новичок.
1 Okulist
 
04.06.21
15:24
/ AS  Процедура добавляет информацию о площади и монтаже в ячейки табличного поля
// при выводе очередной строки
//
// Параметры:
//  КолонкиТабПоля - коллекция колонок табличного поля
//  ЯчейкиСтрокиТабПоля - коллекция ячеек строки табличного поля
//  Номенклатура - СправочникСсылка.Номенклатура, товар, по которому надо вывести код и/или артикул
//
Процедура ПоказатьSмонтаж(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура) Экспорт

        Если КолонкиТабПоля.S.Видимость Тогда
        Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
            ЯчейкиСтрокиТабПоля.S.УстановитьТекст(Номенклатура.S);
        Иначе
            ЯчейкиСтрокиТабПоля.S.УстановитьТекст("");
        КонецЕсли;
    КонецЕсли;
    
    Если КолонкиТабПоля.Монтаж.Видимость Тогда
        Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
            ЯчейкиСтрокиТабПоля.Монтаж.УстановитьТекст(Номенклатура.Монтаж);
        Иначе
            ЯчейкиСтрокиТабПоля.Монтаж.УстановитьТекст("");
        КонецЕсли;
    КонецЕсли;



вот так заполняется Монтаж в ЗаказеПокупателя. Мне нужно это взять в ТЧ другого документа и изменить расчет
2 acht
 
04.06.21
15:30
(1) > обвел красной рамкой
Заметно.
3 Okulist
 
04.06.21
15:31
Не нашел, как тут вставить картинки в сообщения(
4 Okulist
 
04.06.21
15:33
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        
        Контрагент = ДанныеЗаполнения.Контрагент;
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения;
            НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
            НоваяСтрока.Коэффициент = ТекСтрокаТовары.Коэффициент;
            НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
            НоваяСтрока.Размещение = ТекСтрокаТовары.Размещение;
            НоваяСтрока.СтавкаНДС = ТекСтрокаТовары.СтавкаНДС;
            НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
            НоваяСтрока.Всего = ТекСтрокаТовары.Сумма;
            НоваяСтрока.СуммаНДС = ТекСтрокаТовары.СуммаНДС;
            НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
        КонецЦикла;
    КонецЕсли;

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


Вот так заполнено у меня в модуле объекта дока Монтаж. Сюда надо добавить данные про монтаж из Заказа
5 acht
 
04.06.21
15:39
Хрустальный шар сообщает, что можно попробовать написать

    ...
    НоваяСтрока.НоменклатураS = ТекСтрокаТовары.Номенклатура.S / 100 * 140;
    НоваяСтрока.Монтаж = ТекСтрокаТовары.Номенклатура.Монтаж;

Или определится с терминологией "умножалось на 40%" и "подкинуть те данные"
6 Serg_1960
 
04.06.21
16:13
Пятница, лень писать, думать...

Запрос = Новый Запрос("ВЫБРАТЬ *, ТЧ.Номенклатура.Монтаж КАК Монтаж ИЗ Документ.ЗаказПокупателя.Товары КАК ТЧ ГДЕ ТЧ.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Сылка", ДанныеЗаполнения);
Товары.Загрузить(Запрос.Выполнить().Выгрузить());
7 Serg_1960
 
04.06.21
16:30
Для Каждого Строка Из Товары
   Строка.Количество = Строка.Количество * 1,4;
   Строка.Сумма = Строка.Количество * Строка.Цена;
   ...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший