Имя: Пароль:
1C
 
Как программно изменить проводки документа Операция?
0 ikatya
 
15.09.09
13:45
Мне надо поменять субконто в куче операций.
Пишу код:
   запрос = новый запрос;
   запрос.Текст = "ВЫБРАТЬ ОперацияБух.Ссылка
                  |ИЗ Документ.ОперацияБух КАК ОперацияБух
                  |ГДЕ ОперацияБух.Дата >= &Дата";
   Запрос.Параметры.Вставить("Дата", Дата(2009, 01, 01));
   выборка = запрос.Выполнить().Выбрать();
   пока выборка.Следующий() цикл
       объект = выборка.Ссылка.Получитьобъект();
       ...
   конеццикла;
Как перебрать проводки?
В отладчике смотрю объект.Движения.Хозрасчетный.Количество()=0.
1 ikatya
 
15.09.09
13:46
Ой - платформа у меня v8.1.
2 butterbean
 
15.09.09
13:50
прочитай
3 ikatya
 
15.09.09
13:58
(2) Спасибо, очень исчерпывающе.
Поделитесь ссылочкой, пожалуйста!
4 butterbean
 
15.09.09
14:00
(3) какой ссылочкой???
нужно Движения.Прочитать() .....
5 Salvador Limones
 
15.09.09
14:01
(3) Как пример - http://www.infostart.ru/projects/804/
P.S. Открой конфигуратором, конвертни в 8.1
6 Defender aka LINN
 
15.09.09
14:02
(4) Не нужно. Нужно отдельно набор записей создать. На кой черт вообще получать объект?
7 butterbean
 
15.09.09
14:04
(6) с объектом согласен - получать совсем необязательно
8 Oleg_Kag
 
15.09.09
14:07
объект = Выборка.Ссылка.Получитьобъект().Движения.Хозрасчетный;
объект.Прочитать();
Типа так?
9 Vitello
 
15.09.09
14:07
(8)Лучше с другой стороны зайти, через регистр бухгалтерии сразу.
10 Defender aka LINN
 
15.09.09
14:09
(8) "Смешались в кучу кони, люди..." ©
11 A_Dmitriev
 
15.09.09
14:10
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Ссылка);
НаборЗаписей.Прочитать();

Для Сч = 0 По НаборЗаписей.Количество() - 1 Цикл
 НаборЗаписей[Cч] - запись регистра
КонецЦикла
12 butterbean
 
15.09.09
14:11
(11) более извращенного перебора записей еще не видел
13 A_Dmitriev
 
15.09.09
14:12
(12)Я еще круче могу))
14 ikatya
 
15.09.09
14:14
Спасибо! Получилось!
пока выборка.Следующий() цикл
   Набор=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
   Набор.Отбор.Регистратор.Установить(выборка.ссылка);
   Набор.Прочитать();
   для каждого движение из Набор цикл
       ...
   конеццикла;
конеццикла;
15 Vitello
 
15.09.09
14:19
(14)Набор записей достаточно создать 1 раз.
2 + 2 = 3.9999999999999999999999999999999...