Вход | Регистрация
 

Удаление записи регистра сведений

Удаление записи регистра сведений
Я
   NIGHTHUNTER
 
06.08.21 - 12:24
Подскажите пожалуйста. Имея запись регистра сведений, как ее удалить?

   ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.АналитикаУчетаПопартнерам") Тогда
   NIGHTHUNTER
 
1 - 06.08.21 - 12:25
(0) Посмотрел, этот регистр сведений непериодический, не зависимый.
   ДенисЧ
 
2 - 06.08.21 - 12:27
Создать менеджер записи, заполнить ключевые поля, прочитать, если выбран() тогда удалить()
   NIGHTHUNTER
 
3 - 06.08.21 - 12:35
Учитывая что регистр такой

http://joxi.ru/4AkXZOaH0obG5r

Как правильно будет сделать удаление?

(2) Через менеджер записи? Не через набор записей?

Имея только Партнера.
   mikecool
 
4 - 06.08.21 - 12:36
Запись.Удалить()
   mikecool
 
5 - 06.08.21 - 12:36
автор, когда ты уже СП читать будешь?
   NIGHTHUNTER
 
6 - 06.08.21 - 12:37
Запись = РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьМенеджерЗаписи();
    Запись.Партнер = Партнер;
    Запись.Удалить();

Будет ли это правильно? учитывая что для удаления есть только партнер?
   NIGHTHUNTER
 
7 - 06.08.21 - 12:38
Набор = РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьНаборЗаписей();
    Набор.Отбор.Партнер.Установить(Партнер);
    Набор.Записать();

Как лучше? Так, или (6) ?

Подскажите пожалуйста.
   mikecool
 
8 - 06.08.21 - 12:38
(6) попробуй, потом нам расскажешь
   Dmitrii
 
9 - 06.08.21 - 12:38
(3) Что значит "имея только Партнёра"? У тебя КлючЗаписи. Он содержи все необходимые поля.


В СП:
Описание:
РегистрСведенийКлючЗаписи
Набор значений, однозначно идентифицирующих запись регистра.
   ДенисЧ
 
10 - 06.08.21 - 12:40
не.. Ну вроде по шагам всё написал...
(5) А смысл? Он всё равно не поймёт... А денег на курс по обучению чтению у него нет
   NIGHTHUNTER
 
11 - 06.08.21 - 12:47
(9) Ну все нужно удалить что есть по этому партнеру, имея только его не достаточно это?
   NIGHTHUNTER
 
12 - 06.08.21 - 12:54
(9) Да в Элем.Данные, есть ещё организация .

ну тогда так?

Запись = РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьМенеджерЗаписи();
    Запись.Партнер = Партнер;
    Запись.Организация = Организация;
    Запись.Удалить();
   NIGHTHUNTER
 
13 - 06.08.21 - 12:55
Как будет лучше? Правильнее, (12), или так?


Набор = РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьНаборЗаписей();
    Набор.Отбор.Организация.Установить(Организация);
    Набор.Отбор.Партнер.Установить(Партнер);
    Набор.Записать();
   NIGHTHUNTER
 
14 - 06.08.21 - 14:21
Почему может не удаляться запись в регистре.
По коду проходит. останавливаю отладку. запускаю. Эта запись осталась. почему не удаляется?

                    Запись                 = РегистрыСведений.ГруппыЗначенийДоступа.СоздатьМенеджерЗаписи();
                    Запись.ЗначениеДоступа = Элем.Ссылка;
                    Запись.Удалить();
   NIGHTHUNTER
 
15 - 06.08.21 - 14:27
(14) Не уходит эта запись, почему?
   NIGHTHUNTER
 
16 - 06.08.21 - 14:32
Подскажите пожалуйста. почему не могу программно удалить запись регистра сведений? Так же есть некоторые другие.

                    Запись         = РегистрыСведений.ИерархияПартнеров.СоздатьМенеджерЗаписи();
                    Запись.Партнер = Элем.Ссылка;
                    Запись.Удалить();                    



                    Запись         = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьМенеджерЗаписи();
                    Запись.УникальныйИдентификаторИсточника = Элем.Ссылка;
                    Запись.Удалить();
   NIGHTHUNTER
 
17 - 06.08.21 - 14:35
РегистрСведений.ГруппаЗначенийДоступа

ЗначениеДоступа - тип ОпределяемыйТип.ЗначениеДоступа

Как мне его установить на партнера?
   NIGHTHUNTER
 
18 - 06.08.21 - 14:47
вроде и так устанавливается, но почему запись не удаляется? Кто знает?
   Ёпрст
 
19 - 06.08.21 - 14:51
(17) посмотреть вестимо, что входит в состав определяемого типа, если там есть справочник нужного вида, то просто уставноить нужную ссылку на элемент справочника
   NIGHTHUNTER
 
20 - 06.08.21 - 14:54
(19) Входит!!!! Все входит. Но запись не могу программно очистить. Подскажите в чем дело? Как попробовать?

Вот по этим регистрам. по коду проходит. Но запись остаются ((9 Что я не так делаю?

http://joxi.ru/EA40apjUvoqaQA
   NIGHTHUNTER
 
21 - 06.08.21 - 14:55
ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.ГруппыЗначенийДоступа") Тогда
                    // РегистСведений.ГруппыЗначенийДоступа (Не периодический, не зависимый)

                    Запись                 = РегистрыСведений.ГруппыЗначенийДоступа.СоздатьМенеджерЗаписи();
                    Запись.ЗначениеДоступа = Элем.Ссылка;
                    Запись.ГруппаДанных    = Элем.Данные.ГруппаДанных;
                    Запись.Удалить();                    
                ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.ИерархияПартнеров") Тогда
                    // РегистрСведений.ИерархияПартнеров (Не периодический, не зависимый)

                    Запись          = РегистрыСведений.ИерархияПартнеров.СоздатьМенеджерЗаписи();
                    Запись.Партнер  = Элем.Ссылка;
                    Запись.Родитель = Элем.Ссылка;
                    Запись.Удалить();                    
                ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.КлючиДоступаКОбъектам") Тогда
                    // РегистрСведений.КлючиДоступаКОбъектам (Не периодический, не зависимый)

                    Запись        = РегистрыСведений.КлючиДоступаКОбъектам.СоздатьМенеджерЗаписи();
                    Запись.Объект = Элем.Ссылка;
                    Запись.Удалить();                    
                ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.ПартнерыСегмента") Тогда
                    // РегистрСведений.ПартнерыСегмента (Не периодический, не зависимый)

                    Запись         = РегистрыСведений.ПартнерыСегмента.СоздатьМенеджерЗаписи();
                    Запись.Партнер = Элем.Ссылка;
                    Запись.Сегмент = Элем.Данные.Сегмент;
                    Запись.Удалить();                    
                ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.СоответствияОбъектовИнформационныхБаз") Тогда
                    // РегистрСведений.СоответствияОбъектовИнформационныхБаз (Не периодический, не зависимый)

                    Запись         = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьМенеджерЗаписи();
                    Запись.УникальныйИдентификаторИсточника = Элем.Ссылка;
                    Запись.Удалить();                    
                КонецЕсли;
                //


Почему не удаляются записи? http://joxi.ru/EA40apjUvoqaQA
   brainguard
 
22 - 06.08.21 - 14:57
(21) Чтобы удалить запись, ее надо сначала прочитать. Разработчики платформы любят пошутить )))
   rozer76
 
23 - 06.08.21 - 15:05
МенеджерЗаписиОчередьПроведенияОрдеровМобиСклад = РегистрыСведений.вртОчередьПроведенияОрдеровМобиСклад.СоздатьМенеджерЗаписи();
        ЗаполнитьЗначенияСвойств(МенеджерЗаписиОчередьПроведенияОрдеровМобиСклад, ВыборкаДетальныеЗаписи);
        МенеджерЗаписиОчередьПроведенияОрдеровМобиСклад.Прочитать();
        Если МенеджерЗаписиОчередьПроведенияОрдеровМобиСклад.Выбран() Тогда
                МенеджерЗаписиОчередьПроведенияОрдеровМобиСклад.Удалить();
        КонецЕсли;
   Ёпрст
 
24 - 06.08.21 - 15:07
ЗЫ: если удалять через набор, то читать не надо
   Ёпрст
 
25 - 06.08.21 - 15:07
токма отбор нужный наложить, а то можно похериьт лишнего или всё.
   NIGHTHUNTER
 
26 - 06.08.21 - 15:09
Я это брал с примера на сайте. То есть он не рабочий что ли?

Процедура ОчиститьЗаписиВНезависимомРегистреСведенийСОтбором(Валюта, БазоваяВалюта)
    Запись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
    Запись.Валюта = Валюта;
    Запись.БазоваяВалюта = БазоваяВалюта;
    Запись.Удалить();
КонецПроцедуры
   NIGHTHUNTER
 
27 - 06.08.21 - 15:09
(25) Отбор у меня партнер
   rozer76
 
28 - 06.08.21 - 15:10
(26) нет
   rozer76
 
29 - 06.08.21 - 15:11
читай запись если через менеджер или через набор не читай но накладывай отбор - см (25)
   NIGHTHUNTER
 
30 - 06.08.21 - 15:36
(29) Буду пробовать!

Но а отбор у меня же вот

// РегистСведений.ГруппыЗначенийДоступа (Не периодический, не зависимый)


                    Запись                 = РегистрыСведений.ГруппыЗначенийДоступа.СоздатьМенеджерЗаписи();
                    Запись.ЗначениеДоступа = Элем.Ссылка;
                    Запись.ГруппаДанных    = Элем.Данные.ГруппаДанных;
                    Запись.Удалить();                    

Это справочник партнеры, его и нужно удалить! Так что нормальный отбор. Буду сейчас тогда пробовать ещё, если (28)
 
 
   NIGHTHUNTER
 
31 - 06.08.21 - 15:36
(30+)

Запись.ГруппаДанных    = Элем.Данные.ГруппаДанных;

Это справочник партнеры
   vicof
 
32 - 06.08.21 - 15:37
(30) Рукалицо.
   vicof
 
33 - 06.08.21 - 15:38
Менеджер записи не будет работать если нет отбора по всем измерениям для определения конкретной записи.
   NIGHTHUNTER
 
34 - 06.08.21 - 15:43
(33) Ясно. Видимо в этом причина. Хотя я все накладываю что нужно.

Лучше НаборЗаписей значит пробовать?
   Малыш Джон
 
35 - 06.08.21 - 15:45
(34) хмм, ну попробуй... потом впечатлениями поделишься
   vicof
 
36 - 06.08.21 - 15:45
Не только пробовать, но и прочитать, ветку, помощь и наборзаписей.
   NIGHTHUNTER
 
37 - 06.08.21 - 17:46
Не был выбран, не прошло вот это присвоение МенеджерЗаписи.ЗначениеДоступа = Элем.Ссылка; Почему?
В Определяемом типе ЗначеинеДоступа, есть партнеры , а Элем.Ссылка это элемент справочника партнеры !!!


                    МенеджерЗаписи = РегистрыСведений.ГруппыЗначенийДоступа.СоздатьМенеджерЗаписи();
                    МенеджерЗаписи.ЗначениеДоступа = Элем.Ссылка;
                    МенеджерЗаписи.Прочитать();
                    Если МенеджерЗаписи.Выбран() Тогда
                        МенеджерЗаписи.Удалить(); 
                    КонецЕсли;
   hhhh
 
38 - 06.08.21 - 18:01
(37) ЗначениеДоступа это точно измерение? И других измерений нет?
   NIGHTHUNTER
 
39 - 06.08.21 - 18:10
(38)

http://joxi.ru/52aWJQEugEnODr

А другие важны? Они не существенны.
   NIGHTHUNTER
 
40 - 06.08.21 - 18:12
Так можно пробовать?
НаборЗаписей = РегистрыСведений.ГруппыЗначенийДоступа.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ЗначениеДоступа.Установить(Элем.Ссылка);
НаборЗаписей.Записать();
   Anton1307
 
41 - 06.08.21 - 18:26
Вариант 1 - через РегистрСведенийЗапись.
В этом случае надо устанавливать значения ВСЕХ измерений (и период, если периодический), для однозначного идентифицирования записи.
Удалить таким образом можно ТОЛЬКО ОДНУ запись.
Запись = РегистрыСведений.ИмяРегистраСведений.СоздатьМенеджерЗаписи();
Запись.Измерение1 = ЗначениеИзмерения1;
Запись.Измерение2 = ЗначениеИзмерения2;
...
Запись.Измерение5 = ЗначениеИзмерения5;
Запись.Удалить();

Вариант 2 - через РегистрСведенийНаборЗаписей();
В этом случае можно удалятся записи, соответствующие отбору.
Если надо удалить одну запись - необходимо установить отборы, соответствующие этой и только этой записи (в идеале - установить отборы на все измерения).
Удалятся все записи, соответствующие отбору.
НаборЗаписей = РегистрыСведений.ИмяРегистраСведений.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Измерение1.Установить(ЗначениеИзмерения1);
НаборЗаписей.Отбор.Измерение2.Установить(ЗначениеИзмерения2);
НаборЗаписей.Записать();

В этом примере удалятся все записи, где Измерение1 = ЗначениеИзмерения1 и Измерение2 = ЗначениеИзмерения2
   hhhh
 
42 - 06.08.21 - 18:27
(40) попробуйте
НаборЗаписей.ОбменДанными.Загрузка = Истина;
   Chameleon1980
 
43 - 06.08.21 - 19:13
время идёт (много идёт), а человек не меняется
автор ты кто в жизни вообще?
   NIGHTHUNTER
 
44 - 07.08.21 - 03:24
(41) Спасибо. Буду пробовать. Дело в том что для меня не явно какие измерения нужно задавать!
Я задал значимое. остальных вроде как и нет, они и не нужны. По этому затык.
По такой же технике. какие то регистры же очистились. А вот с некоторыми пошла проблема.
   NIGHTHUNTER
 
45 - 07.08.21 - 03:25
(43) Программист 1с, я в жизни вообще. И он, только.
Мало практики работы с регистрами. Да ещё с незнакомыми.
Буду сейчас стараться.
   NIGHTHUNTER
 
46 - 07.08.21 - 03:52
(41) В первом варианте нужно ещё прочитать, проверить выбрана ли запись.


Список тем форума
 
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.