Вход | Регистрация
 

Ошибка при удалении записи с регистра сведений

Ошибка при удалении записи с регистра сведений
Я
   lg2marvel
 
18.04.19 - 09:50
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{РегистрСведений.СоответствияОбъектовИнформационныхБаз.МодульНабораЗаписей(32)}: Ошибка при вызове метода контекста (Добавить)
    ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);
по причине:
Недопустимое значение параметра (параметр номер '1')

Открыт через все функции, выбрал ненужную мне запись, нажал удалить. Что за хрень?
 
 
   1Сергей
 
1 - 18.04.19 - 09:51
ну, поставь отбор по узлу, может взлетит. Хотя, навряд ли
   lg2marvel
 
2 - 18.04.19 - 09:51
В принципе не дает даже записать изменения записи - та же ошибка
   lg2marvel
 
3 - 18.04.19 - 09:53
(1) не взлетает
   vdeemer
 
4 - 18.04.19 - 09:56
а в настройках узлов текущий узел указан?
   zehn
 
5 - 18.04.19 - 09:58
(0) Пристально посмотри на значение узла, которое стоит в отборе. Потом также пристально на его состав обмена.
   lg2marvel
 
6 - 18.04.19 - 10:01
(4) Действие происходит в Бухгалтерии указан узел бухгалтерии, ни изменить ни удалить не могу (должен быть указан узел ЗУПа). Записи с узлом ЗУПа удаляются
   zehn
 
7 - 18.04.19 - 10:09
(6) Задайся вопросом, как оно туда попало и сделай то же самое
   lg2marvel
 
8 - 18.04.19 - 10:16
(7) Обработкой записалось. Можно очистить полностью весь набор записей, но не хотелось бы
   zehn
 
9 - 18.04.19 - 10:23
(8) О, значит есть обработка, которая умеет такое. И что же там внутри?
   lg2marvel
 
10 - 18.04.19 - 10:31
(9) там мой косяк, не тот узел был укащан. Хочу исправить ситуацию, но не знаю как

    РС = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьНаборЗаписей();
    Для каждого СтрокаТаблицы из Объект.ТЧПодразделения Цикл
        Если СтрокаТаблицы.Флаг = Истина Тогда
            НоваяЗапись = РС.Добавить();
            Подразделение = Справочники.ПодразделенияОрганизаций.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаТаблицы.УИДЗУП));
Сообщить(Подразделение);
            НоваяЗапись.УникальныйИдентификаторИсточника = Подразделение;
            НоваяЗапись.УникальныйИдентификаторИсточникаСтрокой = СтрокаТаблицы.УИДЗУП; 
            НоваяЗапись.УникальныйИдентификаторПриемника = СтрокаТаблицы.УИДБП;
            НоваяЗапись.ТипПриемника = "СправочникСсылка.ПодразделенияОрганизаций";
            НоваяЗапись.ТипИсточника = "СправочникСсылка.ПодразделенияОрганизаций";
            НоваяЗапись.УзелИнформационнойБазы = ПланыОбмена.ОбменЗарплата3Бухгалтерия3.НайтиПоНаименованию("ООО ""ПУД""");
            НоваяЗапись.ОбъектВыгруженПоСсылке = ЛОЖЬ;
        КонецЕсли;
    КонецЦикла;
    Попытка
        РС.Записать(Ложь);
    Исключение
        Сообщить("неудалось записать в БП набор записей");
    КонецПопытки;
   zehn
 
11 - 18.04.19 - 10:34
(10) Удалять программно с ОбменДанными.Загрузка = Истина
   lg2marvel
 
12 - 18.04.19 - 10:42
(11) понял, спасибо.
   lg2marvel
 
13 - 19.04.19 - 09:22
Добрый день. Возобновлю тему. Подскажите где я не прав? Судя по описанию ОбменДанными.Загрузка = Истина - это атрибут для любого объекта, но при использовании выдает ошибку Поле объекта не обнаружено (ОбменДанными). Я не к тому объекту применил свойство?



    ТаблицаЗаписей = ПолучитьИзВременногоХранилища(АдресТаблицы);
    
    НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Истина);
    ЗаписьРС = РегистрыСведений[ОбъектПоиска.Имя].СоздатьМенеджерЗаписи();
    Для Индекс = 0 По ТаблицаЗаписей.Количество() - 1 Цикл
        Если ЭтаФорма.ОбрабатыватьВТранзакции И ЭтаФорма.КоличествоОбъектовНаТранзакцию > 0 Тогда
            Если Индекс > 0 И Индекс % ЭтаФорма.КоличествоОбъектовНаТранзакцию = 0 Тогда
                НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Ложь);
                НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Истина);
            КонецЕсли; 
        КонецЕсли; 
        СтрокаТаблицы = ТаблицаЗаписей[Индекс];
        ЗаполнитьЗначенияСвойств(ЗаписьРС, СтрокаТаблицы);
        //***+++

        Если РежимЗаписи Тогда
            ЗаписьРС.ОбменДанными.Загрузка = Истина;    
        КонецЕсли;
        //+++***

        ЗаписьРС.Прочитать();
        Если ЗаписьРС.Выбран() Тогда
            ЗаписьРС.Удалить();
        КонецЕсли; 
    КонецЦикла;
    НачатьЗафиксироватьТранзакцию(ЭтаФорма.ОбрабатыватьВТранзакции, Ложь);
   lg2marvel
 
14 - 19.04.19 - 09:31
Также в групповой обработке объектов в произвольном алгоритме пишу:
Объект.ОбменДанными.Загрузка = Истина;
Объект.Удалить();

те же грабли
   1Сергей
 
15 - 19.04.19 - 10:04
(13) Только у набора записей есть это свойство

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.