|
Программное изменение регистратора | ☑ | ||
---|---|---|---|---|
0
RaMMaL
31.05.13
✎
09:29
|
Всем привет. Народ подскажите как программно изменить регистратор в регистре. Пробую вот таким способом, но ничего не в результате выполнения этой процедуры не происходит, старый регистратор как был так и остался
НаборЗаписей = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(стр.Регистратор); НаборЗаписей.Прочитать(); для каждого строкаОС из НаборЗаписей цикл строкаОС.Регистратор = ДокументКорректировкиРегистра; КонецЦикла; НаборЗаписей.Записать(); |
|||
1
Maxus43
31.05.13
✎
09:37
|
НаборЗаписей = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(стр.Регистратор); НаборЗаписей.Прочитать(); НаборЗаписей2 = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей2.Отбор.Регистратор.Установить(стр.РегистраторВТОРОЙ); НаборЗаписей2.Загрузить(НаборЗаписей.Выгрузить()); НаборЗаписей2.Записать(); |
|||
2
Maxus43
31.05.13
✎
09:38
|
+ возможно перед выгрузкой надо очистить колонку регистратор у загружаемой ТЗ, надо проврить, не помню
|
|||
3
RaMMaL
31.05.13
✎
09:40
|
(2) Ок спасибо, попробуем
|
|||
4
abjurer
31.05.13
✎
09:43
|
Не очистить, а заполнить.
НаборЗаписей = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(стр.Регистратор); НаборЗаписей.Прочитать(); ВременнаяТаблица = НаборЗаписей.Выгрузить(); ВременнаяТаблица.ЗаполнитьЗначения(стр.РегистраторВТОРОЙ, "Регистратор"); НаборЗаписей2 = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей2.Отбор.Регистратор.Установить(стр.РегистраторВТОРОЙ); НаборЗаписей2.Загрузить(ВременнаяТаблица); НаборЗаписей2.Записать(); |
|||
5
Maxus43
31.05.13
✎
09:57
|
(4) отбор на наборе2 стоит, так что можно и очистить емнип, безразницы
|
|||
6
RaMMaL
31.05.13
✎
10:01
|
Не выходит, пишет что запись с такими ключевыми полями существует
|
|||
7
Maxus43
31.05.13
✎
10:02
|
(6)>(4)
|
|||
8
RaMMaL
31.05.13
✎
10:09
|
(7) я сделал по принципу (4)
|
|||
9
Maxus43
31.05.13
✎
10:10
|
НаборЗаписей2.Отбор.Регистратор.Установить(стр.РегистраторВТОРОЙ);
НаборЗаписей2.Прочитать(); Сообщить(НаборЗаписей2.Количество()); |
|||
10
RaMMaL
31.05.13
✎
10:27
|
(9) И что это даст?
|
|||
11
Maxus43
31.05.13
✎
10:33
|
(10) а непонятно разве?
|
|||
12
Maxus43
31.05.13
✎
10:34
|
короче код в студию полный
|
|||
13
RaMMaL
31.05.13
✎
10:42
|
Хм, ладно черт с этими регистраторами. как удалить запись в регистре по регистратору? Я думаю не маиться переписью этих регистраторов а просто удалить существующие записи (предварительно сохранив их в таблицу) и после загрузить их, только уже с новым регистратором
|
|||
14
Maxus43
31.05.13
✎
10:44
|
НаборЗаписей = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(стр.Регистратор); наборзаписей.Записать(); //вот и удаление |
|||
15
RaMMaL
31.05.13
✎
10:47
|
А кода конкретного нет, я делал обрезку базы, и натолкнулся на такую отвратную вещь как регистр сведений непереодический. И теперь пытаюсь перебить записи с документом корректировки, чтобы документы старых регистраторов можно было спокойно грохнуть
|
|||
16
Maxus43
31.05.13
✎
11:08
|
независимый может? нет у независимых регистратора, никуда ты их не свернёшь, просто удаляй, если эти данные не нужны уже
|
|||
17
abjurer
31.05.13
✎
11:16
|
(7) странно это. но тогда долгий путь. читаем набор записей по старому регистратору в таблицу значений или в табличную часть документа (нового регистратора). удаляем старые записи. пишем новые. все это желательно в одной транзакции.
|
|||
18
RaMMaL
31.05.13
✎
11:59
|
(7) Ну вобщем я примерно так и сделал, выгрузил старые записи в ТЗ, поудалял их из регистра, и загрузил из ранее сохраненной ТЗ в регистр, но уже с новым регистратором
|
|||
19
RaMMaL
31.05.13
✎
12:00
|
"RaMMaL
18 - 31.05.13 - 11:59 (7) Ну вобщем я примерно так и сделал, выгрузил старые записи в ТЗ, поудалял их из регистра, и загрузил из ранее сохраненной ТЗ в регистр, но уже с новым регистратором" ошибка в сообщении (18) не (7) а (17) |
|||
20
RaMMaL
31.05.13
✎
12:02
|
Примерно так :
Для Каждого стр из ТабДвиж цикл НаборЗаписей = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(стр.Регистратор); НаборЗаписей.Записать(); КонецЦикла; ТабДвиж.ЗаполнитьЗначения(НовыйДокументРегистратор, "Регистратор"); НаборЗаписей2 = РегистрыСведений.СостоянияОСОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей2.Отбор.Регистратор.Установить(НовыйДокументРегистратор); НаборЗаписей2.Загрузить(ТабДвиж); НаборЗаписей2.Записать(); |
|||
21
hhhh
31.05.13
✎
14:03
|
(20) в цикле-то нафига записывать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |