Имя: Пароль:
1C
1С v8
Обновить ТЧ обработки
0 Начинающий_13
 
23.12.14
11:58
Здравствуйте

Имею ТЧ обработки. При совершении обработки ТЧ перезаписываются реквизиты спр. номенклатура, но в ТЧ обработки не обновляются с новыми результатами.
Пытался обновлять по разному не идет.
Что не так?

МОДУЛЬ ФОРМЫ

&НаКлиенте
Процедура ТаблицаПравкаДанныхПравка(Команда)
    
    Если Объект.ТаблицаОбработки.Количество() > 0 Тогда
        
        ТаблицаПравкаДанныхПравкаСервер();
        
        //// Перезаполним Таблицу обработки по критерию поиска
        КомандаОбработатьДанные(Команда); /// Сбрасывает дааные Флаги для правки
        
        ЭтаФорма.ОбновитьОтображениеДанных();
        
        ЭтаФорма.Элементы.ТаблицаОбработки.Обновить();
        
    Иначе
        
        Сообщить("ТАБЛИЦА ОБРАБОТКИ пуста !!!");
        
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ТаблицаПравкаДанныхПравкаСервер()
    
    мЭтотОбъект  = РеквизитФормыВЗначение("Объект");
    мЭтотОбъект.ПравитьЭлементыСправочникаНоменклатураНаСервере(Объект, Элементы, Объект.ТаблицаОбработки, ТаблицаПравкаДанных);

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


МОДУЛЬ ОБЪЕКТА ОБРАБОТКИ

// Процедура-обработчник
//
Процедура ПравитьЭлементыСправочникаНоменклатураНаСервере(ЭтотОбъект, Элементы, ТаблицаОбработки,ТаблицаПравкаДанных) Экспорт
    

Для Каждого ВыбраннаяСтрокаПравки из ТаблицаОбработки Цикл
     Если ВыбраннаяСтрокаПравки.КолонкаПометкаДанныхСтроки = Истина Тогда
            
         СтрокаУЗ = ТаблицаПравкаДанных.ПолучитьЭлементы(); // Уровень №0
         Для Каждого СтрокаДЗ Из СтрокаУЗ Цикл
             СтрокаУЗ1 = СтрокаДЗ.ПолучитьЭлементы();       // Уровень №1
             Для Каждого ВыбраннаяСтрокаДерева Из СтрокаУЗ1 Цикл
                    
                 Если ЗначениеЗаполнено(ВыбраннаяСтрокаПравки.НаименованиеСпр) Тогда
                                            
                     РеквизитПравки = ВыбраннаяСтрокаПравки.НаименованиеСпр.Ссылка.ПолучитьОБъект();
                            
                     Если ВыбраннаяСтрокаДерева.Пометка = Истина И ВыбраннаяСтрокаДерева.Текст = "Код" Тогда
                                
                                 //РеквизитПравки.Код = "";
                                 //РеквизитПравки.Код = СокрЛП(ВыбраннаяСтрокаПравки.Код);
                                
                     РеквизитПравки.Код = ПолучитьРеквизитСсылки(ВыбраннаяСтрокаПравки.НаименованиеСпр, "Код");
                 РеквизитПравки.Код = "";
                 РеквизитПравки.Код = СокрЛП(ВыбраннаяСтрокаПравки.Код);

ИначеЕсли ....
// Дальще
                         РеквизитПравки.Записать();
                            
                     КонецЕсли;
                    
                 КонецЦикла;
             КонецЦикла;
            
       КонецЕсли;
КонецЦикла;
1 Любопытная
 
23.12.14
12:01
В конце надо обратно засунуть значение в реквизит формы.
2 Начинающий_13
 
23.12.14
12:07
Вот это Все равно не работает
&НаСервере
Процедура ТаблицаПравкаДанныхПравкаСервер()
    
    мЭтотОбъект  = РеквизитФормыВЗначение("Объект");
    мЭтотОбъект.ПравитьЭлементыСправочникаНоменклатураНаСервере(Объект, Элементы, Объект.ТаблицаОбработки, ТаблицаПравкаДанных);
    ЗначениеВРеквизитФормы(мЭтотОбъект, "Объект");

КонецПроцедуры
3 чувак
 
23.12.14
12:08
Так?
ЗначениеВРеквизитФормы(Объект, "Объект");
4 Любопытная
 
23.12.14
12:11
Я плохо понимаю, что там на сервере происходит. Какие-то страшные вложенные циклы, СтрокаУЗ, строкаДЗ... в ТЧ обработки вообще что-то меняется? Отладчиком смотрел?
5 Начинающий_13
 
23.12.14
12:11
НЕ обновляет ТЧ
6 Любопытная
 
23.12.14
12:12
(5) в объекте. после того, как все обработалось. в ТЧ что-нибудь меняется?
7 Начинающий_13
 
23.12.14
12:17
Ч перенес весь код из МОДУЛЯ ОБЪЕКТА в МОДУЛЬ ФОРМЫ не обновляется ТЧ. ЧТо то в коде наверное

По Циклам
Объходим табличную часть обработки с выбором строк где уставлен Флаг (эти элементы номеклатуры нодо обработыват)
Одновременно объодим дерево значений ищем ревзиты спр. у которых уставовлен флаг
Эти ревизиты и меняем на новые
ПО ЦИКЛАМ ВСЕ ИДЕТ без проблем
8 Любопытная
 
23.12.14
12:20
разговор немого с глухим, в общем.
9 Начинающий_13
 
23.12.14
12:22
Конечно нет (НЕ обновляется), а в спр.все меняется.
10 Начинающий_13
 
23.12.14
12:22
Вот и надо обновить