Имя: Пароль:
1C
1С v8
Как избавиться от модальных окон в цикле ?
0 EarthsSoul
 
21.07.14
11:17
Добрый день

В цикле документы помечаются на удаление. Если у документа имеются подчинённые документы, то выскакивает вопрос "вы действительно хотите пометить на удаление ?".

Вот вопрос как обойтись без модальных окон при переборе массива?


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
Если ТипЗнч(ПараметрКоманды)=Тип("Массив") тогда
        
СписокОбсуждению = ПроверкаДокументов(ПараметрКоманды);
        
МассивКИзменениюПометкиУдаления= Новый Массив;
        
Для Каждого СтрокаМас Из СписокОбсуждению Цикл
            
Если СтрокаМас.МассивПодписей.количество() = 0 Тогда
                
ДокументСсылка = СтрокаМас.Документ;
                МассивКИзменениюПометкиУдаления.Добавить(ДокументСсылка);
                
Иначе
                
ДокументПодписан = "Документ был подписан." + ДокументСсылка+ " Подписавшие: ";
                
Для Каждого строка из СтрокаМас.МассивПодписей цикл
                    
ТекстВопроса =ДокументПодписан+строка.КомуВыданСертификат + " был подписан " + строка.ДатаПодписи + ;
                    
КонецЦикла;
                
ДокументПодписан=ДокументПодписан+" Вы увыерены что хотите пометить на удаление ?";
                
Параметры = Новый Структура("СписокОбсуждению,ДокументСсылка",СписокОбсуждению,ДокументСсылка);
                
Оповещение = Новый ОписаниеОповещения("ПроцедураДальнейшейОбработки",ЭтотОбъект,Параметры);
                
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНетОтмена, , КодВозвратаДиалога.Нет, "Пометить на удаление",)
                
КонецЕсли;
            
КонецЦикла;
        
ПометкаУдаленияДокументов(МассивКИзменениюПометкиУдаления);
        
КонецЕсли;
    
    
КонецПроцедуры

Процедура ПроцедураДальнейшейОбработки(Результат,Параметры) Экспорт
    
// какой зедсь написать КОД ?
    
КонецПроцедуры
1 EarthsSoul
 
21.07.14
11:17
2 Lama12
 
21.07.14
11:21
Я бы сделал в лоб.
Либо перед циклом делал список документов имеющих подчиненные, либо в процессе цикла перед пометкой.
Если в цикле нашлось что имеются подчиненные документы, то их пропускаем.
После цикла, второй цикл по тем, по которым нужно решение пользователя.
3 EarthsSoul
 
21.07.14
11:32
(2) тут двойной обход подчиненных документов ... Похоже так действительно проще всего...
Спасибо буду так реализовывать.