|
Удалить запись из регистра сведений | ☑ | ||
---|---|---|---|---|
0
Emilio
10.06.12
✎
15:33
|
Делаю обработку записей из регистра сведений, но не могу придумать функцию по удалению. Если кто может подскажите пожалуйста.
на данный момент вот что сделал: Перем мРезЗапроса; //Переменная для результата запроса Процедура ВыполнитьЗапросДляПолученияСпискаОбъектовКУдалению(Элемент) //Запрос поиска штрихкодов в регистре Запрос = Новый Запрос; Запрос.УстановитьПараметр("Артикул",Артикул.Ссылка); Запрос.Текст = "ВЫБРАТЬ |Штрихкоды.Владелец.Ссылка, |Штрихкоды.Штрихкод |ИЗ |РегистрСведений.Штрихкоды КАК Штрихкоды |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура |ПО Штрихкоды.Владелец = Номенклатура.Ссылка |ГДЕ |Штрихкоды.Владелец = &Артикул"; ЭлементыФормы.ТаблицаРезультата.Значение = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТаблицаРезультата.СоздатьКолонки(); // Выгрузка результата запроса ТаблицаРезультата = Запрос.Выполнить().Выгрузить(); КонецПроцедуры // ЗагрузитьРезультат() Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. Предупреждение("Сейчас будут удалены штрихкоды"); КонецПроцедуры Хотелось бы прикрутить удаление к кнопке выполнить. удаление через перезаписывание набора записей не подходит, ругается, что поле обязательно. Подскажите уже всю голову сломал. З.ы. 1с только начал изучать прошу строго не ругаться))) |
|||
1
Zeldan
10.06.12
✎
15:49
|
так заполни обязательное поле...
|
|||
2
Jaffar
10.06.12
✎
15:50
|
"удаление через перезаписывание набора записей не подходит, ругается, что поле обязательно. "
обязательное поле должно быть заполнено. как варинат - сделай фиктивную запись в справочнике и заполняй регистр с ее помощью (хотя тоже нужно проверять, что дубля не было). |
|||
3
Emilio
10.06.12
✎
15:56
|
Вероятно я не правильно процедуру написал, т.к. сейчас попробовал руками очистить запись в поле - она очистилась
|
|||
4
Emilio
10.06.12
✎
15:56
|
т.е. поле не обязательное %)
|
|||
5
Emilio
10.06.12
✎
18:43
|
Сделал так:
Перем мРезЗапроса; //Переменная для результата запроса Перем ШК; Процедура ВыполнитьЗапросДляПолученияСпискаОбъектовКУдалению(Элемент) //Запрос поиска штрихкодов в регистре Запрос = Новый Запрос; Запрос.УстановитьПараметр("Артикул",Артикул.Ссылка); Запрос.Текст = "ВЫБРАТЬ |Штрихкоды.Штрихкод |ИЗ |РегистрСведений.Штрихкоды КАК Штрихкоды |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура |ПО Штрихкоды.Владелец = Номенклатура.Ссылка |ГДЕ |Штрихкоды.Владелец = &Артикул"; ЭлементыФормы.ТаблицаРезультата.Значение = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТаблицаРезультата.СоздатьКолонки(); // Выгрузка результата запроса ТаблицаРезультата = Запрос.Выполнить().Выгрузить(); КонецПроцедуры // ЗагрузитьРезультат() Процедура УдалитьШтрихкоды() //НаборЗаписей = РегистрыСведений.Штрихкоды.Выбрать(); //НаборЗаписей.Загрузить(ТаблицаРезультата); //НаборЗаписей.Записать(); Если ШК = ЭлементыФормы.ТаблицаРезультата.Значение и ШК = РегистрыСведений.ПоРегистратору(РегистрыСведений.Штрихкоды) тогда Для каждого ШК из РегистрыСведений.Штрихкоды Цикл ШК.Удалить(); КонецЦикла; КонецЕсли КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) // Предупреждение Предупреждение("Сейчас будут удалены штрихкоды"); УдалитьШтрихКоды(); КонецПроцедуры теперь ошибки перестали выпадать, но и из регистра не удаляет. Что я не так сделал подскажите? |
|||
6
Emilio
10.06.12
✎
18:52
|
Блин, мозг уже пухнет ((( <_>
|
|||
7
DSSS
10.06.12
✎
18:55
|
||||
8
Emilio
10.06.12
✎
19:09
|
Нет, я только что увидел компьютер и системник называю исключительно процессором.
Спасибо за гениальную помощь. |
|||
9
Jaffar
11.06.12
✎
12:20
|
ШК - переменная модуля? моветон.
чем не подходит очистка набора записей? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |