|
Непериодический зависимый регистр сведений | ☑ | ||
---|---|---|---|---|
0
Woolf
05.04.12
✎
15:05
|
Доброго ВС! Не могу понять, по какой причине не проводятся записи в Непериодический зависимый регистр сведений.
Регистр СчетаПокупателюИИхОплатА периодичность: непериодический Режим записи: подчинение регистратору Измерения: СчетНаОплату Ресурс: ОплаченоСумма Регистратор: документ "ПоступлениеНаРасчетныйСчет" В связи с тем, что у документа-регистратора свойство "Удаление движений" установлено "не удалять автоматически" требуется удалить существующие записи в вышеуказанном регистре и записать новые. вот код: НаборЗаписей = РегистрыСведений.СчетаПокупателюИИхОплатА.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратоР); НаборЗаписей.Записать(); НаборЗаписей = РегистрыСведений.СчетаПокупателюИИхОплатА.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратоР); Запись = НаборЗаписей.Добавить(); Запись.СчетНаОплату = СчетНаОплатуНовый; Запись.ОплаченоСуммА = СуммаПлатежА; НаборЗаписей.Записать(); |
|||
1
Maxus43
05.04.12
✎
15:08
|
где ошибка то? чо пишет?
|
|||
2
Mort
05.04.12
✎
15:09
|
НаборЗаписей = РегистрыСведений.СчетаПокупателюИИхОплатА.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратоР); НаборЗаписей.Записать(); Это что? Очистка перед записью? )))) |
|||
3
Reset
05.04.12
✎
15:09
|
Добавить
Запись.Регистратор=ТекРегистратоР; |
|||
4
Reset
05.04.12
✎
15:10
|
А вообще проще и логичнее имхо через коллекцию Движения документа объекта при проведении делать
|
|||
5
sergeante
05.04.12
✎
15:10
|
можно проще
НаборЗаписей = РегистрыСведений.СчетаПокупателюИИхОплатА.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратоР); Запись = НаборЗаписей.Добавить(); Запись.Регистратор=ТекРегистратоР; Запись.СчетНаОплату = СчетНаОплатуНовый; Запись.ОплаченоСуммА = СуммаПлатежА; НаборЗаписей.Записать(); |
|||
6
Maxus43
05.04.12
✎
15:12
|
(2) а шо?)
|
|||
7
sergeante
05.04.12
✎
15:12
|
Не надо создавать набор два раза, не обязательно его очищать (записывать пустым). Ну и (3)
|
|||
8
Reset
05.04.12
✎
15:13
|
(6) Он имеет в виду, зачем два раза писать. Можно только второй, с 1 строкой.
|
|||
9
Maxus43
05.04.12
✎
15:14
|
(8) скажи это разрабам типовых)
|
|||
10
sergeante
05.04.12
✎
15:15
|
(9) гы)
|
|||
11
Mort
05.04.12
✎
15:17
|
(9) Не видел в типовых такого. Покажешь?
|
|||
12
Maxus43
05.04.12
✎
15:18
|
(11) в каждом доке
Если мУдалятьДвижения Тогда ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ); КонецЕсли; |
|||
13
Mort
05.04.12
✎
15:21
|
(12) Ну вообще то там это логично, потому что док при проведении может _не все_ регистры писать, а сами они не очищаются.
|
|||
14
Maxus43
05.04.12
✎
15:23
|
(13) ну тоже самое происходит, запись в регистры 2 раза
|
|||
15
Woolf
05.04.12
✎
15:29
|
не пойму, всё вроде так и есть, ан нет, нету записей в регистре.
где рыть? |
|||
16
hhhh
05.04.12
✎
15:29
|
(14) там это сделано, чтобы старые записи не использовались при проведении. А здесь у автора видно, что он не пользуется записями этого регистра, Сразу пишет и всё.
|
|||
17
Woolf
05.04.12
✎
15:33
|
+(15) может форму регистра нужно поднастроить?
|
|||
18
Maxus43
05.04.12
✎
15:35
|
(16) я вкурсе для чего сделано, меня пример двойной записи в регистр просили привести
|
|||
19
Maxus43
05.04.12
✎
15:36
|
(17) код целиком ещё раз покажи, (3) упустил помойму
|
|||
20
НЕА123
05.04.12
✎
15:36
|
док новый, небось.
|
|||
21
Reset
05.04.12
✎
15:36
|
(18) Некорректный пример
|
|||
22
Maxus43
05.04.12
✎
15:38
|
ладно ладно, заклевали сразу
|
|||
23
Woolf
05.04.12
✎
15:45
|
(20)-нет, документ изначально записан и проведён. При перепроведении, в случае наличия записей в в вышеуказанном регистре, должен их убрать и записать новые.
Процедура ЗарегистрироватьОплатуВРегистрЕ(СчетНаОплатуСтарый,СчетНаОплатуНовый,ТекРегистратоР,СуммаПлатежА) Экспорт НаборЗаписей = РегистрыСведений.СчетаПокупателюИИхОплатА.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ТекРегистратоР); Запись = НаборЗаписей.Добавить(); Запись.Регистратор=ТекРегистратоР; Запись.СчетНаОплату = СчетНаОплатуНовый; Запись.ОплаченоСуммА = СуммаПлатежА; НаборЗаписей.Записать(); КонецПроцедуры //Процедура вызывается из модуля //ОбработкаПроведения |
|||
24
Maxus43
05.04.12
✎
15:46
|
ТекРегистратоР - Объект небось? ТекРегистратоР.Ссылка
|
|||
25
Woolf
05.04.12
✎
15:47
|
+(23) на параметры у процедуры внимание не обращайте - не убрал своевременно
|
|||
26
Woolf
05.04.12
✎
15:48
|
(24) - нет: ДокументСсылка.ПоступлениеНаРасчетныйСчет
|
|||
27
Maxus43
05.04.12
✎
15:50
|
у этого регистра документ точно регистратором выбран?
З.ы. Это в документе же, почему через Движения не сделать? |
|||
28
Woolf
05.04.12
✎
15:54
|
(27) - точно документ-регистратор
вообще-то мне и не совсем обязательно в режиме подчинения этот регистр создавать, можно и независимый, однако бесит эта ситуация : всё ведь вроде как нужно. Вот и пытаюсь дойти до причины. |
|||
29
Maxus43
05.04.12
✎
15:56
|
отладчик все строчки проходит и всё видно в нём? значения присваиваются?
кроме как кривого кэша уже и думать не на что |
|||
30
Woolf
05.04.12
✎
15:59
|
(29) - да, всё нормально, и в конце процедуры показывает НаборЗаписей.Количество() = 1
после открываю "БП", а там регистр чистый :(( |
|||
31
Mort
05.04.12
✎
16:19
|
(30) Ну так док после процедуры проведения записывает свою движуху и конечно у тебя там все затирается. Поставь в обработке проведения Движения.СчетаПокупателюИИхОплатА.Записывать = Ложь;
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |