|
Как программно изменить измерение Регистра сведений | ☑ | ||
---|---|---|---|---|
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) спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |