Имя: Пароль:
1C
1С v8
Отоборать движения корректировки и изменить их
0 Альбатрос
 
23.04.14
07:18
Задача: Выбрать движения документа "Корректировка записей регистра" по отбору и изменить их. Не могу понять, как сделать. Пните в нужную сторону.

Объект = Корректировка.ПолучитьОбъект();
Объект.Движения.ОстаткиПоДекларации.Отбор.Контрагент = СТрокаСМ.Контрагент;
Объект.Движения.ОстаткиПоДекларации.Отбор.АГ = СтрокаСМ.АГ;

Ошибка, что поле "контрагент" у отбора не найдено
1 shuhard
 
23.04.14
07:19
(0) кури запросы, это же не 7.7
2 Wobland
 
23.04.14
07:22
создавать набор записей, установливать отбор, читать, менять, писать
3 Альбатрос
 
23.04.14
07:23
(2)Дык в отладчике пишет что "Объект.Движения.ОстаткиПоДекларации" это уже набор записей. Или я не могу с ним работать?
4 Wobland
 
23.04.14
07:24
отбор строго по регистратору
5 Альбатрос
 
23.04.14
07:28
(4) Понял, щас перепробую )
6 shuhard
 
23.04.14
07:29
(4) +1
а регистратор ищем запросом
7 Альбатрос
 
23.04.14
11:55
Втупляю, мужики.

        РНОстаткиПоДекл = РегистрыНакопления.ОстаткиПоДекларации.СоздатьНаборЗаписей();
        РНОстаткиПоДекл.Отбор.Регистратор.Установить(Корректировка);
        РНОстаткиПоДекл.Отбор.Контрагент.Установить(СТрокаСМ.Контрагент);


Ругается на поле контрагент. Не найдено говорит. Чо ему надо то?
8 Wobland
 
23.04.14
11:56
громко и отчётливо повтори в него (4)
9 Зойч
 
23.04.14
11:56
отбор только по регистратору можно делать
10 Зойч
 
23.04.14
11:57
Я обычно ищу запросом регистратор + номер строки движения
11 Альбатрос
 
23.04.14
11:58
(10) Менять потом через .Получить()?
12 Альбатрос
 
23.04.14
11:58
(8) =(
13 chigsrOck
 
23.04.14
12:09
после отбора по регистратору набор надо прочитать(), а затем можно обходить строки циклом и те, которые нужно менять...
14 Альбатрос
 
23.04.14
12:15
(13) Вариант не очень. У меня отбор - ТЗ с 5 колонками, которые по сути и являются полями отбора. По ходу надо будет юзать запрос с внутренним соединением с ВТ.
15 chigsrOck
 
23.04.14
12:20
(14) да не суть...набор можно выгрузить в таблицу и засунуть его в запрос, можно обходить строки ТЗ и искать соответствующие им в таблице выгруженного набора через НайтиСтроки()... это дело фантазии и вкуса:)