Имя: Пароль:
1C
1С v8
v8. Подсчитать количество движений документа по всем регистрам
,
0 fretum
 
12.07.12
15:41
Добрый день.
Хочу подсчитать количество движений всех документов по всем регистрам.
Пробую следующий код


Пока Док.Следующий() Цикл

     Если НЕ Док.Проведен Тогда
           Продолжить;
     КонецЕсли;
     сДок = Док.Ссылка;

     ДвиженияДокумента   = сДок.Метаданные().Движения;
     Для Каждого Движ Из сДок.Метаданные().Движения Цикл

           сДок[Движ.Имя]          // поле не найдено

           //  подскажите как написать?

     КонецЦикла;
КонецЦикла;

Буду признателен за помощь
1 fretum
 
12.07.12
15:44
ап
2 Широкий
 
12.07.12
15:45
Документы то зачем перебирать?
Бери таблицу движений регистров и считай
3 Господин ПЖ
 
12.07.12
15:45
сДок.Движения[Движ.Имя]
4 Господин ПЖ
 
12.07.12
15:45
накуа два раза одно и тоже?

ДвиженияДокумента   = сДок.Метаданные().Движения;
     Для Каждого Движ Из сДок.Метаданные().Движения Цикл
5 Eugene_life
 
12.07.12
15:46
КолвоДвиженияДокумента   = сДок.Метаданные().Движения.Количество();
не уверен, что так взлетит, но...
6 Господин ПЖ
 
12.07.12
15:46
а по сути (2) +100

запрос с юнионами как-то кошернее
7 Господин ПЖ
 
12.07.12
15:47
>сДок.Метаданные().Движения.Количество();

и что это дать должно? кол-во регистров?
8 Eugene_life
 
12.07.12
15:47
(7) количество всех движений
9 Господин ПЖ
 
12.07.12
15:48
(8) бугага...
10 Eugene_life
 
12.07.12
15:48
(9) Хотя... думаю, что получится количество регистров, по которым были движения..
11 ilya_i
 
12.07.12
15:52
Выбрать Сумма(Поле1) из (
Выбрать Количество(*) из РегистрСведений.Первый
Объединить
Выбрать Количество(*) из РегистрСведений.Второй
и т.д.
Потом все регистры накопления, регистры расчета, регистры бухгалтерии
) как вз
12 fretum
 
12.07.12
15:55
(3)

сДок.Движения[Движ.Имя]

Поле объекта не обнаружено (Движения)
13 Hipernate
 
12.07.12
15:56
а зачем??
14 fretum
 
12.07.12
15:57
(7)  Да, коллекцию регистров по которым были движения, потом хочется их перебрать на предмет количества движений
15 fretum
 
12.07.12
15:57
Да можно запросом, но хочется сделать перебором
16 ilya_i
 
12.07.12
16:00
(15) "Да можно запросом, но хочется сделать перебором"
- Товарищ сержант может все-таки метлой?
- Сказано ломом, подметайте и не задавайте глупых вопросов.
17 ilya_i
 
12.07.12
16:01
в заголовке "...документа по всем регистрам ", а ниже "...всех документов по всем регистрам", чему верить?
18 fretum
 
12.07.12
16:04
(17) согласен, неувязочка
можно на одном
19 Михаил Козлов
 
12.07.12
16:05
Если база скульная, то есть отчет по статистике БД. Очень информативный, автора, к сожалению, забыл.
20 fretum
 
12.07.12
16:14
(16) Интересно разобраться как это работает
21 Господин ПЖ
 
12.07.12
16:37
(12) ну да... у тебя сДок - это ссылка

Пока Док.Следующий() Цикл

     Если НЕ Док.Проведен Тогда
           Продолжить;
     КонецЕсли;
     сДок = Док.ПолучитьОбъект();

     ДвиженияДокумента   = сДок.Метаданные().Движения;
     Для Каждого Движ Из сДок.Метаданные().Движения Цикл

           сДок[Движ.Имя]          // поле не найдено


           //  подскажите как написать?


     КонецЦикла;
КонецЦикла;
22 LAAry
 
12.07.12
16:44
Пока Док.Следующий() Цикл

     Если НЕ Док.Проведен Тогда
           Продолжить;
     КонецЕсли;
     сДок = Док.ПолучитьОбъект();

     ДвиженияДокумента   = сДок.Движения;
КличествоДвижений = 0;
     Для Каждого Движ Из ДвиженияДокумента   Цикл
           КоличествоДвижений = КоличествоДвижений+Движ.Количество();


     КонецЦикла;
КонецЦикла;
23 LAAry
 
12.07.12
16:46
+(22) Если хочешь залезть в движения:
Для Каждого Движ Из ДвиженияДокумента   Цикл
      Для Каждого СтрокаДвижений из Движ Цикл
           
      КонецЦикла;
КонецЦикла;

И не забывай, что есть еще в 1с код, где запись в регистр идет не через движения а напрямую по регистратору.
24 fretum
 
12.07.12
17:01
(23)
Говорит  -  Итератор для значения не определен
25 LAAry
 
12.07.12
17:03
Стопни и посмотри, что получил в ДвиженияДокумента и Движ.
26 fretum
 
12.07.12
17:24
(25)
Движ - Объект Метаданных
ДвиженияДокумента - КоллекцияЗначенийСвойствОбъектаМетаданных
27 hhhh
 
12.07.12
17:32
(26) ты приколист? Метаданные - это описание конфигурации. Откуда там движения могкт нарисоваться?
Основная теорема систематики: Новые системы плодят новые проблемы.