Регистрация изменений в узле для набора записей
Платформа 8.3.4.465
Исходные данные:
Есть независимый регистр сведений с 4 измерениями, для каждого измерения установлен основной отбор.
План обмена, авторегистрация для регистра сведений отключена.
Проблема:
С помощью кода ниже изменения не регистрируются.
Исходные данные:
Есть независимый регистр сведений с 4 измерениями, для каждого измерения установлен основной отбор.
План обмена, авторегистрация для регистра сведений отключена.
Проблема:
С помощью кода ниже изменения не регистрируются.
НаборЗаписей = РегистрСведений.<Имя>.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.<ИмяИзмерения1>.Установить(Значение1);
НаборЗаписей.Отбор.<ИмяИзмерения2>.Установить(Значение2);
НаборЗаписей.Отбор.<ИмяИзмерения3>.Установить(Значение3);
НаборЗаписей.Отбор.<ИмяИзмерения4>.Установить(Значение4);
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, НаборЗаписей);
По теме из базы знаний
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Удаленное администрирование пользователей распределенной информационной базы «1С: Розница»
- Сохранение и восстановление регистрации изменений
- Размышления о регистрации изменений в обмен
- Планы обмена 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
вот рабочий фрагмент кода с другого форума:
Фрагмент кода:
Фрагмент кода:
Отбор = Новый Структура("Номенклатура", Товар.Номенклатура);
Выборка = РегистрыСведений.КомплектующиеНоменклатуры.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
Набор = РегистрыСведений.КомплектующиеНоменклатуры.СоздатьНаборЗаписей();
Набор.Отбор.Номенклатура.Установить(Выборка.Номенклатура, Истина);
Набор.Отбор.ТоварТара.Установить(Перечисления.ТоварТара.Товар, Истина);
Набор.Отбор.ХарактеристикаНоменклатуры.Установить(Выборка.ХарактеристикаНоменклатуры, Истина);
Набор.Отбор.Комплектующая.Установить(Выборка.Комплектующая, Истина);
Набор.Отбор.ХарактеристикаКомплектующей.Установить(Выборка.ХарактеристикаКомплектующей, Истина);
Набор.Прочитать();
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Набор);
КонецЦикла;
Показать
Лучше поздно, чем никогда.
https://its.1c.ru/db/metod8dev#content:2267:hdoc
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| КомплектующиеНоменклатуры.Номенклатура,
| КомплектующиеНоменклатуры.ХарактеристикаНоменклатуры
|ИЗ
| РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры";
Выборка = Запрос.Выполнить().Выбрать();
Набор = РегистрыСведений.КомплектующиеНоменклатуры.СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
Набор.Отбор.Номенклатура.Значение = Выборка.Номенклатура;
Набор.Отбор.Номенклатура.Использование = Истина;
Набор.Отбор.ХарактеристикаНоменклатуры.Значение = Выборка.ХарактеристикаНоменклатуры;
Набор.Отбор.ХарактеристикаНоменклатуры.Использование = Истина;
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Набор);
КонецЦикла;
Показать
Обращу ваше внимание на момент из-за которого у меня не регистрировались изменения в плане обмена:
"если регистр сведений является периодическим и Период включен в основной отбор, то Период также должен участвовать в отборе"
"если регистр сведений является периодическим и Период включен в основной отбор, то Период также должен участвовать в отборе"
Короче выход следующий
НЗ = РегистрыСведений.ВашРегистр.СоздатьНаборЗаписей();
НЗ.Отбор.Измерение_1.Установить(ЗначениеИзмерения_1);
НЗ.Отбор.Измерение_2.Установить(ЗначениеИзмерения_2);
.............
НЗ.Отбор.Измерение_n.Установить(ЗначениеИзмерения_n);
НоваяСтрока = НЗ.Добавить();
НоваяСтрока.Измерение_1 = ЗначениеИзмерения_1;
НоваяСтрока.Измерение_2 = ЗначениеИзмерения_2;
.............
НоваяСтрока.Измерение_n = ЗначениеИзмерения_n;
НоваяСтрока.Ресурс_1 = ЗначениеРесурса_1;
НоваяСтрока.Ресурс_2 = ЗначениеРесурса_2;
НоваяСтрока.Ресурс_n = ЗначениеРесурса_n;
НЗ.Записать();
////////КЛЮЧЕВАЯ СТРОКА//////////////
НЗ.Очистить();
/////////////////////////////////////////////////////////
ПланыОбмена.ЗарегистрироватьИзменения(Узел, НЗ);
Показать
Если ТипЗнч(Источник) = Тип("РегистрСведенийНаборЗаписей.КакойтоРегистрСведений") Тогда
// опционально можно вставить анализ отборов, например, для регистрации определенных свойств в РС ЗначенияСвойствОбъектов
// Если Источник.Отбор[КакоетоИмяотбора].Значение = КакоетоЗначениеОтбора Тогда ...
Для Каждого Узел Из КакиетоУзлыВКоторыхНадоРегистрировать Цикл
Источник.ОбменДанными.Получатели.Добавить(Узел);
КонецЦикла;
Показать
(23)
Нужен.
НаборУзлов (NodeSet)
Добавить (Add)
Синтаксис:
Добавить(<Узел>)
Параметры:
<Узел> (обязательный)
Тип: ПланОбменаСсылка.<Имя плана обмена>.
Ссылка на узел плана обмена, который надо добавить к набору узлов.
Описание:
Добавляет узел к набору узлов. Если узел уже входит в набор, то он не будет добавлен.
Нужен.
НаборУзлов (NodeSet)
Добавить (Add)
Синтаксис:
Добавить(<Узел>)
Параметры:
<Узел> (обязательный)
Тип: ПланОбменаСсылка.<Имя плана обмена>.
Ссылка на узел плана обмена, который надо добавить к набору узлов.
Описание:
Добавляет узел к набору узлов. Если узел уже входит в набор, то он не будет добавлен.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот