|
РегистрСведений | ☑ | ||
---|---|---|---|---|
0
TemkaTV
18.02.16
✎
11:09
|
Добрый День.и снова проблемы с регистром сведений.. да много инфы на этот счёт в инете, но чёт не работает у меня. Регистр называется размещение складских ячеек. с измерениями :(Номенклатура,склад, помещение, ячейка) и ресурсом "Основная Ячейка") . Вообще по сути, этот регистр типовой, и там ничего не меняли. Она привязывает номенклатуру в ячейки на складе. дело в том, что на днях у нас новые склады появились, и всю номенклатуру переместили на новые склады. Теперь нужно в этом регистре изменить записи.то бишь ячейки со склада старого перенести в склад новый.
&НаСервере Процедура ПереносСкладскихЯчеек() НаборЗаписейРегистра = РегистрыСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам.СоздатьНаборЗаписей(); НаборЗаписейРегистра.Отбор.Склад.Значение = Объект.Склад; НаборЗаписейРегистра.Прочитать(); Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл ЗаписьРегистра.Склад = Объект.СкладЗаписи; КонецЦикла; НаборЗаписейРегистра.Записать(); КонецПроцедуры; Где Склад и складЗаписи = Ссылки на справочник Склады (добавлены как реквизиты в обработку) |
|||
1
TemkaTV
18.02.16
✎
11:09
|
и да пишу в модуле формы.
|
|||
2
Остап Сулейманович
18.02.16
✎
11:10
|
(0) Ну да. И что?
|
|||
3
Лефмихалыч
18.02.16
✎
11:12
|
и проблема-то в чем?
|
|||
4
TemkaTV
18.02.16
✎
11:13
|
(2) При запуске обработки - ссылается на ошибку, что та или иная номенклатура находится в 2 ячейках
|
|||
5
TemkaTV
18.02.16
✎
11:15
|
И еще вопрос, как произвести следующее. меняю я допустим руками склад открыв регистр руками со старого на новый у номенклатуры. поменял. Ячейка пропала, как ее сохранить при этом? также отбор по ячейкам добавить?
|
|||
6
Лефмихалыч
18.02.16
✎
11:16
|
отбор не установлен, ты весь регистр обрабатываешь, а не только один склад.
НаборЗаписейРегистра.Отбор.Склад.Установить(Объект.Склад); или НаборЗаписейРегистра.Отбор.Склад.Значение = Объект.Склад; НаборЗаписейРегистра.Отбор.Склад.Использование = истина; |
|||
7
Лефмихалыч
18.02.16
✎
11:17
|
(5) она не пропала, строка перестала соответствовать отбору просто.
|
|||
8
Остап Сулейманович
18.02.16
✎
11:18
|
(4) Это не проблема регистра.
(5) Ячейка не переезжает в новый склад. Там свои ячейки. Выбрали другой склад - ячейка (от прежнего) очистилась. Как бы намекая, что нужно указать ячейку, расположенную на новом складе. |
|||
9
TemkaTV
18.02.16
✎
11:20
|
(8) а можно при всем этом ее сохранить? поменяв только склад. Может сначала перенести все ячейки со старого склада на новый? Стандартной обработкой "Групповое изменение реквизитов"?
|
|||
10
Лефмихалыч
18.02.16
✎
11:28
|
(9) она и так сохраняется
|
|||
11
TemkaTV
18.02.16
✎
11:31
|
(10) да, но на старом складе.
|
|||
12
hhhh
18.02.16
✎
12:13
|
(11) так не будет работать, как вам хочется. Делайте два раза запись. По одному складу, потом по другому складу.
Типа так НаборЗаписейРегистра = РегистрыСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам.СоздатьНаборЗаписей(); НаборЗаписейРегистра.Отбор.Склад.Установить(Объект.Склад); НаборЗаписейРегистра.Прочитать(); ТЗ = НаборЗаписейРегистра.Выгрузить(); НаборЗаписейРегистра.Очистить(); НаборЗаписейРегистра.Записать(); ТЗ.ЗаполнитьЗначения(Объект.СкладЗаписи, "Склад"); НаборЗаписейРегистра.Отбор.Склад.Установить(Объект.СкладЗаписи); НаборЗаписейРегистра.Загрузить(ТЗ); НаборЗаписейРегистра.Записать(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |