|
удалить запись из регистра сведений | ☑ | ||
---|---|---|---|---|
0
prishliemail
27.03.14
✎
16:19
|
Добрый день!
У меня есть периодический регистр сведений, подчиненный регистратуору. Необходимо удалить одну запись из регистра. Видимо что-то делаю не так, потому что в регистре записи не удаляются. НаборЗаписей = РегистрыСведений.Номенклатура.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Документ); НаборЗаписей.Прочитать(); Для Каждого ТекСтрока Из НаборЗаписей Цикл Если ТекСтрока.Номенклатура = ИсхНоменклатура Тогда Индекс= ТекСтрока.НомерСтроки-1; НаборЗаписей.Удалить(Индекс); КонецЕсли; КонецЦикла; Заранее спасибо |
|||
1
ДенисЧ
27.03.14
✎
16:21
|
ЗАписать() где?
|
|||
2
agarych
27.03.14
✎
16:21
|
записать нужно.
|
|||
3
Михаил Козлов
27.03.14
✎
16:22
|
1. Лучше перебирать с конца или удаляемые строки добавлять в массив.
2. Индекс не нужен 3. Проверить есть ли запись набора. |
|||
4
GROOVY
27.03.14
✎
16:22
|
(1) Да вы чего, нужно же УДАЛИТЬ аниЗАПИСАТЬ!
|
|||
5
Господин ПЖ
27.03.14
✎
16:25
|
груви больше не наливать
|
|||
6
GROOVY
27.03.14
✎
16:25
|
:)
|
|||
7
ДенисЧ
27.03.14
✎
16:26
|
(5) А больше и не наливают. Ровно столько же, сколько и в прошлый раз...
|
|||
8
prishliemail
27.03.14
✎
16:30
|
(1) После того как Удаляю нужно записать? Или вместо?
Я уже просто как только не пробовала, запись все равно не удаляется. Точнее если смотреть отладчиком, то она исчезает из НабораЗаписей, но видимо из-за того что я не так записываю, она возвращается. |
|||
9
х86
27.03.14
✎
16:33
|
(0)записать пустой набор, с отбором естественно )
|
|||
10
Timon1405
27.03.14
✎
16:33
|
Поиграть в игру "Найди красную букву Я" на страничке уже предлагали?
|
|||
11
х86
27.03.14
✎
16:35
|
как-то так
НаборЗаписей = РегистрыСведений.Номенклатура.СоздатьНаборЗаписей();
|
|||
12
prishliemail
27.03.14
✎
16:38
|
(11) Разве Очистить() не удалит мне все записи по этому регистратору?
Мне нужно, чтоб по регистратору была удалена всего одна записи, где номенклатура нужная |
|||
13
х86
27.03.14
✎
16:43
|
(12)сорри, не дочитал что одну запись )
|
|||
14
prishliemail
27.03.14
✎
16:48
|
Добавила Записать(), но это не помогло
НаборЗаписей = РегистрыСведений.Номенклатура.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Документ); НаборЗаписей.Прочитать(); Для Каждого ТекСтрока Из НаборЗаписей Цикл Если ТекСтрока.Номенклатура = ИсхНоменклатура Тогда Индекс= ТекСтрока.НомерСтроки-1; НаборЗаписей.Удалить(Индекс); КонецЕсли; КонецЦикла; НаборЗаписей.Записать(); |
|||
15
Timon1405
27.03.14
✎
16:56
|
РегистрСведенийВыборка.<Имя регистра сведений>.ПолучитьМенеджерЗаписи (InformationRegisterSelection.<Имя регистра сведений>.GetRecordManager)
РегистрСведенийВыборка.<Имя регистра сведений> (InformationRegisterSelection.<Имя регистра сведений>) ПолучитьМенеджерЗаписи (GetRecordManager) Синтаксис: ПолучитьМенеджерЗаписи() Возвращаемое значение: Тип: РегистрСведенийМенеджерЗаписи. Описание: Получает объект для чтения, изменения, добавления и удаления записи регистра сведений, на которой в данный момент спозиционирована выборка. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Полученный объект не является выбранным (метод Выбран возвратит Ложь). Для внесения изменений в полученную запись необходимо для этой записи сначала выполнить метод Прочитать. Пример: Процедура КоманднаяПанельВыполнить(Кнопка) Рег = РегистрыСведений.ЗначенияПравПользователя; Выборка = Рег.Выбрать(); Пока Выборка.Следующий() Цикл Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЦикла; Строк = ЭлементыФормы.ТабличноеПоле1.Значение.Количество(); Для Номер = 0 По Строк-1 Цикл Строка = ЭлементыФормы.ТабличноеПоле1.Значение.Получить(Номер); Элемент = Рег.СоздатьМенеджерЗаписи(); Элемент.НаборПрав = Строка.НаборПрав; Элемент.Право = Строка.Право; Элемент.Значение = Строка.Значение; Элемент.Записать(); КонецЦикла; КонецПроцедуры оно? |
|||
16
GROOVY
27.03.14
✎
16:57
|
(11) зачем читать записи?
|
|||
17
х86
27.03.14
✎
17:23
|
(16)согласен, вычеркиваем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |