|
Запись в регистр сведений | ☑ | ||
---|---|---|---|---|
0
berendej
13.03.13
✎
11:34
|
Регистр сведений подчинен регистратору. В нем есть записи, мне нужно поменять уже имеющуюся. Делаю это в процедуре ОбработкаПроведения в самом конце. На строке Отбор.ВидОперации, говорит, что поле объекта не обнаружено.
Движение = РегистрыСведений.РасчетНормированияРасходов.СоздатьНаборЗаписей(); Движение.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка); Движение.Отбор.ВидОперации.Установить(Перечисления.ВидыРасходовНУ.РасходыНаРекламуНормируемые); Движение.Прочитать();//читаем набор Движение.ЗатратыГод = Движение.ЗатратыГод + 500; Движение.Записать(); |
|||
1
ZanderZ
13.03.13
✎
11:36
|
правильно говорит - отбору у подчиненных регистратору только по регистратору
|
|||
2
Галахад
гуру
13.03.13
✎
11:37
|
В обработкеПроведения не нужно отбирвать.
|
|||
3
Fragster
гуру
13.03.13
✎
11:37
|
а еще у набора нет рееквизитов, у него есть записи
|
|||
4
kosts
13.03.13
✎
11:40
|
(0) Читать набор, тоже вроде не обязательно. Записывать как первый раз.
|
|||
5
kosts
13.03.13
✎
11:41
|
Делать через движения, даже самому ну нужно записывать.
|
|||
6
berendej
13.03.13
✎
15:27
|
(2) а где тогда?
(5) так я и делаю через движения, или чего то не понимаю? |
|||
7
Reset
13.03.13
✎
15:29
|
(6) Вот эти движения имеют в виду
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Движения (RegisterRecords) Использование: Только чтение. Описание: Тип: КоллекцияДвижений. Предоставляет доступ к коллекции наборов записей движений документа |
|||
8
berendej
13.03.13
✎
15:45
|
(7) так только чтение же, а мне надо поменять значения ресурсов у записей
|
|||
9
tdm
13.03.13
✎
15:48
|
(8) >>надо поменять
а не проще в том месте где они формируются сразу правильно писать ? |
|||
10
tdm
13.03.13
✎
15:49
|
(6) имеется ввиду ИскомыеДвижения = ДокументОбъект.Движения.РасчетНормированияРасходов; а дальщу уже можно Для каждого ... из ИскомыеДвижения и т.д.
|
|||
11
Reset
13.03.13
✎
15:51
|
(8) Из всего текста прочитал самое ненужно и интерпретировал неправильно.
Движения.РасчетНормированияРасходов.Записывать = Истина; Движение = Движения.РасчетНормированияРасходов.Добавить(); Движение.Период = Дата; Движение.ЗатратыГод = 500; |
|||
12
Reset
13.03.13
✎
15:52
|
про это забудь и никогда так не делай:
Движение.ЗатратыГод = Движение.ЗатратыГод + 500; |
|||
13
Reset
13.03.13
✎
15:53
|
Правильно
Движение.ЗатратыГод = КакойТоРеквизитИзДокумента; |
|||
14
berendej
13.03.13
✎
15:58
|
(12) да это я в качестве примера написал. Пока не знаю как правильнее сделать, как ты предлагаешь не получится, потому что это документ регламентной операции и он собирает соответственно данные из разных регистров
|
|||
15
berendej
13.03.13
✎
16:22
|
Движения.РасчетНормированияРасходов.Записывать = Истина;
СписокЗаписей = ЭтотОбъект.Движения.РасчетНормированияРасходов; Для каждого Запись из ИскомыеДвижения цикл В цикл уже не заходит, ни одной записи не находит, хотя по факту они есть |
|||
16
hhhh
13.03.13
✎
16:28
|
(15) расшифруй, эти три строчки похоже из оразных программ надергал.
|
|||
17
berendej
13.03.13
✎
16:30
|
(16) Для каждого запись из СписокЗначений
|
|||
18
berendej
13.03.13
✎
16:31
|
Движения.РасчетНормированияРасходов.Записывать = Истина;
СписокЗаписей = ЭтотОбъект.Движения.РасчетНормированияРасходов; Для каждого Запись из СписокЗаписей цикл |
|||
19
Happy Bear
13.03.13
✎
16:37
|
(18) так записи добавить сначала нужно
и как тогда они добавляются? запросом вытащи все записи, и заново запиши с нужными значениями |
|||
20
Serg_1960
13.03.13
✎
16:45
|
(из серии "Найди три отличия)
Если ЭтотОбъект уже был проведен, то: ЭтотОбъект.Движения.РасчетНормированияРасходов.Прочитать(); ТаблицаЗаписей = ЭтотОбъект.Движения.РасчетНормированияРасходов.Выгрузить(); ... ЭтотОбъект.Движения.РасчетНормированияРасходов.Загрузить(ТаблицаЗаписей); ЭтотОбъект.Движения.РасчетНормированияРасходов.Записать(Истина); |
|||
21
berendej
13.03.13
✎
16:58
|
Ну идея понятна, сначала надо получить старые записи, тут кому, что ближе, либо запрос либо ТЗ
|
|||
22
kosts
14.03.13
✎
08:00
|
(21) Получать старые записи и вносить в них изменения это чревато крупными трудноуловимыми проблемами...
|
|||
23
berendej
14.03.13
✎
11:37
|
(22) а как тогда лучше сделать в данной ситуации?
|
|||
24
Reset
14.03.13
✎
11:46
|
(23) Постулат (а): Ты ситуацию не описал.
Постулат (б): Описал только архикривое решение, которое ты пытаешься провернуть. Решение КРИВОЕ, так делать не надо, я сказал еще в (12). Какое решение нормальное, ответить нельзя, т.к. см постулат (а) Еще раз: делать движения на основании анализа своих же движений - *Криво*. Отсюда вывод: проблема, которую ты здесь решаешь (ай ай нет записей, что делать) - не существует. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |