Имя: Пароль:
1C
 
перепроведние документов одной организации в немонопольном режиме
0 pro3ri
 
19.06.15
11:22
Добрый день!
Написал обработку перепроведения:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Если Не ЗначениеЗаполнено(Организация) Тогда
        
        Сообщить("нужно ввести организацию!");
        
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Выписка.Ссылка
                   |ИЗ
                   |    Документ.Выписка КАК Выписка
                   |ГДЕ
                   |    Выписка.Проведен
                   |    И Выписка.Организация = &Организация
                   |    И Выписка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Результат = Запрос.Выполнить();
    Если Результат.Пустой() Тогда
    
        Сообщить("документов не найдено!");
    
    КонецЕсли;
    
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
    
        Док = Выборка.Ссылка.ПолучитьОбъект();        
        Попытка
        
            Док.Записать(РежимЗаписиДокумента.Проведение);
            Сообщить("документ "+ Выборка.Ссылка + " успешно проведен!");
        
        Исключение
            
            Сообщить("документ "+ Выборка.Ссылка + " не проведен!");
            Сообщить(ОписаниеОшибки());
            
        КонецПопытки;
        
    КонецЦикла;
    
    
    
КонецПроцедуры

нужно ли что-то еще дописать?
1 vicof
 
19.06.15
11:33
(0) Опять сферические кони в вакууме
2 Aleksey
 
19.06.15
11:35
а где прерывать перепроводку по ошибке
3 pro3ri
 
19.06.15
12:14
(2)
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Если Не ЗначениеЗаполнено(Организация) Тогда
        
        Сообщить("нужно ввести организацию!");
        Возврат;
        
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Выписка.Ссылка
                   |ИЗ
                   |    Документ.Выписка КАК Выписка
                   |ГДЕ
                   |    Выписка.Проведен
                   |    И Выписка.Организация = &Организация
                   |    И Выписка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Результат = Запрос.Выполнить();
    Если Результат.Пустой() Тогда
    
        Сообщить("документов не найдено!");
        Возврат;
    
    КонецЕсли;
    
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
    
        Док = Выборка.Ссылка.ПолучитьОбъект();        
        Попытка
        
            Док.Записать(РежимЗаписиДокумента.Проведение);
            Сообщить("документ "+ Выборка.Ссылка + " успешно проведен!");
        
        Исключение
            
            Сообщить("документ "+ Выборка.Ссылка + " не проведен!");
            Сообщить(ОписаниеОшибки());
            
        КонецПопытки;
        
    КонецЦикла;

КонецПроцедуры
4 Альбатрос
 
19.06.15
12:27
А чо, универсальная обработка уже никого не устраивает?
5 Гёдза
 
19.06.15
12:29
а РТУ и ПТУ кто будет перепроводить?
6 vicof
 
19.06.15
12:30
(3) Еще один возврат нужен ;)
7 vicof
 
19.06.15
12:30
(5) тссссс
8 pro3ri
 
19.06.15
12:43
(4)можно и так ...
https://s.mail.ru/4ThzAnW1qbLn/img-2015-06-19-14-45-15.png (6) где?
9 vicof
 
19.06.15
12:51
(8) в цикле
10 Альбатрос
 
19.06.15
12:53
(8) "Где?"
    Если Результат.Пустой() Тогда
    
        Сообщить("документов не найдено!");
    
    КонецЕсли;
11 Альбатрос
 
19.06.15
12:53
(9) Ну не факт...
12 vicof
 
19.06.15
12:57
(11) Ну собственно я в (1) об этом и сказал. Автор ни задачу ни озвучил, ничо не обрисовал. Нате код, проверяйте.
AdBlock убивает бесплатный контент. 1Сергей