Имя: Пароль:
1C
1C 7.7
v7: Проведение определенных видов документов
0 Falex
 
18.03.14
14:20
Подскажите пожалуйста почему след. процедура делает проведение не только по строке выписке и реализации?

Процедура Сформировать()  
    
    Док = СоздатьОбъект("Документ");  
    
    
    Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,"Контрагент",Контрагент);

    Док.ВидыДляВыбора("СтрокаВыпискиПриход,Реализация");
    
    Пока Док.ПолучитьДокумент() = 1 Цикл    
        Если Док.Вид() = "ЗаявкаПокупателя"  Тогда
            Продолжить;
        КонецЕсли;
        
        Если Док.Проведен()=1 Тогда
            Док.Провести();
            Сообщить("Проведен документ " + Док);
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры
1 1dvd
 
18.03.14
14:23
>>делает проведение не только по строке выписке и реализации

переведи на русский, пожалуйста.

Док.ВидыДляВыбора("СтрокаВыпискиПриход,Реализация");
// Эта строка действует только для интерактивного выбора документа
2 Chum
 
18.03.14
14:24
Док.ВидыДляВыбора - это для интерактивного выбора вида документа при вводе нового документа.

       Если Док.Вид() = "ЗаявкаПокупателя"  Тогда
            Продолжить;
        КонецЕсли;


Здесь у тебя игнорируются только дкоументы ЗаявкаПокупателя, остальные все перепроводятся.

ты или проверяй вид документа по аналогии, или делай отдельные циклы по видам документов:

Док = СоздатьОбъект("Документ.НужныйВид");
Док.ВыбратьДокументы() и т.д.
3 Chum
 
18.03.14
14:25
Ну или можно написать запрос, который вернет тебе список нужных документов, перебирай список, позиционируй объект и перепроводи.
4 Falex
 
19.03.14
10:28
Спасибо. Понял.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.