|   |   | 
| 
 | Удаление нескольких записей из регистра сведений | ☑ | ||
|---|---|---|---|---|
| 0
    
        Web00001 06.09.13✎ 19:24 | 
        Доброго всем времени суток. Необходимо из непериодического регистра сведений удалить несколько записей, а оставить одну. Хотелось бы просто записать набор с установленным отбором и одной записью. Но 1С возражает что так не пойдет и такая запись уже есть. Конечно есть! И я с ней согласен. Но по идее она должна старый набор заменить заменить новым, а этого не происходит. Конечно можно очистить набор и добавить запись в уже чистый набор, но не хотелось бы записывать набор два раза.
 Процедура УдалитьВсеКромеУказанного(НужныйКод, НужныйВладелец) НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Штрихкод.Установить(НужныйКод); НоваяЗаписьНабора = НаборЗаписей.Добавить(); НоваяЗаписьНабора.Владелец = НужныйВладелец; НоваяЗаписьНабора.ЕдиницаИзмерения = НужныйВладелец.ЕдиницаХраненияОстатков; НоваяЗаписьНабора.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; НоваяЗаписьНабора.Штрихкод = НужныйКод; НоваяЗаписьНабора.Качество = Справочники.Качество.Новый; НаборЗаписей.Записать(); КонецПроцедуры | |||
| 1
    
        Живой Ископаемый 06.09.13✎ 19:27 | 
        выгрузи в тз, удали там строки, добавь одну, загрузи тз в набор, запиши, ???, получм профит     | |||
| 2
    
        ale-sarin 06.09.13✎ 19:28 | 
        (0) У набора записей можно удалять записи
 А также есть МенеджерЗаписи | |||
| 3
    
        Web00001 06.09.13✎ 19:33 | 
        (2)Так точно не надо делать     | |||
| 4
    
        Web00001 06.09.13✎ 19:34 | 
        (1)Как вариант, надо попробовать.     | |||
| 5
    
        ale-sarin 06.09.13✎ 19:35 | 
        (3) Как не надо делать?     | |||
| 6
    
        Пират 06.09.13✎ 19:35 | 
        Який хлопчик неопытный     | |||
| 7
    
        Web00001 06.09.13✎ 19:36 | 
        Делать запись в базу столько раз, сколько лишних записей в регистре.     | |||
| 8
    
        Web00001 06.09.13✎ 19:37 | 
        (7) к (5)
 (6) Особенно твой коментарий был самым нужным. | |||
| 9
    
        ЧашкаЧая 06.09.13✎ 19:37 | 
        Нужно очистить записи по определенному штирхкоду?
 НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Штрихкод.Установить(НужныйКод); НаборЗаписей.Записать(); | |||
| 10
    
        Fragster модератор 06.09.13✎ 19:38 | 
        (7) тут все зависит от того, какие галочки у измерения стоят     | |||
| 11
    
        Web00001 06.09.13✎ 19:39 | 
        (9) нет :) Нужно удалить все записи кроме одной одной записью в регистр.     | |||
| 12
    
        ale-sarin 06.09.13✎ 19:39 | 
        (7) Зависит от примера.
 Удаление записей из набора, а потом его запись - это один раз. А через ТЗ, тоже самое, только дольше. | |||
| 13
    
        ЧашкаЧая 06.09.13✎ 19:43 | 
        (11) Имхо, одной записью не получится (если нужно удалить разные наборы измерений). Предлагаю сначала очистить, а потом добавить одну запись.
 НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); Запись = НаборЗаписей.Добавить(); ... НаборЗаписей.Записать(); | |||
| 14
    
        Web00001 06.09.13✎ 19:49 | 
        (10)
 Штрихкод - Основной отбор Владелец - Все галки стоят (12) ты имеешь ввиду вот так? Процедура УдалитьВсеКромеУказанного(НужныйКод, НужныйВладелец) НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Штрихкод.Установить(НужныйКод); НаборЗаписей.Прочитать(); Для Каждого ЗаписьНабора Из НаборЗаписей Цикл Если ЗаписьНабора.Владелец = НужныйВладелец Тогда Продолжить; КонецЕсли; НаборЗаписей.Удалить(ЗаписьНабора); КонецЦикла; НаборЗаписей.Записать(); КонецПроцедуры | |||
| 15
    
        Fragster модератор 06.09.13✎ 19:52 | 
        (14) ну вставь в ПередЗаписью Сообщить("Гыгыгы") и удивись
 при записи набора с отбором по ШК, в котором несколько строк | |||
| 16
    
        Web00001 06.09.13✎ 19:52 | 
        (13)С предварительной очисткой регистра по отбору, то конечно все и так понятно. Хотелось бы как то поинтереснее.     | |||
| 17
    
        Web00001 06.09.13✎ 19:59 | 
        (15)Специально сделал 10 записей с одним штрихкодом и запустил вот такой код: 
 Процедура УдалитьВсеКромеУказанного(НужныйКод, НужныйВладелец) НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Штрихкод.Установить(НужныйКод); НаборЗаписей.Записать(); НоваяЗаписьНабора = НаборЗаписей.Добавить(); НоваяЗаписьНабора.Владелец = НужныйВладелец; НоваяЗаписьНабора.ЕдиницаИзмерения = НужныйВладелец.ЕдиницаХраненияОстатков; НоваяЗаписьНабора.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; НоваяЗаписьНабора.Штрихкод = НужныйКод; НоваяЗаписьНабора.Качество = Справочники.Качество.Новый; НаборЗаписей.Записать(); КонецПроцедуры Отработало 2 раза. Юмор не догнал. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |