Имя: Пароль:
1C
 
Проверить движения документа
0 panas_ukr_net
 
02.05.07
10:47
Как имея ссылку на документ проверить делает ли он движения по определенному регистру?

Можно ли это определить используя    НужныйДокумент.Движения
1 Salvador Limones
 
02.05.07
10:48
Запросом можно.
2 asady
 
02.05.07
10:51
(0) объект придется получить для этого.
(1)+1 запросом оптимальнее.
3 yalex
 
02.05.07
10:56
(0)

ВЫБРАТЬ
"Что-то" как Регистр
Из
РегистрСведений.ЦеныНоменклатуры КАК ЦеныПоступления
Где
ЦеныПоступления.Регистратор = &Регистратор

В параметре Регистратор устанавливай любой документ
4 Леха Дум
 
02.05.07
10:57
Ссылка.Метаданные().Движения - получишь коллекцию метаданных с названиями регистров, по которым док может делать движения, соответственно в коллекции рулит поиск или перебор Для Каждого
5 Леха Дум
 
02.05.07
11:00
ну а если проверить сделал ли док движения - то запросом к нужному регу
6 panas_ukr_net
 
02.05.07
11:13
запросом я сделал

   ДвижениеБыло = Ложь;
   Запрос = Новый Запрос("SELECT * FROM РегистрНакопления.ТоварыВРезерве
   |WHERE РегистрНакопления.ТоварыВРезерве.Регистратор = &Регистратор");
   Запрос.УстановитьПараметр("Регистратор", ДокументЗаказ.Ссылка);
   РезультатЗапроса = Запрос.Выполнить();
   Если РезультатЗапроса.Выбрать().Количество() > 0 Тогда
       ДвижениеБыло = Истина;        
   КонецЕсли;
   Возврат ДвижениеБыло;

а думал вот может можно проверить это через

ДокументЗаказ.Движения.ТоварыВРезерве.КоличествоНах()
или что-то в этом роде
7 yalex
 
02.05.07
11:21
(6) Нет таких таблиц
8 panas_ukr_net
 
02.05.07
11:23
(7)
Каких ?
КоличествоНах() или ТоварыВРезерве?
9 yalex
 
02.05.07
11:25
(8) Есть Коллекция Движения - содержит регистры по которым док может делать движения, а вот по каким он уже сделал движения такого нету.
10 panas_ukr_net
 
02.05.07
11:27
(9)
ок
спасибо

с запросом тоже получилось короче чем я ожидал
11 asady
 
02.05.07
11:29
(6)
ИМХО оптимальнее так:


  Возврат РезультатЗапроса.Выбрать().Следующий();