Имя: Пароль:
1C
1С v8
удаление данных из регистров
0 LivingStar
 
09.11.11
14:43
подскажите пожалуйста
если мне нужно удалить записи из всех регистров по одной организации
как это сделать программно?
1 5 Элемент
 
09.11.11
14:47
А зачем?
2 Нуф-Нуф
 
09.11.11
14:48
а пгавда что все евгеи отвечают вопгосом на вопгос?
3 LivingStar
 
09.11.11
14:49
(1) нужно от них избавиться, такая постановка....
Либо вручную, сидеть мочить их. Либо вот автоматизировать ...
4 Starhan
 
09.11.11
14:50
цикл по регмистрам
Цикл по змерения ищем тип Организация
Создаем набор записи с отбором по организации
записываем набор.
усе
5 unregistered
 
09.11.11
14:50
(0) >> как это сделать программно?

Написать обработку!

Если уже начал писать обработку, то задать вопрос на форуме с указанием того, что конкретно не получается.
6 simol
 
09.11.11
14:51
Может задача удалить документы по одной из организаций?
7 Михаил Козлов
 
09.11.11
14:52
(4) В регистрах с регистратором отбор возможен только по регистратору.
8 luckyluke
 
09.11.11
14:52
(4) с регистрами подчинёнными регистратору надо отбор по регистратору ставить.
9 5 Элемент
 
09.11.11
14:52
(3) бредовая задача
10 hhhh
 
09.11.11
14:53
(3) нужно просто удалить эту организацию в справочнике, а потом запустить ТИИ с опцией "удалять объекты".
11 Starhan
 
09.11.11
14:54
(8) точна :(
Тогда алгоритм усложняется выборка регистраторов и по ним обоход
12 Starhan
 
09.11.11
14:56
а ишо вариант через скл напрямую
13 hhhh
 
09.11.11
15:03
(11) регистраторы мы уже поудаляли. Вместе с подчиненными движениями. ливинг стар при этом присутствовал.
14 Starhan
 
09.11.11
15:05
а об каких регистрах тогда идет речь?
15 hhhh
 
09.11.11
15:09
(14) думаю, остались независимые регисты.
16 LivingStar
 
09.11.11
17:28
(10) тестирование и исправление?
с опцией удалять объекты
и что они исчезнут?

удалить, в смысле пометить на удаление?

не знал такого...
17 LivingStar
 
09.11.11
17:32
(13) извиняюсь когда это было? на прошлых постах?
я просто восстанавливаю базу и пробую снова.....
что бы потом наверняка все сделать в рабочей
на множества объектов написал процедуры удаления
выбирал запросом и удалял через объект, сначало подчиненные объекты
а потом те к чему они были подчинены....

регистры раз почистил вручную, но вот решил узнать, как это можно
автоматизировать...
18 LivingStar
 
09.11.11
17:37
(13)(17+)  а всмысле после действий описанных в (10) ?
19 Reset
 
09.11.11
17:40
(10) Такой опции(удалять) нет. Она есть для "поврежденных". Наличие ссылки на несущесвующий элемент не явл. поврежедением.
Таким способом можно разве снова создать организацию после удаления с кодом F0001 :))
20 YF
 
09.11.11
17:52
(3) Тогда такой вот извратный вариант: удаляешь все регистры в конфигураторе, потом заново создаешь :-)

Движения исчезнут сами собой
21 LivingStar
 
09.11.11
17:55
(20) регистраторы у регистров? с сохранением конфигурации???
тама же есть другие нужные организации в базе, по которым не нужно трогать объекты.....
22 YF
 
09.11.11
17:56
(21) вот оно че, тогда не надо
23 LivingStar
 
11.11.11
10:26
очистил один регистр по Организации, у него было измерение Организация

   НаборЗаписей = РегистрыСведений.НДФЛДоходыПредыдущегоМестаРаботы.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.Организация.Установить(Организация);
   НаборЗаписей.Записать();

а если Организация стоит в ресурсе, а не в измерении, как тогда по ней очистить записи в регистре?
24 DrShad
 
11.11.11
10:33
Запросом получи интересующий набор с отбором и вперед
25 LivingStar
 
11.11.11
10:47
(24) Ок, спасибо, делаю !
26 DrShad
 
11.11.11
10:58
(25) да не за что
хотя тебе тут уже такой КМБ провели, что пора проставляться
27 LivingStar
 
11.11.11
10:59
ВЫБРАТЬ
   НДФЛПрименениеВычетовСрезПоследних.Период,
   НДФЛПрименениеВычетовСрезПоследних.Организация,
   НДФЛПрименениеВычетовСрезПоследних.Физлицо
ИЗ
   РегистрСведений.НДФЛПрименениеВычетов.СрезПоследних КАК НДФЛПрименениеВычетовСрезПоследних
ГДЕ
   НДФЛПрименениеВычетовСрезПоследних.Организация = &Орг


можно ли установить отбор по ресурсу?

Это пример установки отбора по регистратору
// ------------------------------------------------------------------------------------
НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыКонтрагентов.СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
   НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
   НаборЗаписей.Записать();
КонецЦикла;
// -------------------------------------------------------------------------------------
28 Maxus43
 
11.11.11
11:00
можно ли установить отбор по ресурсу?

нет. для независимых - по измерениям, для подыинённых - только по регистратору
29 LivingStar
 
11.11.11
11:16
пробую перебрать выбранный набор не получается, как нужно?


   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    НДФЛПрименениеВычетовСрезПоследних.Период,
                  |    НДФЛПрименениеВычетовСрезПоследних.Организация,
                  |    НДФЛПрименениеВычетовСрезПоследних.Физлицо
                  |ИЗ
                  |    РегистрСведений.НДФЛПрименениеВычетов.СрезПоследних КАК НДФЛПрименениеВычетовСрезПоследних
                  |ГДЕ
                  |    НДФЛПрименениеВычетовСрезПоследних.Организация = &Орг";
   Запрос.УстановитьПараметр("Орг", Организация);
   Результат = Запрос.Выполнить();
   Если Не Результат.Пустой() Тогда
       НаборЗаписей = Результат.Выбрать();
       Для Каждого строка Из НаборЗаписей Цикл
           
       КонецЦикла;
   КонецЕсли;
30 LivingStar
 
11.11.11
11:18
(29+) пишет, итератор для значения не определн?
31 Wobland
 
11.11.11
11:18
(30) lf
32 Wobland
 
11.11.11
11:18
(31) тьфу, да
33 Wobland
 
11.11.11
11:19
Строка - зарезервированное слово
34 LivingStar
 
11.11.11
11:20
кажется так нужно...

       Пока НаборЗаписей.Следующий() Цикл
       КонецЦикла;
35 LivingStar
 
11.11.11
11:21
(33) да пробовал и Стр, тоже не работает !!!
36 LivingStar
 
11.11.11
11:23
подскажите а как это удалить????

   Если Не Результат.Пустой() Тогда
       НаборЗаписей = Результат.Выбрать();
       Пока НаборЗаписей.Следующий() Цикл
           НаборЗаписей.Удалить(); - так не работает (((
       КонецЦикла;
   КонецЕсли;


как там нужно?
37 LivingStar
 
11.11.11
11:29
(36) подскажите как нужно? кто знает ?
38 Maxus43
 
11.11.11
11:29
перечитай (28), что не понятно?
39 LivingStar
 
11.11.11
11:30
нужно как то получать записи из регистра для удаления по выборке запроса
40 Maxus43
 
11.11.11
11:31
Если Не Результат.Пустой() Тогда
       НаборЗаписей = Результат.Выбрать();
       Пока НаборЗаписей.Следующий() Цикл
мНабор = РегистрСведений.НДФЛПрименениеВычетов.СоздатьНаборЗаписей()
//Ставим отборы на набор записей            
мНабор.Записать();
      КонецЦикла;
   КонецЕсли;
41 LivingStar
 
11.11.11
11:32
(40) спасибо, пробую!
ранее так не выполнял рпосто никогда...