![]() |
![]() |
![]() |
|
Как правильно зарегистрировать изменения набора записей регистра сведений | ☑ | ||
---|---|---|---|---|
0
Rom
23.09.04
✎
15:09
|
Следующий фрагмент кода вызывает ошибку:
Набор = РегистрыСведений.КомплектующиеНоменклатуры.СоздатьНаборЗаписей(); Набор.Отбор.Номенклатура.Значение = Товар.Номенклатура; Набор.Отбор.Номенклатура.Использование = Истина; Набор.Прочитать(); ПланыОбмена.ЗарегистрироватьИзменения(Узел, Набор); // Ошибка: "Недопустимое значение параметра (параметр номер "2")" Как правильно? |
|||
1
Волшебник
23.09.04
✎
15:11
|
Набор.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;
... Набор.Прочитать(); Набор.Записать(); //при авторегистрации |
|||
2
Rom
23.09.04
✎
15:12
|
Авторегистрация запрещена.
|
|||
3
Rom
23.09.04
✎
15:19
|
Включил авторегистрацию, добавил
Набор.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно; ... Набор.Прочитать(); Результат тот же - Ошибка: "Недопустимое значение параметра (параметр номер "2")" |
|||
4
Волшебник
23.09.04
✎
15:23
|
Этот регистр входит в состав плана обмена? Точно?
|
|||
5
Rom
23.09.04
✎
15:24
|
Точно. Если записать:
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Набор.Метаданные()); - то регистрация происходит, но для всех записей регистра, без отбора. Но меня это не устраивает! |
|||
6
Rom
23.09.04
✎
15:30
|
Примечание. Регистр сведений непериодический, режим записи - независимый.
|
|||
7
Rom
23.09.04
✎
15:38
|
Может быть это ошибка платформы?
|
|||
8
Волшебник
23.09.04
✎
15:39
|
(7) Сомневаюсь. Я бы разобрался, но пока немного занят. Если только вечером.
|
|||
9
Rom
23.09.04
✎
15:40
|
Спасибо
|
|||
10
Волшебник
23.09.04
✎
20:57
|
Если авторегистрация разрешена, то самому регистрировать изменения не нужно - это сделает платформа автоматически.
|
|||
11
Rom
24.09.04
✎
09:24
|
В том-то и дело, что авторегистрация не нужна. Мне необходимо зарегистрировать лишь отдельные записи регистра.
|
|||
12
Rom
24.09.04
✎
10:46
|
Разобрался.
1. Сначала делаем выборку из регистра сведений по заданному отбору 2. Затем разбираем результат выборки и создаем набор записей регистра. В наборе обязательно устанавливаем значения основного отбора (все измерения регистра). Свойство Использовать = Истина. Только теперь удасться зарегистрировать изменения заданного набора записей из непериодического регистра сведений с независимым режимом записи и с запрещенной авторегистрацией. Фрагмент кода: Отбор = Новый Структура("Номенклатура", Товар.Номенклатура); Выборка = РегистрыСведений.КомплектующиеНоменклатуры.Выбрать(Отбор); Пока Выборка.Следующий() Цикл Набор = РегистрыСведений.КомплектующиеНоменклатуры.СоздатьНаборЗаписей(); Набор.Отбор.Номенклатура.Установить(Выборка.Номенклатура, Истина); Набор.Отбор.ТоварТара.Установить(Перечисления.ТоварТара.Товар, Истина); Набор.Отбор.ХарактеристикаНоменклатуры.Установить(Выборка.ХарактеристикаНоменклатуры, Истина); Набор.Отбор.Комплектующая.Установить(Выборка.Комплектующая, Истина); Набор.Отбор.ХарактеристикаКомплектующей.Установить(Выборка.ХарактеристикаКомплектующей, Истина); Набор.Прочитать(); ПланыОбмена.ЗарегистрироватьИзменения(Узел, Набор); КонецЦикла; |
|||
13
Волшебник
24.09.04
✎
10:51
|
Ты с какой конфигурацией работаешь? УТ?
|
|||
14
Rom
24.09.04
✎
11:56
|
УТ, 11 релиз
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |