|   |   | 
| 
 | Как программно изменить измерение Регистра сведений | ☑ | ||
|---|---|---|---|---|
| 0
    
        idw 08.11.23✎ 11:32 | 
        Собственно надо программно изменить измерение независимого не периодического Регистра сведений Штрихкоды.
 Вот код: НовыйНаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); Пока Выборка.Следующий() Цикл НовыйНаборЗаписей.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НовыйНаборЗаписей.Записать(Истина); НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить(); НоваяЗаписьНабора.Номенклатура = Выборка.Номенклатура; НоваяЗаписьНабора.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения; НоваяЗаписьНабора.Штрихкод = Выборка.Штрихкод; КонецЦикла; НовыйНаборЗаписей.Записать(Истина); Выдает ошибку: Запись не верна! Значение поля не соответствует установленному отбору: | |||
| 1
    
        mikecool 08.11.23✎ 11:33 | 
        два набора с разными отборами     | |||
| 2
    
        mikecool 08.11.23✎ 11:34 | 
        либо у набора меняешь отбор     | |||
| 3
    
        idw 08.11.23✎ 11:38 | 
        (1) делаю так:
 НовыйНаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); Пока Выборка.Следующий() Цикл НовыйНаборЗаписей.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НовыйНаборЗаписей.Записать(Истина); НовыйНаборЗаписей.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить(); НоваяЗаписьНабора.Номенклатура = Выборка.Номенклатура; НоваяЗаписьНабора.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения; НоваяЗаписьНабора.Штрихкод = Выборка.Штрихкод; КонецЦикла; НовыйНаборЗаписей.Записать(Истина); Та же ошибка. | |||
| 4
    
        KJlag 08.11.23✎ 11:45 | ||||
| 5
    
        rphosts 08.11.23✎ 12:04 | 
        (3) тебе-же написали что 2 набора (в первом удалил не нужное, во втором записал новое)!
 и да, код с твоим циклом - содержит алгоритмическую ошибку, даже если не было-бы ошибки ран-тайма в топку этот код! | |||
| 6
    
        Жан Пердежон 08.11.23✎ 14:47 | 
        (1) (3) это пздц, а не код     | |||
| 7
    
        СвинТуз 08.11.23✎ 16:12 | 
        это бот ? )))     | |||
| 8
    
        yopQua 08.11.23✎ 16:40 | 
        (0) гм.. набор.записать() поставить внутри цикла?     | |||
| 9
    
        majkk 08.11.23✎ 16:43 | 
        (0) Удалить старую запись. Ввести новую. Иначе никак     | |||
| 10
    
        yopQua 08.11.23✎ 16:52 | 
        но в целом как в (6)     | |||
| 11
    
        idw 09.11.23✎ 10:22 | 
        Так правильно? 
 Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НаборЗаписей.Прочитать(); ВременнаяТаблица = НаборЗаписей.Выгрузить(); ВременнаяТаблица.ЗаполнитьЗначения(Выборка.ЕдиницаИзмерения, "ЕдиницаИзмерения"); НовыйНабор = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); НовыйНабор.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НовыйНабор.Загрузить(ВременнаяТаблица); НаборЗаписей.Очистить(); НаборЗаписей.Записать(); НовыйНабор.Записать(); КонецЦикла; Прохожусь по регистру сведений запросом и ставлю единицу измерения. | |||
| 12
    
        СвинТуз 09.11.23✎ 12:19 | 
        (11)
 Дименция во сколько начинается? После 16 лет такой великолепный код ))) Кто наши аккаунты взламывает? Какие боты? | |||
| 13
    
        Смотрящий 09.11.23✎ 12:37 | 
        (12) передали по наследству акк скорее всего     | |||
| 14
    
        Волшебник 09.11.23✎ 12:40 | 
        (11) Добавьте транзакцию     | |||
| 15
    
        AlexeyKh 09.11.23✎ 12:47 | 
        (11) и добавьте сохранение в файл! (обязательно, можно выгрузку в Ексель)     | |||
| 16
    
        Волшебник 09.11.23✎ 12:47 | 
        (15) Лучше сначала сделать бэкап всей базы     | |||
| 17
    
        idw 09.11.23✎ 16:16 | 
        (14)(16) спасибо.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |