|
Запись данных в регистр накопления текущей строки | ☑ | ||
---|---|---|---|---|
0
Barry
01.03.23
✎
20:12
|
Создал событие при изменении на реквизите Стоимость и пытаюсь так сказать в табличной части изменить стоимость из регистра накопления, при нажатии на enter изменения должны записываться только для текущей строки, но ничего не меняется, в чем причина?
&НаКлиенте Процедура ДвиженияПоРегиструНакопленияСтоимостьПриИзменении(Элемент) Регистр = РегистрыНакопления.Пересчеты.СоздатьНаборЗаписей(); Регистр.Отбор.Регистратор.Установить(Объект.Документ); Регистр.Прочитать(); Строка = Элементы.ДвиженияПоРегиструНакопления.ТекущиеДанные; Регистр.Получить().Стоимость = Строка.Стоимость; Регистр.Записать(); КонецПроцедуры |
|||
1
mikecool
01.03.23
✎
20:34
|
Регистр.Получить() - вот здесь что ты видишь?
|
|||
2
RomanYS
01.03.23
✎
20:37
|
(0) на клиенте регистры? - это фантастика
|
|||
3
Barry
01.03.23
✎
21:57
|
(1) Регистр.Получить() {<Неизвестный модуль>(1)}: Недостаточно фактических параметров
|
|||
4
Barry
01.03.23
✎
22:43
|
Вот так работает, но мне не нужно для каждого элемента, а только для текущего сделать
Регистр = РегистрыНакопления.Пересчеты.СоздатьНаборЗаписей(); Регистр.Отбор.Регистратор.Установить(Объект.Документ); Регистр.Прочитать(); Строка = Элементы.ДвиженияПоРегиструНакопления.ТекущиеДанные; Для Каждого Стр Из Регистр Цикл Стр.Стоимость = Строка.Стоимость; КонецЦикла; Регистр.Записать(); |
|||
5
Barry
02.03.23
✎
09:27
|
Может как-то можно без цикла обратиться к ресурсу?
|
|||
6
Михаил Козлов
02.03.23
✎
12:10
|
В наборе должна быть только (и обязательно) 1 запись?
Стр = Регистр.Получить(0); Стр.Стоимость = ...; |
|||
7
Barry
02.03.23
✎
14:16
|
В табличной частм может быть несколько записей
|
|||
8
НафНаф
02.03.23
✎
14:44
|
1. определиться, что такое "текущая запись" в только что прочитанном наборе записей регистра
|
|||
9
Barry
02.03.23
✎
14:51
|
(8) есть регистр и есть документ в запросе, выбираем на форме нужный документ, далее нажимаем показать нам в табличную части выводятся движения, допустим 5 записей с нужными реквизитами. Я становлюсь допустим на 2 строчку и редактирую реквизит Стоимость. Нажимаю enter и все запись прошла в регистр.
|
|||
10
Serg_1960
02.03.23
✎
15:15
|
Имхо, нужно понять и осознать: совокупность записей, подчиненных одному регистратору, является той минимальной "гранулой" изменения регистра, которую нельзя далее раздробить на более мелкие части (на отдельные записи) - можно считывать и записывать весь набор записей по регистратору. Если Вам циклы не нравятся, то можно выгрузить набор в таблицу и наложить произвольный отбор на записи таблицы или выполнить поиск нужной строки в таблице. При условии, что номера строк документа записываются в регистр.
PS: имхо, методологически неверно, не изменяя документ, изменять его движения. Или изменять объект в его форме и перезаписывать его движения- редактирование документа м.б. отменено юзверями. |
|||
11
Barry
02.03.23
✎
16:27
|
(10) если что, то это у нас внешняя обработка
|
|||
12
mikecool
02.03.23
✎
19:25
|
создай реквизит с типом РН....
выведи на форму ставь отбор по документу, редактируй |
|||
13
Михаил Козлов
03.03.23
✎
11:36
|
Вы хотите движения документа редактировать в обход документа? Т.е. в документе стоимость = 1, а в регистре 2?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |