Имя: Пароль:
1C
1C 7.7
v7: Не все подчиненные документы попадают в выборку...
0 Darhon
 
25.04.13
18:42
Добрый вечер. У меня следующая проблема. Есть Докуумент реализацияПродукции. На основании его штатными средствами вводится ПКО. И Документ поступление товаров (дописано кем-то). Если в журнале нажать на показать подч. документы то выводятся все и ПКО и поступления. Но нижеприведенный код видит только ПКО. Вот код:

   ПодчиненныеДокументы = СоздатьОбъект("Документ");
   ПодчиненныеДокументы.ВыбратьПодчиненныеДокументы(,,ДокументСсылка);
   Пока ПодчиненныеДокументы.ПолучитьДокумент()=1 Цикл
       Если ПодчиненныеДокументы.Вид() = "ПоступлениеТоваров" Тогда
           Возврат 1;
           Прервать;
       Иначе
           Возврат 0;
       КонецЕсли;
   КонецЦикла;    


Подскажите как разрешить данную проблему. Заранее спасибо.
1 KUBIK
 
25.04.13
18:44
нижеприведенный код видит = неполный твой код
2 Rie
 
25.04.13
18:46
(0) Что значит "не видит"? У тебя цикл выполняется ровно 1 раз, то есть, просматривает не более одного документ. Может там дальше 10500 ПКО идут - цикл до них не доберётся никогда.
3 Darhon
 
25.04.13
18:46
В чем он неполный??
4 KUBIK
 
25.04.13
18:47
(3) см (2)
5 Darhon
 
25.04.13
18:47
Вот кусок кода из другого документа написанный разрабами 1с :)

   Док = СоздатьОбъект("Документ");
           Док.ВыбратьПодчиненныеДокументы( , , Наряд);
           Пока Док.ПолучитьДокумент() = 1 Цикл
               Если Док.Вид() = "РасчетЗарплатыПоНаряду" Тогда
                   СписокРасчетов.ДобавитьЗначение(Док.ТекущийДокумент());
               КонецЕсли;
           КонецЦикла;
6 Rie
 
25.04.13
18:48
(5) А теперь найди отличия. (Подсказка: как ты думаешь, что делает Возврат?).
7 Dolly_EV
 
25.04.13
18:49
(0)
    Возврат 1;
    Прервать;

Это пять!))) т.е. Прервать - это "на всякий пожарный"? вдруг "Возврат 1" не сработает? :-)
8 Rie
 
25.04.13
18:49
+(6) Кстати, Прервать - никогда не будет выполняться. Ну и зачем оно там?
9 Darhon
 
25.04.13
18:53
Блин...туплю :((