Имя: Пароль:
1C
1C 7.7
v7: Получить Список Документов введенных на основании
0 Popkorm
 
18.06.12
13:37
Как то так,но не правельно по моему,подскажите как правельней:
   Если ВыбДокумент.ПометкаУдаления() = 0 Тогда
       Если НайтиДок.НайтиДокумент(ВыбДокумент)=1 Тогда
           НайтиДок.ВыбратьДокументы();
           Пока НайтиДок.ПолучитьДокумент() = 1 Цикл  
               
           Для Счетчик=1 По Метаданные.Документ() Цикл
               АнализДок = Метаданные.Документ(Счетчик);
           Для СчетчикВложенный =1 По АнализДок.ВводимыеНаОснованииДокументы.Количество() Цикл
1 Popkorm
 
18.06.12
13:38
ТиС
2 1Сергей
 
18.06.12
13:39
правИльнее ВыбратьПодчиненные()
3 Popkorm
 
18.06.12
13:39
НайтиДок = Реализация,хочу получить все документы подченными нему
4 1Сергей
 
18.06.12
13:39
ВыбратьПодчиненныеДокументы(<?>,,)
SelectChildDocs(<?>,,)
Синтаксис:
ВыбратьПодчиненныеДокументы(<Дата1>,<Дата2>,<Докум
5 miki
 
18.06.12
13:40
(1)Если ТиС, то смотри как сделана Функция глНайтиСчетФактуру() и допили под себя.
6 Popkorm
 
18.06.12
13:58
чета не взлетает:
   НайтиДок  = СоздатьОбъект("Документ.Реализация");
   Основание = СоздатьОбъект("Документ");
   
   Если ВыбДокумент.ПометкаУдаления() = 0 Тогда
       Если НайтиДок.НайтиДокумент(ВыбДокумент)=1 Тогда
       //    НайтиДок.ВыбратьДокументы();
       //    Пока НайтиДок.ПолучитьДокумент() = 1 Цикл  
               Если Основание.ВыбратьПодчиненные(,,НайтиДок)=1 Тогда
                   Пока Основание.ПолучитьДокумент() = 1 Цикл
                       Сообщить(Основание.ТекущийДокумент());
                   КонецЦикла;
               КонецЕсли;    
       //    КонецЦикла;
           
       КонецЕсли;
       
   КонецЕсли;

Если Основание.ВыбратьПодчиненные(,,НайтиДок)=1 Тогда
{\\SQL3\USERS\SHAMSUTDINOV\1С\7.7\ПОМЕТКАУДАЛЕНИЯ.ERT(14)}: Поле агрегатного объекта не обнаружено (ВыбратьПодчиненные)
7 miki
 
18.06.12
13:59
это песец. Копипастить не умеешь?
8 Popkorm
 
18.06.12
14:00
так тоже:
  НайтиДок  = СоздатьОбъект("Документ.Реализация");
   Основание = СоздатьОбъект("Документ");
   
   Если ВыбДокумент.ПометкаУдаления() = 0 Тогда
       Если НайтиДок.НайтиДокумент(ВыбДокумент)=1 Тогда
           НайтиДок.ВыбратьДокументы();

           Пока НайтиДок.ПолучитьДокумент() = 1 Цикл  

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

           
       КонецЕсли;
       
   КонецЕсли;
9 Guk
 
18.06.12
14:00
(6) правильно, что не взлетает. нет такого метода...
10 miki
 
18.06.12
14:02
(8)Зачем с процедурами паришься? Придумай сразу нужный тебе метод.
11 Popkorm
 
18.06.12
14:02
да в парился надо ВыбратьПодчиненныеДокументы
12 palpetrovich
 
18.06.12
14:04
(11) и вообще, нафига тебе заморочки с НайтиДок? работай сразу с ВыбДокумент ...Если Если Если :)
13 palpetrovich
 
18.06.12
14:05
+12 и дату его используй, нафига тебе искать во всем диапазоне?
Основание.ВыбратьПодчиненные(ВыбДокумент.ДатаДок,,ВыбДокумент)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший