Имя: Пароль:
1C
1С v8
Как переделать процедуру "ТоварыСуммаПриИзменении" для программной обработки документа?
0 1C_coder
 
15.11.19
08:37
Когда пользователь открывает документ "ПоступлениеТоваровУслуг" и вручную его редактирует (УТ 11.4), при изменении суммы в строке табличной части вызывается процедура "ТоварыСуммаПриИзменении".

Что нужно написать вместо параметра "ЭтаФорма", чтобы было можно использовать код процедуры "ТоварыСуммаПриИзменении" в своей обработке для программной обработки табличной части документа в процедуре, которая вызывается "&НаСервере"?

&НаКлиенте
Процедура ТоварыСуммаПриИзменении(Элемент)
    
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    
    СтруктураПересчетаСуммы = ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(ЭтаФорма);
    
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ПересчитатьЦенуСкидкуПоСуммеВЗакупках",  ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаЦеныСкидкиВЗакупкахВТЧ(Объект, Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПриемНаКомиссию")));
    СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ОчиститьСуммуВзаиморасчетов");
    СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", ЗависимыеРеквизиты());
    СтруктураДействий.Вставить("ПересчитатьСуммуСверхЗаказа", Новый Структура("РеализацияПоступлениеПоЗаказу, ТребуетсяЗалогЗаТару",
    Объект.ПоступлениеПоЗаказам, Объект.ТребуетсяЗалогЗаТару));
        
    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    
    РассчитатьИтоговыеПоказателиПоступления(ЭтаФорма);
    
КонецПроцедуры
1 Paint_NET
 
15.11.19
08:41
Дожились, спрашивают, как копипастить правильно...
Для начала посмотри на сами процедуры, куда этот параметр передаётся. Тебе одна эта процедура не поможет.
2 Михаил Иванович
 
15.11.19
08:42
(1) он 1с кодер см. ник
3 Kigo_Kigo
 
15.11.19
09:02
Для каждого ТабДокСтрока из ТабДок.Товары Цикл
Далее работаем с Табсторокой
4 Kigo_Kigo
 
15.11.19
09:03
* с ТабДокСтрока
5 Ёпрст
 
15.11.19
09:15
(0)




&НаКлиенте
Процедура ПоломатьДок(Команда)
    ПоломатьДокНаСервере();
КонецПроцедуры

&НаСервере
ПроцедураПоломатьДокНаСервере()
    ДокОбъект = Объект.ПодопытныйДокумент.ПолучитьОбъект();
    ДокОбъект.Товары.Очистить();
        
        ДокОбъект.ОбменДанными.Загрузка = Истина;
        ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецПроцедуры