Имя: Пароль:
1C
1С v8
1С83. Изменить регистр сведений.
0 slnes
 
22.07.16
09:39
Имеем
РегистрСведений1
Измерение1
Измерение2
Измерение3

В документе выбираются Измерение1 и Измерение2
Необходимо найти строку регистра сведений с этими данными и изменить в ней значение Измерения3
Скажите пожалуйста как это сделать?
1 vicof
 
22.07.16
09:40
для начала прочитать профразработку

1. Запрос к регистру
2. Создание менеджера записи
3. Изменение
2 slnes
 
23.07.16
15:31
(1) прочел не помогло
НаборЗаписей = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Регистратор;
    НаборЗаписей.Прочитать();

ошибку выдает

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.Документ1.МодульОбъекта(20)}: Поле объекта не обнаружено (Регистратор)
    НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Регистратор;
3 jsmith
 
23.07.16
15:34
А такое поле есть у регистра?
4 ColonelAp4u
 
23.07.16
15:38
а в Выборка.Регистратор есть  кто то?
Покажи запрос который выбирает документ(или справочник) который ты хочешь сравнить с    НаборЗаписей.Отбор.Регистратор.Значение
5 Горогуля
 
23.07.16
15:39
а зачем прочитать?
6 ColonelAp4u
 
23.07.16
15:40
Или регистр не имеет регистратор тогда ищи записи по каким нибудь любым другим реквизитам регистра
7 Горогуля
 
23.07.16
15:40
и что это за адов документ?
8 Mankubus
 
23.07.16
15:40
У регистра есть регистратор?
9 RomanYS
 
23.07.16
15:40
Нельзя изменить измерение у записи регистра.
Старую запись удалить, новую создать.
А вообще если такая задач возникла - значит вы неправильно спроектировали регистр.
10 jsmith
 
23.07.16
15:41
Ну, формально так и происходит. Но есть понятие "запись с замещением".
11 ColonelAp4u
 
23.07.16
15:42
(8) не знал?
12 Горогуля
 
23.07.16
15:42
(11) я видал и без регистраторов
13 ColonelAp4u
 
23.07.16
15:43
РС бывают независимые и подчиненные регистратору
14 slnes
 
23.07.16
16:01
Регистратор, есть изменяется РС из другого документа.
Как такое сделать можно подскажите думаю это все же возможно.
15 vicof
 
23.07.16
16:06
Тогда идёшь в документ и меняешь реквизит , оно само тебе в регистр все запишет
16 Горогуля
 
23.07.16
16:34
человек называет сущности Документ1 и Регистр1. отсюда вывод: содержательного смысла этот секас не несёт, в голове каша
17 Горогуля
 
23.07.16
16:35
+(16) ну и всё это дело в проведении
18 slnes
 
23.07.16
16:41
(16) задача конкретная, что непонятно?
(15) нужно изменить регистр сведений из другого документа который регистратором не является.
19 Горогуля
 
23.07.16
16:42
(18) это какое-то кривое решение непонятно какой задачи
20 slnes
 
23.07.16
16:50
(9) а вот это полезное сообщение, пусть вместо измерения3 будет ресурс1, как тогда сделать?
21 Горогуля
 
23.07.16
16:53
(20) так же, как и с измерением. если документу хочется подвигать регистр, он должен бывать регистратором. внебрачные связи - это извращение
22 slnes
 
23.07.16
18:58
(21) ну значит я извращенец, но так хочется, с внебрачными связями все понятно.
Как регистр сведений то изменить?
23 RomanYS
 
23.07.16
19:10
(22) ну в (2) у тебя правильное начало. А ошибка, тут 2 варианта:
- твой регистр всё-таки не подчинен регистратору
- в твоей выборке нет поля "регистратор"
24 hhhh
 
24.07.16
00:32
(22) прочитать движения регистратора, изменить, записать движения регистратора.
25 slnes
 
24.07.16
12:02
(23) дело не в этом, если сделать так х=НаборЗаписей.Отбор.Регистратор.Значение;
ошибка не изменится
26 slnes
 
24.07.16
12:07
(24) код хотелось бы, в интернете куча примеров но у меня они не работают
27 Mauser
 
24.07.16
12:13
(26) Тебе так необходимо, чтобы мы увеличили количество этого неработающего у тебя кода?
28 Mauser
 
24.07.16
12:16
(26) Создать набор, выставить у него необходимые отборы по измерениям. Прочитать набор, исправить в нем данные. Записать набор.

Остальное - в твоих руках. Домысливать за тебя что там происходит, а потом выслушивать обиды "не работает" - зачем?
29 lEvGl
 
гуру
24.07.16
12:22
Док = Выборка.Регистратор.ПолучитьОбъект();
Док.Движения.НужныйРегистр.Прочитать();
Для каждого Строка Из Документ.Движения.НужныйРегистр Цикл
///меняем
КОнецЦикла;
Док.Записать(РежимЗаписиДокумента...);

если регистр действительно подчиненный
30 Aleksandr N
 
24.07.16
13:01
(0) Плохо, очень плохо не знать такой элементарщины. Особенно для человека с такой длинной полоской (таким длинным ху**).
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой